HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberPanel/lib64/python3.10/site-packages/pycparser/__pycache__/yacctab.cpython-310.pyc
o

��hJ3�@s�dZdZdZidgd�gd�f�dgd�gd�f�d	gd
�gd�f�dgd
�gd�f�dgd
�gd�f�dgd�gd�f�dgd�gd�f�dgd�gd�f�dgd�gd�f�dgd�gd�f�d gd!�gd"�f�d#gd$�gd%�f�d&gd$�gd'�f�d(gd$�gd)�f�d*gd$�gd+�f�d,gd$�gd-�f�d.gd$�gd/�f�id0gd$�gd1�f�d2gd$�gd3�f�d4gd$�gd5�f�d6gd$�gd7�f�d8gd$�gd9�f�d:gd$�gd;�f�d<gd=�gd>�f�d?gd@�gdA�f�dBgd@�gdC�f�dDgd@�gdE�f�dFgdG�gdH�f�dIgdG�gdJ�f�dKgdL�gdM�f�dNgdG�gdO�f�dPgdG�gdQ�f�dRgdG�gdS�f�dTgdG�gdU�f��idVgdG�gdW�f�dXgdY�gdZ�f�d[gd!�gd\�f�d]gd!�gd^�f�d_gd`�gda�f�dbgdc�gdd�f�degdf�gdg�f�dhgdf�gdi�f�djgdf�gdk�f�dlgdf�gdm�f�dngdo�gdp�f�dqgdf�gdr�f�dsgdf�gdt�f�dugdf�gdv�f�dwgdf�gdx�f�dygdf�gdz�f�d{gdf�gd|�f��id}gd~�gd�f�d�gd~�gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f��id�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�gd��gd��f�d�d�gd�gf�d�gd��gd��f�d�gd¢gdâf�d�gdŢgdƢf�d�gdȢgdɢf�d�gdˢgd̢f��id�gd΢gdϢf�d�gdѢgdҢf�d�gdԢgdբf�d�gdעgdآf�d�gdעgdڢf�d�gdעgdܢf�d�gdעgdޢf�d�gdעgd�f�d�gdעgd�f�d�gdעgd�f�d�gdעgd�f�d�gdעgd�f�d�gdעgd�f�d�gdעgd�f�d�gdעgd�f�d�gdעgd�f�d�gdעgd�f��gdעgd�fgd�gd��fgd�gd��fgd�gd��fgd�gd��fgd�gd��fgd�gd��fgd�gd��fgd�gd��fgd�gd��fgd�gd��fd�g�dgf�d��ZiZe��D]%\ZZee�de�d�D]\Z	Z
e	ev�riee	<e
ee	e<�q�q[i�d�dg�dgf��d�dg�dgf��dg�d�g�d	�f��d
�d�dg�d�dgf��d
�d�dg�d�dgf��dg�d�g�d�f��d�d�dg�d�dgf��dg�d�g�d�f��dg�d�g�d�f��dg�d�g�d�f��dg�d�g�d�f��d g�d�g�d!�f��d"g�d#�g�d$�f��d%g�d&�g�d'�f��d(g�d)�g�d*�f��d+g�d,�g�d-�f��d.g�d,�g�d/�f�i�d0g�d1�g�d2�f��d3g�d4�g�d5�f��d6g�d7�g�d8�f��d9g�d:�g�d;�f��d<g�d4�g�d=�f��d>g�d4�g�d?�f��d@g�d4�g�dA�f��dBg�dC�g�dD�f��dEg�d4�g�dF�f��dG�dH�dIg�dJ�dKgf��dL�dH�dIg�dM�dMgf��dN�dO�dPg�dQ�dQgf��dR�dO�dPg�dS�dSgf��dTg�dU�g�dV�f��dWg�dX�g�dY�f��dZg�d[�g�d\�f��d]g�d^�g�d_�f��i�d`g�da�g�db�f��dc�dd�deg�df�dfgf��dg�dd�deg�dh�dhgf��di�dd�deg�dj�djgf��dkg�dl�g�dm�f��dng�do�g�dp�f��dqg�dr�g�ds�f��dtg�du�g�dv�f��dwg�dx�g�dy�f��dzg�d{�g�d|�f��d}g�d~�g�d�f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��i�d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d�g�d��g�d��f��d��d�g�d�gf��d��d�g�d�gf��i�d��d��d�g�d��d�gf��d�g�d��g�d¢f��d�g�d��g�dĢf��d�g�d��g�dƢf��d�g�d��g�dȢf��d�g�d��g�dʢf��d�g�d��g�d̢f��d�g�d΢g�dϢf��d�g�dѢg�dҢf��d�g�dԢg�dբf��d�g�dעg�dآf��d�g�dڢg�dۢf��dܐd�g�d�gf��dߐdݐd�g�d�d�gf��d�dݐd�g�d�d�gf��d�g�d�g�d�f��d�g�d�g�d�f���d�g�d�gf�d�g�d�gf�d�d�g�d�d�gfg�d�g�d�fg�d�g�d��f�d�g�d�gf�d�g�d�gf�d��d�g�d��d�gfg�d��g�d��fg�d��g�d��fg�d��g�d�fg�d�g�d�f�dg�dgfg�d�g�d�f�dg�dgf�d	��ZiZe��D]%\ZZee�de�d�D]\Z	Z
e	ev�r�iee	<e
ee	e<�qؐq�[g�d
�Z
�dS(z3.10�LALRa�Stranslation_unit_or_emptyleftLORleftLANDleftORleftXORleftANDleftEQNEleftGTGELTLEleftRSHIFTLSHIFTleftPLUSMINUSleftTIMESDIVIDEMODAUTO BREAK CASE CHAR CONST CONTINUE DEFAULT DO DOUBLE ELSE ENUM EXTERN FLOAT FOR GOTO IF INLINE INT LONG REGISTER OFFSETOF RESTRICT RETURN SHORT SIGNED SIZEOF STATIC STRUCT SWITCH TYPEDEF UNION UNSIGNED VOID VOLATILE WHILE __INT128 _BOOL _COMPLEX _NORETURN _THREAD_LOCAL _STATIC_ASSERT _ATOMIC _ALIGNOF _ALIGNAS _PRAGMA ID TYPEID INT_CONST_DEC INT_CONST_OCT INT_CONST_HEX INT_CONST_BIN INT_CONST_CHAR FLOAT_CONST HEX_FLOAT_CONST CHAR_CONST WCHAR_CONST U8CHAR_CONST U16CHAR_CONST U32CHAR_CONST STRING_LITERAL WSTRING_LITERAL U8STRING_LITERAL U16STRING_LITERAL U32STRING_LITERAL PLUS MINUS TIMES DIVIDE MOD OR AND NOT XOR LSHIFT RSHIFT LOR LAND LNOT LT LE GT GE EQ NE EQUALS TIMESEQUAL DIVEQUAL MODEQUAL PLUSEQUAL MINUSEQUAL LSHIFTEQUAL RSHIFTEQUAL ANDEQUAL XOREQUAL OREQUAL PLUSPLUS MINUSMINUS ARROW CONDOP LPAREN RPAREN LBRACKET RBRACKET LBRACE RBRACE COMMA PERIOD SEMI COLON ELLIPSIS PPHASH PPPRAGMA PPPRAGMASTRabstract_declarator_opt : empty
| abstract_declaratorassignment_expression_opt : empty
| assignment_expressionblock_item_list_opt : empty
| block_item_listdeclaration_list_opt : empty
| declaration_listdeclaration_specifiers_no_type_opt : empty
| declaration_specifiers_no_typedesignation_opt : empty
| designationexpression_opt : empty
| expressionid_init_declarator_list_opt : empty
| id_init_declarator_listidentifier_list_opt : empty
| identifier_listinit_declarator_list_opt : empty
| init_declarator_listinitializer_list_opt : empty
| initializer_listparameter_type_list_opt : empty
| parameter_type_liststruct_declarator_list_opt : empty
| struct_declarator_listtype_qualifier_list_opt : empty
| type_qualifier_list direct_id_declarator   : ID
         direct_id_declarator   : LPAREN id_declarator RPAREN
         direct_id_declarator   : direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET
         direct_id_declarator   : direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET
                                    | direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET
         direct_id_declarator   : direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET
         direct_id_declarator   : direct_id_declarator LPAREN parameter_type_list RPAREN
                                    | direct_id_declarator LPAREN identifier_list_opt RPAREN
         direct_typeid_declarator   : TYPEID
         direct_typeid_declarator   : LPAREN typeid_declarator RPAREN
         direct_typeid_declarator   : direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET
         direct_typeid_declarator   : direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET
                                    | direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET
         direct_typeid_declarator   : direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET
         direct_typeid_declarator   : direct_typeid_declarator LPAREN parameter_type_list RPAREN
                                    | direct_typeid_declarator LPAREN identifier_list_opt RPAREN
         direct_typeid_noparen_declarator   : TYPEID
         direct_typeid_noparen_declarator   : direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET
         direct_typeid_noparen_declarator   : direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET
                                    | direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET
         direct_typeid_noparen_declarator   : direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET
         direct_typeid_noparen_declarator   : direct_typeid_noparen_declarator LPAREN parameter_type_list RPAREN
                                    | direct_typeid_noparen_declarator LPAREN identifier_list_opt RPAREN
         id_declarator  : direct_id_declarator
         id_declarator  : pointer direct_id_declarator
         typeid_declarator  : direct_typeid_declarator
         typeid_declarator  : pointer direct_typeid_declarator
         typeid_noparen_declarator  : direct_typeid_noparen_declarator
         typeid_noparen_declarator  : pointer direct_typeid_noparen_declarator
         translation_unit_or_empty   : translation_unit
                                        | empty
         translation_unit    : external_declaration
         translation_unit    : translation_unit external_declaration
         external_declaration    : function_definition
         external_declaration    : declaration
         external_declaration    : pp_directive
                                    | pppragma_directive
         external_declaration    : SEMI
         external_declaration    : static_assert
         static_assert           : _STATIC_ASSERT LPAREN constant_expression COMMA unified_string_literal RPAREN
                                    | _STATIC_ASSERT LPAREN constant_expression RPAREN
         pp_directive  : PPHASH
         pppragma_directive      : PPPRAGMA
                                    | PPPRAGMA PPPRAGMASTR
                                    | _PRAGMA LPAREN unified_string_literal RPAREN
         pppragma_directive_list : pppragma_directive
                                    | pppragma_directive_list pppragma_directive
         function_definition : id_declarator declaration_list_opt compound_statement
         function_definition : declaration_specifiers id_declarator declaration_list_opt compound_statement
         statement   : labeled_statement
                        | expression_statement
                        | compound_statement
                        | selection_statement
                        | iteration_statement
                        | jump_statement
                        | pppragma_directive
                        | static_assert
         pragmacomp_or_statement     : pppragma_directive_list statement
                                        | statement
         decl_body : declaration_specifiers init_declarator_list_opt
                      | declaration_specifiers_no_type id_init_declarator_list_opt
         declaration : decl_body SEMI
         declaration_list    : declaration
                                | declaration_list declaration
         declaration_specifiers_no_type  : type_qualifier declaration_specifiers_no_type_opt
         declaration_specifiers_no_type  : storage_class_specifier declaration_specifiers_no_type_opt
         declaration_specifiers_no_type  : function_specifier declaration_specifiers_no_type_opt
         declaration_specifiers_no_type  : atomic_specifier declaration_specifiers_no_type_opt
         declaration_specifiers_no_type  : alignment_specifier declaration_specifiers_no_type_opt
         declaration_specifiers  : declaration_specifiers type_qualifier
         declaration_specifiers  : declaration_specifiers storage_class_specifier
         declaration_specifiers  : declaration_specifiers function_specifier
         declaration_specifiers  : declaration_specifiers type_specifier_no_typeid
         declaration_specifiers  : type_specifier
         declaration_specifiers  : declaration_specifiers_no_type type_specifier
         declaration_specifiers  : declaration_specifiers alignment_specifier
         storage_class_specifier : AUTO
                                    | REGISTER
                                    | STATIC
                                    | EXTERN
                                    | TYPEDEF
                                    | _THREAD_LOCAL
         function_specifier  : INLINE
                                | _NORETURN
         type_specifier_no_typeid  : VOID
                                      | _BOOL
                                      | CHAR
                                      | SHORT
                                      | INT
                                      | LONG
                                      | FLOAT
                                      | DOUBLE
                                      | _COMPLEX
                                      | SIGNED
                                      | UNSIGNED
                                      | __INT128
         type_specifier  : typedef_name
                            | enum_specifier
                            | struct_or_union_specifier
                            | type_specifier_no_typeid
                            | atomic_specifier
         atomic_specifier  : _ATOMIC LPAREN type_name RPAREN
         type_qualifier  : CONST
                            | RESTRICT
                            | VOLATILE
                            | _ATOMIC
         init_declarator_list    : init_declarator
                                    | init_declarator_list COMMA init_declarator
         init_declarator : declarator
                            | declarator EQUALS initializer
         id_init_declarator_list    : id_init_declarator
                                       | id_init_declarator_list COMMA init_declarator
         id_init_declarator : id_declarator
                               | id_declarator EQUALS initializer
         specifier_qualifier_list    : specifier_qualifier_list type_specifier_no_typeid
         specifier_qualifier_list    : specifier_qualifier_list type_qualifier
         specifier_qualifier_list  : type_specifier
         specifier_qualifier_list  : type_qualifier_list type_specifier
         specifier_qualifier_list  : alignment_specifier
         specifier_qualifier_list  : specifier_qualifier_list alignment_specifier
         struct_or_union_specifier   : struct_or_union ID
                                        | struct_or_union TYPEID
         struct_or_union_specifier : struct_or_union brace_open struct_declaration_list brace_close
                                      | struct_or_union brace_open brace_close
         struct_or_union_specifier   : struct_or_union ID brace_open struct_declaration_list brace_close
                                        | struct_or_union ID brace_open brace_close
                                        | struct_or_union TYPEID brace_open struct_declaration_list brace_close
                                        | struct_or_union TYPEID brace_open brace_close
         struct_or_union : STRUCT
                            | UNION
         struct_declaration_list     : struct_declaration
                                        | struct_declaration_list struct_declaration
         struct_declaration : specifier_qualifier_list struct_declarator_list_opt SEMI
         struct_declaration : SEMI
         struct_declaration : pppragma_directive
         struct_declarator_list  : struct_declarator
                                    | struct_declarator_list COMMA struct_declarator
         struct_declarator : declarator
         struct_declarator   : declarator COLON constant_expression
                                | COLON constant_expression
         enum_specifier  : ENUM ID
                            | ENUM TYPEID
         enum_specifier  : ENUM brace_open enumerator_list brace_close
         enum_specifier  : ENUM ID brace_open enumerator_list brace_close
                            | ENUM TYPEID brace_open enumerator_list brace_close
         enumerator_list : enumerator
                            | enumerator_list COMMA
                            | enumerator_list COMMA enumerator
         alignment_specifier  : _ALIGNAS LPAREN type_name RPAREN
                                 | _ALIGNAS LPAREN constant_expression RPAREN
         enumerator  : ID
                        | ID EQUALS constant_expression
         declarator  : id_declarator
                        | typeid_declarator
         pointer : TIMES type_qualifier_list_opt
                    | TIMES type_qualifier_list_opt pointer
         type_qualifier_list : type_qualifier
                                | type_qualifier_list type_qualifier
         parameter_type_list : parameter_list
                                | parameter_list COMMA ELLIPSIS
         parameter_list  : parameter_declaration
                            | parameter_list COMMA parameter_declaration
         parameter_declaration   : declaration_specifiers id_declarator
                                    | declaration_specifiers typeid_noparen_declarator
         parameter_declaration   : declaration_specifiers abstract_declarator_opt
         identifier_list : identifier
                            | identifier_list COMMA identifier
         initializer : assignment_expression
         initializer : brace_open initializer_list_opt brace_close
                        | brace_open initializer_list COMMA brace_close
         initializer_list    : designation_opt initializer
                                | initializer_list COMMA designation_opt initializer
         designation : designator_list EQUALS
         designator_list : designator
                            | designator_list designator
         designator  : LBRACKET constant_expression RBRACKET
                        | PERIOD identifier
         type_name   : specifier_qualifier_list abstract_declarator_opt
         abstract_declarator     : pointer
         abstract_declarator     : pointer direct_abstract_declarator
         abstract_declarator     : direct_abstract_declarator
         direct_abstract_declarator  : LPAREN abstract_declarator RPAREN  direct_abstract_declarator  : direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET
         direct_abstract_declarator  : LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET
         direct_abstract_declarator  : direct_abstract_declarator LBRACKET TIMES RBRACKET
         direct_abstract_declarator  : LBRACKET TIMES RBRACKET
         direct_abstract_declarator  : direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN
         direct_abstract_declarator  : LPAREN parameter_type_list_opt RPAREN
         block_item  : declaration
                        | statement
         block_item_list : block_item
                            | block_item_list block_item
         compound_statement : brace_open block_item_list_opt brace_close  labeled_statement : ID COLON pragmacomp_or_statement  labeled_statement : CASE constant_expression COLON pragmacomp_or_statement  labeled_statement : DEFAULT COLON pragmacomp_or_statement  selection_statement : IF LPAREN expression RPAREN pragmacomp_or_statement  selection_statement : IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statement  selection_statement : SWITCH LPAREN expression RPAREN pragmacomp_or_statement  iteration_statement : WHILE LPAREN expression RPAREN pragmacomp_or_statement  iteration_statement : DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMI  iteration_statement : FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement  iteration_statement : FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement  jump_statement  : GOTO ID SEMI  jump_statement  : BREAK SEMI  jump_statement  : CONTINUE SEMI  jump_statement  : RETURN expression SEMI
                            | RETURN SEMI
         expression_statement : expression_opt SEMI  expression  : assignment_expression
                        | expression COMMA assignment_expression
         assignment_expression : LPAREN compound_statement RPAREN  typedef_name : TYPEID  assignment_expression   : conditional_expression
                                    | unary_expression assignment_operator assignment_expression
         assignment_operator : EQUALS
                                | XOREQUAL
                                | TIMESEQUAL
                                | DIVEQUAL
                                | MODEQUAL
                                | PLUSEQUAL
                                | MINUSEQUAL
                                | LSHIFTEQUAL
                                | RSHIFTEQUAL
                                | ANDEQUAL
                                | OREQUAL
         constant_expression : conditional_expression  conditional_expression  : binary_expression
                                    | binary_expression CONDOP expression COLON conditional_expression
         binary_expression   : cast_expression
                                | binary_expression TIMES binary_expression
                                | binary_expression DIVIDE binary_expression
                                | binary_expression MOD binary_expression
                                | binary_expression PLUS binary_expression
                                | binary_expression MINUS binary_expression
                                | binary_expression RSHIFT binary_expression
                                | binary_expression LSHIFT binary_expression
                                | binary_expression LT binary_expression
                                | binary_expression LE binary_expression
                                | binary_expression GE binary_expression
                                | binary_expression GT binary_expression
                                | binary_expression EQ binary_expression
                                | binary_expression NE binary_expression
                                | binary_expression AND binary_expression
                                | binary_expression OR binary_expression
                                | binary_expression XOR binary_expression
                                | binary_expression LAND binary_expression
                                | binary_expression LOR binary_expression
         cast_expression : unary_expression  cast_expression : LPAREN type_name RPAREN cast_expression  unary_expression    : postfix_expression  unary_expression    : PLUSPLUS unary_expression
                                | MINUSMINUS unary_expression
                                | unary_operator cast_expression
         unary_expression    : SIZEOF unary_expression
                                | SIZEOF LPAREN type_name RPAREN
                                | _ALIGNOF LPAREN type_name RPAREN
         unary_operator  : AND
                            | TIMES
                            | PLUS
                            | MINUS
                            | NOT
                            | LNOT
         postfix_expression  : primary_expression  postfix_expression  : postfix_expression LBRACKET expression RBRACKET  postfix_expression  : postfix_expression LPAREN argument_expression_list RPAREN
                                | postfix_expression LPAREN RPAREN
         postfix_expression  : postfix_expression PERIOD ID
                                | postfix_expression PERIOD TYPEID
                                | postfix_expression ARROW ID
                                | postfix_expression ARROW TYPEID
         postfix_expression  : postfix_expression PLUSPLUS
                                | postfix_expression MINUSMINUS
         postfix_expression  : LPAREN type_name RPAREN brace_open initializer_list brace_close
                                | LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close
         primary_expression  : identifier  primary_expression  : constant  primary_expression  : unified_string_literal
                                | unified_wstring_literal
         primary_expression  : LPAREN expression RPAREN  primary_expression  : OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPAREN
         offsetof_member_designator : identifier
                                         | offsetof_member_designator PERIOD identifier
                                         | offsetof_member_designator LBRACKET expression RBRACKET
         argument_expression_list    : assignment_expression
                                        | argument_expression_list COMMA assignment_expression
         identifier  : ID  constant    : INT_CONST_DEC
                        | INT_CONST_OCT
                        | INT_CONST_HEX
                        | INT_CONST_BIN
                        | INT_CONST_CHAR
         constant    : FLOAT_CONST
                        | HEX_FLOAT_CONST
         constant    : CHAR_CONST
                        | WCHAR_CONST
                        | U8CHAR_CONST
                        | U16CHAR_CONST
                        | U32CHAR_CONST
         unified_string_literal  : STRING_LITERAL
                                    | unified_string_literal STRING_LITERAL
         unified_wstring_literal : WSTRING_LITERAL
                                    | U8STRING_LITERAL
                                    | U16STRING_LITERAL
                                    | U32STRING_LITERAL
                                    | unified_wstring_literal WSTRING_LITERAL
                                    | unified_wstring_literal U8STRING_LITERAL
                                    | unified_wstring_literal U16STRING_LITERAL
                                    | unified_wstring_literal U32STRING_LITERAL
         brace_open  :   LBRACE
         brace_close :   RBRACE
        empty : z$end)����������	�
���@�Z�[�������c��)���ri���i����������������������������������������������������������#�������SEMI(0rrrrrr	r
rr��
r
r������������ �!�"�#�&�'�(�)�*�+�,�-�.�/�0�1�2�3�4�5�6�7�8�9�:�;�<r�E�F�G�H�I�J�K�L�M�N�O�Q�S�T�U�V�W�X�Yrr�a�b�c�d�e�f�g�h�i�j�k�l�n�o�p�u�v�w�y�z�{�|r������������������������������������������r��������������������������������������������������r����r�r�#�$�%�'�(�)�,�-�.�/�7�8�F�G�J�M�N�O�P�Q�R�S�T�U�V�W�X�Y�Z�\�]�a�br�d�e�f�h�i�q�r�s�t�u�v�w�x�y������������������������������������������������������������������������r�������
���
���������(�)�*�+�,�.�1�3�:�;�>�C�D�F�H�I�J(0rrrrrrrrr rrr!r"����rrr������rr������������������������������������������������������������z����}����|����{������������������������r#rrrQr_�K������������������i����r_i��i���y����w����J�����������r$r%�������������r���������i����rQi�i��u����s����������W����V�������k����j���r�r&rrj������������������������������������������������������������������������������������������������������r�r�r��h����a���r'r�^����]����o����m�����r�%����'����&���������������������������r�r���rr�r�r���������r�r(�����x����v����<���r)���r*�����������������������������������������t����r����U���r��f���r��d����i����`���r�q����p����l���i��i���\����Z����n����~����O����N���r+�$���r�rr����r������rr��������r ���������������������������������������������������������������������������������������������T����S����g����e����_����X����"���r� �����������������r2r���������
����;��������������r,����������������������[����Y����!���rrrr�/�:������������������r�r����������<��������rrD������������rr���������PPHASH)rrrrrr	r
rrr
rrrrrrrrrrr)r
r
rrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,�PPPRAGMA)Prrrrrr	r
rrr
rrrrr{r~rrr�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�r�r�rr�r�r�r�r�r�r�r�r�r�rrrrrrrr rr.r/r0r1r8r9r:r;r<r@rCrDrErFrGrH)Prrrrrrrrr r!r"r#r$r%r�rr&rrrrr�r'r�r�rr�r�r�r�r�r�r�r�r�r�r�rr(r)r*rrr�r+r�rrr�rr�r�r�r�r�rrrrrrrr	r,rrrrrr�r�rrrr$r%rrr&r'�_PRAGMA)P�r+rrrrrrr r!r"r#r$r%r�r+r&r+r+r+r+r�r'r�r�r+r�r�r�r�r�r�r�r�r�r�r�r+r(r)r*r+r+r�r+r�r+r+r�r+r�r�r�r�r�rrr+rrrrr	r,rr+r+r+rr�r�rrr+r$r%r+r+r&r'�_STATIC_ASSERT)Errrrrr	r
rrr
rrrrr{rrrr�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�r�r�r�r�r�r�r�r�r�rrrrrrr rr.r/r0r1r8r9r:r;r<r@rCrDrErFrGrH)E�r-rrrrrrr r!r"r#r$r%r�r&r-r'r-r�r�r�r�r�r�r�r�r�r�r�r-r(r)r*r+r�r-r-r�r-r�r�r�r�r�rr-rrrrr	r,rr-r-r-rr�r�rrr-r$r%r-r-r&r'�ID($rrrrrr	r
rrr.r
r��r1r2r3r4r5r6r7r9�r:r;r<r=r>�$�%r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrU�>�?rrVrWrXrYr[r\r]r^r_�Pra�Rrr�^�_�`rjrkrlrmrnrorprrrw�q�r�s�trxryrz�xr{r|r}�~rr�������������������������������r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�����r���r�r����rr��
������������������� �!�"�&�*�2�5�6�:�>�B�Cr��K�Lr�r�r�r�r�r��[r�r�r�r�rr�r�r�r��j�m�n�or�r�r�r�r�r�r��z�{�|�}�~������������������������rrrr����rrr��rrrrr ������r��������r.r/r0r1�r2���� �!r8r9r:r;r<r�2�4�5r@r rCrDrErFrGrH($r8r8rrrrrrr r8r!r"r8r8rrrrJrKr8rrMrrNrOrPrQrRryr|rSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhri�c����b���r#r8r8rQr_rkrlrmrnror8r_r8r$r%r�rr�rvrwrxrryrzr{rQr~�I����������G���rr�r���r�r�r�r�r&r�r8r�rr�r��������������r�r�r�r���������r�rr�r8r8r��H����F���r�r�r�r'r8r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r(rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
rr�r�r�r�r�r�r8r8rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r����������
����	����������������������������������r���r�r�r�r�r�r�rr�r8r�r�r�r�r�r�r8r�rr�rr�rrr�rr	r�7���rr,r�r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r�r$r%r�r�r&r'�LPAREN(qrrrrrr	r
rrr.r
rr+r/r-r0r0r1r2r3r4r5r6r7r8r9r1r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrU�=rrVrWrXrYr[r\r]r^r_r6rar7rgrhrrr8r9rirjrkrlrmrnrorprr�mrwr;r<r=r>rxryrzr{r|r}r@rrr�rArBrCr�r�rEr�rFrGrHrIr�rJrKrLrM�r�r�rNrOr�r�r��r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rPrQrRrSrTrUrVrWr�rr�r�r���r�r�r�r�r�r�r�r�r�r�r�r�r�rZ��r[����r���r�rr�r]r^r_r`rr�rrarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrur�r�rxryr�r�r�r�rzr{r|r�r�r~�?rr��D�Er�r�r�r�r�r�r�r�r�r�r��_�`r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	r
rrr
rr��r�r�r�r�rrrrr�r�rrrr���rrrrr r�r�r#r$r�rr�r&r'r�r*r+r�r�r����r�r.r/r0r1r�r2r�r�r5r6r�r�r��"�#�$�%�&�'r8r9r:r;r<rr>r�r?r��6�7r@r rB�A�BrCrDrErFrGrH(qr/r/rrrrrrr r7r!r"�\r/r8r:r/rrrrJrKr/rrLrMrrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^�}r`rarbrcrdrerfrgrhrir@r#r7r/rQr�rkrlrmrnror7r_r7rDrtr$r%rErr:rvrwrxrryrzr{rQr�r~r�r�r�r�rr�r�r�r�r�rEr&r[rDr7r[rr�r�r[r�r�r�r�r�rurxrxrEry�+r�r�r�r�r�r�r��0r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r[rr�rr7r[r�r�r�r'r7r�r�r�r[r�r�r�r�r�r�r�r�r�r�r�r�rEr�r[r�r�r[r�r[r(r�rr[rr�r)r�r*r[rErErErErErErErErErErErErErErErErErEr[r[r�r�r[r[r�r�r�r�r�r[r[r�r�rr�rr������r�rEr�r�r�r�r�r�rEr�r�r�r�r�r�r+r�r[r[r�r[r[r[r[r[r�r�r[r�r�r�r[r�r�r�r�r�r�r�r�r�r�r�r�r[r�rEr�r[r[r�r�rEr�r�r�r�r�r�r�r�r�r�rrr[r[r�r�r�r�r7rErr[rrEr�rrr[rr	rr�rr
rr,rErrr[rrr[rr��.����(����*���r�rr[r[r[r[r[r[r�rrr�r[r[���������,����-����+����)���rr�r�rrr[r!rr"r[��������r[r[r#��������r$r%r[r[r&r'�TIMES(Wrrrrrr	r
rrr.r
rr/r1r2r3r4r5r6r7r9r1r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrrVrWrXrYr[r\r]r^r_rar7rrr8r9rjrkrlrmrnrorprrrwr;r<r=r>rxryrzr{r|r}r@rrrArBrCr�rEr�r�r�rFrGrHrIr�r�rJrKrLrMr�r�rNrOr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rPrQrRrSrTrUrWr�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rZr[r�r�r�rr]r^r_r`rr�rrarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrur�r�r�rxr�r�r�ryr�r�r�r�rzr{r|rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr	r
rrr
r�r�r�rrrrr�r�rrrr�rrrrr r�r�r%r�rr�r&r'r�r(r)r�r�r�r�r.r/r0r1r�r2r�r�r�r�r�r8r9r:r;r<rr>r�r?r�r@r rBrCrDrErFrGrH(Wr1r1rrrrrrr r1r!r"r1rrrrJrKr1rrMrrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#r1r1rQr_rkrlrmrnror_r1r$r%rFrrvrwrxrryrzr{rQr~r1r�r�r�rr�r�r�r�r�rFr&rFr1rFrr�rFr�rbr�r�r�r�r�r�r�rFrFrFrFr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rzrr�r1r1rFr�r�r'r1r�r�r1rFr�r�r�r�r�r�r�r�r�r�r�r�rFrFrFrFr�r(rr�rr�r)r�r*rFrFrFrFrFrFrFrFrFrFrFrFrFrFrFrFrFrFrFrFrFr�r�r�rFr�r�r�rFr�r�r�r�r�rFrFr1��r�rFr�r�r�r�r�r�rFr�r�r1r�r�r+r�rFrFr�rFrFrFrFrFr�r�rFr�r�r�rFr�r�r�r�r�r�r�r�r�r�r�r�rFr�rFr�rFrFrFr�r�r�r�rbrbrbrbrbrbrbrbrbrbrbrbrbrbrbr�r�r�r�r�rrFr�r�r�r�r�r1rFrrFrrFrrrFrr	rr�rrr,rFrrrFrrr�rr�r�rrFrFrFrFrFrFr�r�rFrFrr�r�rrrFr!rr"rFrFrFr#r$r%rFrFr&r'�TYPEID)�rrrrrr	r
rr�r.r
rr0r1r2r3r4r5r6r7r8r9r1r:r;r<r=r>r2r3r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUr4r5r�C�DrVrWrXrYrZr[r\r]r^r_r6rar7rrr:rirjrkrlrmrnrorprrrwr;r<r=r>rxryrzr{r|r}r~r�r@rr�rArDr�rErS�rTrVrWr�r�r�r�r�rr�r�r�r���r�r�r�r�r�r�r�r�r�r�r�r�r�r[rrrrvrwrxryr�r�r�r��9r~rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�rrr�r�rrrrrr�rrrrrr rr*r+r.r8r9r:r;r<rCrDrGrH)�r>r>rrrrrrr r>rhr!r"rIrrrrJrKr>rrLrMrrNrOrPrQrRrzr}rSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir�r�r#r>���rhr>rQr_r>rkrlrmrnrorhr_rhr$r%r>rurvrwrxrryrzr{rQr~r�r�r�r�rr�r�r�r�r�r>r>r>r&r>���rhr>r�r>r�r>rhr�r�r>r>r>r�r�r'rhr�r�r�r>r�r>r�r�r�r�r�r�r�r�r�r�r�r>r(r)r*rr
r>r>r>r>r�r�r>r�r>r�r>r�r>r�r�r�r�r�r�r�r�r>r�r�r+r�r�r�r�r>r�r�r�r�r�r>r>r�r�r�r�rrhrrrr�rr	r,rrrrr�r�rrr$r%r&r'�ENUM)�rrrrrr	r
rrr
r
rr0r1r2r3r6r7r8r9r=rKrLrMrNrOrPrQrRrSrTrUrrrrWrXrYrZrrr:rirjrkrlrmrnrorwr>rxr{r~r�r@rrr
rDr�rErrWr�r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�r�r�r[rrrrxryr�r�r�r�rrr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�rrr�r�rrrrrrr rr*r+r.r8r9r:r;r<rCrDrGrH)�r2r2rrrrrrr r2r!r"rIrrrr2rrLrMrr_r`rarbrcrdrerfrgrhrir#r2rr2rr_r2r$r%r2rurvrwrxrryrzr~r�rr�r2r2r2r&r2rr2r�r2r2r�r2r2r2r�r'r�r�r2r2r�r�r�r�r�r�r�r�r�r�r�r2r(r)r*r2r2r2r2r�r�r2r2r2r2r�r�r2r�r�r+r�r�r�r�r2r�r�r�r�r�r2r2rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�VOID)�rrrrrr	r
rrr
r.r
rr0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrrrrVrWrXrYrZr[r\r]r^r_rarrr:rirjrkrlrmrnrorprrrwr>rxryrzr{r|r}r~r�r@rrr
rDr�rErSrrWr�r�r�r�r�rr�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r[rrrrxryr�r�r�r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�rrr�r�rrrrrrrrrrr rr*r+r.r8r9r:r;r<rCrDrGrH)�r?r?rrrrrrr r?r?r!r"rIrrrrJrKr?rrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#r?rr?r?rQr_r?rkrlrmrnror_r$r%r?rurvrwrxrryrzr{rQr~r�rr�r�r�r�r�r?r?r?r&r?rr?r�r?r?r?r�r?r?r?r�r�r'r?r�r�r�r?r�r?r?r�r�r�r�r�r�r�r�r�r�r�r?r(r)r*r?r?r?r?r�r�r?r?r�r?r�r?r�r�r�r�r�r�r�r�r?r�r�r+r�r�r�r�r?r�r�r�r�r�r?r?r�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�_BOOL)�r@r@rrrrrrr r@r@r!r"rIrrrrJrKr@rrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#r@rr@r@rQr_r@rkrlrmrnror_r$r%r@rurvrwrxrryrzr{rQr~r�rr�r�r�r�r�r@r@r@r&r@rr@r�r@r@r@r�r@r@r@r�r�r'r@r�r�r�r@r�r@r@r�r�r�r�r�r�r�r�r�r�r�r@r(r)r*r@r@r@r@r�r�r@r@r�r@r�r@r�r�r�r�r�r�r�r�r@r�r�r+r�r�r�r�r@r�r�r�r�r�r@r@r�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�CHAR)�rArArrrrrrr rArAr!r"rIrrrrJrKrArrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rArrArArQr_rArkrlrmrnror_r$r%rArurvrwrxrryrzr{rQr~r�rr�r�r�r�r�rArArAr&rArrAr�rArArAr�rArArAr�r�r'rAr�r�r�rAr�rArAr�r�r�r�r�r�r�r�r�r�r�rAr(r)r*rArArArAr�r�rArAr�rAr�rAr�r�r�r�r�r�r�r�rAr�r�r+r�r�r�r�rAr�r�r�r�r�rArAr�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�SHORT)�rBrBrrrrrrr rBrBr!r"rIrrrrJrKrBrrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rBrrBrBrQr_rBrkrlrmrnror_r$r%rBrurvrwrxrryrzr{rQr~r�rr�r�r�r�r�rBrBrBr&rBrrBr�rBrBrBr�rBrBrBr�r�r'rBr�r�r�rBr�rBrBr�r�r�r�r�r�r�r�r�r�r�rBr(r)r*rBrBrBrBr�r�rBrBr�rBr�rBr�r�r�r�r�r�r�r�rBr�r�r+r�r�r�r�rBr�r�r�r�r�rBrBr�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�INT)�rCrCrrrrrrr rCrCr!r"rIrrrrJrKrCrrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rCrrCrCrQr_rCrkrlrmrnror_r$r%rCrurvrwrxrryrzr{rQr~r�rr�r�r�r�r�rCrCrCr&rCrrCr�rCrCrCr�rCrCrCr�r�r'rCr�r�r�rCr�rCrCr�r�r�r�r�r�r�r�r�r�r�rCr(r)r*rCrCrCrCr�r�rCrCr�rCr�rCr�r�r�r�r�r�r�r�rCr�r�r+r�r�r�r�rCr�r�r�r�r�rCrCr�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�LONG)�rDrDrrrrrrr rDrDr!r"rIrrrrJrKrDrrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rDrrDrDrQr_rDrkrlrmrnror_r$r%rDrurvrwrxrryrzr{rQr~r�rr�r�r�r�r�rDrDrDr&rDrrDr�rDrDrDr�rDrDrDr�r�r'rDr�r�r�rDr�rDrDr�r�r�r�r�r�r�r�r�r�r�rDr(r)r*rDrDrDrDr�r�rDrDr�rDr�rDr�r�r�r�r�r�r�r�rDr�r�r+r�r�r�r�rDr�r�r�r�r�rDrDr�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�FLOAT)�rErErrrrrrr rErEr!r"rIrrrrJrKrErrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rErrErErQr_rErkrlrmrnror_r$r%rErurvrwrxrryrzr{rQr~r�rr�r�r�r�r�rErErEr&rErrEr�rErErEr�rErErEr�r�r'rEr�r�r�rEr�rErEr�r�r�r�r�r�r�r�r�r�r�rEr(r)r*rErErErEr�r�rErEr�rEr�rEr�r�r�r�r�r�r�r�rEr�r�r+r�r�r�r�rEr�r�r�r�r�rErEr�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�DOUBLE)�rFrFrrrrrrr rFrFr!r"rIrrrrJrKrFrrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rFrrFrFrQr_rFrkrlrmrnror_r$r%rFrurvrwrxrryrzr{rQr~r�rr�r�r�r�r�rFrFrFr&rFrrFr�rFrFrFr�rFrFrFr�r�r'rFr�r�r�rFr�rFrFr�r�r�r�r�r�r�r�r�r�r�rFr(r)r*rFrFrFrFr�r�rFrFr�rFr�rFr�r�r�r�r�r�r�r�rFr�r�r+r�r�r�r�rFr�r�r�r�r�rFrFr�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�_COMPLEX)�rGrGrrrrrrr rGrGr!r"rIrrrrJrKrGrrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rGrrGrGrQr_rGrkrlrmrnror_r$r%rGrurvrwrxrryrzr{rQr~r�rr�r�r�r�r�rGrGrGr&rGrrGr�rGrGrGr�rGrGrGr�r�r'rGr�r�r�rGr�rGrGr�r�r�r�r�r�r�r�r�r�r�rGr(r)r*rGrGrGrGr�r�rGrGr�rGr�rGr�r�r�r�r�r�r�r�rGr�r�r+r�r�r�r�rGr�r�r�r�r�rGrGr�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�SIGNED)�rHrHrrrrrrr rHrHr!r"rIrrrrJrKrHrrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rHrrHrHrQr_rHrkrlrmrnror_r$r%rHrurvrwrxrryrzr{rQr~r�rr�r�r�r�r�rHrHrHr&rHrrHr�rHrHrHr�rHrHrHr�r�r'rHr�r�r�rHr�rHrHr�r�r�r�r�r�r�r�r�r�r�rHr(r)r*rHrHrHrHr�r�rHrHr�rHr�rHr�r�r�r�r�r�r�r�rHr�r�r+r�r�r�r�rHr�r�r�r�r�rHrHr�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�UNSIGNED)�rIrIrrrrrrr rIrIr!r"rIrrrrJrKrIrrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rIrrIrIrQr_rIrkrlrmrnror_r$r%rIrurvrwrxrryrzr{rQr~r�rr�r�r�r�r�rIrIrIr&rIrrIr�rIrIrIr�rIrIrIr�r�r'rIr�r�r�rIr�rIrIr�r�r�r�r�r�r�r�r�r�r�rIr(r)r*rIrIrIrIr�r�rIrIr�rIr�rIr�r�r�r�r�r�r�r�rIr�r�r+r�r�r�r�rIr�r�r�r�r�rIrIr�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�__INT128)�rJrJrrrrrrr rJrJr!r"rIrrrrJrKrJrrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rJrrJrJrQr_rJrkrlrmrnror_r$r%rJrurvrwrxrryrzr{rQr~r�rr�r�r�r�r�rJrJrJr&rJrrJr�rJrJrJr�rJrJrJr�r�r'rJr�r�r�rJr�rJrJr�r�r�r�r�r�r�r�r�r�r�rJr(r)r*rJrJrJrJr�r�rJrJr�rJr�rJr�r�r�r�r�r�r�r�rJr�r�r+r�r�r�r�rJr�r�r�r�r�rJrJr�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�_ATOMIC)�rrrrrr	r
rrr
r.r
rr0r1r2r3r4r5r6r7r8r9r1r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrrrrVrWrXrYrZr[r\r]r^r_rarrr9r:rirjrkrlrmrnrorprrrwr=r>rxryrzr{r|r}r~r�r@rrr
rCrDr�rErQrRrSrrWr�r�r�r�r�rr�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r[rr_r`rrrxryr�r�r�r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�rrr�r�r�rrrrrrrrrrr rr*r+r�r�r.r8r9r:r;r<rCrDrGrH)�rKrKrrrrrrr rYrar!r"rIrYrYrYrJrKr�rYrLrMrarNrOrPrYrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rYrrar�rYr_rYrkrlrmrnror_r$r%rarKrurvrwrxrYryrzr{rQr~rar�rr�r�r�r�r�rKrKrKr&rYrrarKr�rKrararar�r�rKrKrKr�r�r'rar�r�r�rYr�rarYr�r�r�r�r�r�r�r�r�r�r�rKr(rarar)r*rKrKrKrKr�r�rKrKrar�rKr�rKr�r�r�r�r�r�r�r�rKr�r�r+r�r�r�r�rYr�r�r�r�r�rarKrKr�r�r�r�rrrrr�rr	r,rrrararrr�r�rrr$r%r&r'�CONST)�rrrrrr	r
rrr
r.r
rr0r1r2r3r4r5r7r8r9r1r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrrrrVrXrYrZr[r\r]r^r_rarrr9r:rirmrprrr=r>ryrzr{r|r}r~r�r@rrr
rCrDr�rErQrRrSrWr�r�r�r�r�rr�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r[rr_r`rrrxryr�r�r�r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�rrr�r�r�rrrrrrrrrrr rr*r+r�r�r.r8r9r:r;r<rCrDrGrH)�rLrLrrrrrrr rLrLr!r"rIrLrLrLrJrKrLrLrMrLrNrOrPrLrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rLrrLrLr_rLrkrlrmrnror_r$r%rLrLrurLr{rQrLr�r�r�r�r�r�rLrLrLr&rLrrLrLr�rLrLrLrLr�rLrLrLr�r�r'rLr�r�r�rLr�rLrLr�r�r�r�r�r�r�r�r�r�r�rLr(rLrLr)r*rLrLrLrLr�r�rLrLrLr�rLr�rLr�r�r�r�r�r�r�r�rLr�r�r+r�r�r�r�rLr�r�r�r�r�rLrLrLr�r�r�r�rrrrr�rr	r,rrrLrLrrr�r�rrr$r%r&r'�RESTRICT)�rMrMrrrrrrr rMrMr!r"rIrMrMrMrJrKrMrLrMrMrNrOrPrMrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rMrrMrMr_rMrkrlrmrnror_r$r%rMrMrurMr{rQrMr�r�r�r�r�r�rMrMrMr&rMrrMrMr�rMrMrMrMr�rMrMrMr�r�r'rMr�r�r�rMr�rMrMr�r�r�r�r�r�r�r�r�r�r�rMr(rMrMr)r*rMrMrMrMr�r�rMrMrMr�rMr�rMr�r�r�r�r�r�r�r�rMr�r�r+r�r�r�r�rMr�r�r�r�r�rMrMrMr�r�r�r�rrrrr�rr	r,rrrMrMrrr�r�rrr$r%r&r'�VOLATILE)�rNrNrrrrrrr rNrNr!r"rIrNrNrNrJrKrNrLrMrNrNrOrPrNrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rNrrNrNr_rNrkrlrmrnror_r$r%rNrNrurNr{rQrNr�r�r�r�r�r�rNrNrNr&rNrrNrNr�rNrNrNrNr�rNrNrNr�r�r'rNr�r�r�rNr�rNrNr�r�r�r�r�r�r�r�r�r�r�rNr(rNrNr)r*rNrNrNrNr�r�rNrNrNr�rNr�rNr�r�r�r�r�r�r�r�rNr�r�r+r�r�r�r�rNr�r�r�r�r�rNrNrNr�r�r�r�rrrrr�rr	r,rrrNrNrrr�r�rrr$r%r&r'�AUTO)�rrrrrr	r
rrr
r.r
rr0r1r2r3r4r5r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrrrrVrXrYrZr[r\r]r^r_rarrr:rirmrprrryrzr{r|r}rrr
rDr�rSr�rr�r�r�r�r�r�r�r�r�r�r�r�rrrr�r�rrr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�rrr�r�rrrrrrrrrr rr*r+r.r8r9r:r;r<rCrDrGrH)�rOrOrrrrrrr rOrOr!r"rIrOrOrOrJrKrOrLrMrNrOrPrOrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rOrrOrOr_rOrkrlrmrnror_r$r%rOrurOr{rQr�r�r�r�r�r&rOrrOr�rOr�r'rOr�r�r�r�r�r�r�r�r�r�r�r(r)r*r�r�rOrOr�r�r�r�r�rOr�r�r+r�r�r�r�rOr�r�r�r�r�rOrOr�r�r�r�rrrr�rr	r,rrrrr�r�rrr$r%r&r'�REGISTER)�rPrPrrrrrrr rPrPr!r"rIrPrPrPrJrKrPrLrMrNrOrPrPrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rPrrPrPr_rPrkrlrmrnror_r$r%rPrurPr{rQr�r�r�r�r�r&rPrrPr�rPr�r'rPr�r�r�r�r�r�r�r�r�r�r�r(r)r*r�r�rPrPr�r�r�r�r�rPr�r�r+r�r�r�r�rPr�r�r�r�r�rPrPr�r�r�r�rrrr�rr	r,rrrrr�r�rrr$r%r&r'�STATIC)�rrrrrr	r
rrr
r.r
rr0r1r2r3r4r5r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrrrrVrXrYrZr[r\r]r^r_rarrr9r:rirmrprrr>ryrzr{r|r}rrr
rCrDr�rRrSrWr�rr�r�r�r�r�r�r�r�r�r�r�r�rr`rrr�r�rrr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�rrr�r�r�rrrrrrrrrr rr*r+r�r.r8r9r:r;r<rCrDrGrH)�r9r9rrrrrrr r9r9r!r"rIr9r9r9rJrKr9rLrMrNrOrPr9rRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#r9rr9r9r_r9rkrlrmrnror_r$r%rQr9rur9r{rQr�r�r�r�r�r�r&r9rr_r9r�r|r9r�r�r'r9r�r�r�r�r�r�r�r�r�r�r�r(r�r)r*r�r�r9r9r�r�r�r�r�r9r�r�r+r�r�r�r�r9r�r�r�r�r�r�r9r9r�r�r�r�rrrr�rr	r,rrr�rrr�r�rrr$r%r&r'�EXTERN)�rQrQrrrrrrr rQrQr!r"rIrQrQrQrJrKrQrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rQrrQrQr_rQrkrlrmrnror_r$r%rQrurQr{rQr�r�r�r�r�r&rQrrQr�rQr�r'rQr�r�r�r�r�r�r�r�r�r�r�r(r)r*r�r�rQrQr�r�r�r�r�rQr�r�r+r�r�r�r�rQr�r�r�r�r�rQrQr�r�r�r�rrrr�rr	r,rrrrr�r�rrr$r%r&r'�TYPEDEF)�rRrRrrrrrrr rRrRr!r"rIrRrRrRrJrKrRrLrMrNrOrPrRrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rRrrRrRr_rRrkrlrmrnror_r$r%rRrurRr{rQr�r�r�r�r�r&rRrrRr�rRr�r'rRr�r�r�r�r�r�r�r�r�r�r�r(r)r*r�r�rRrRr�r�r�r�r�rRr�r�r+r�r�r�r�rRr�r�r�r�r�rRrRr�r�r�r�rrrr�rr	r,rrrrr�r�rrr$r%r&r'�
_THREAD_LOCAL)�rSrSrrrrrrr rSrSr!r"rIrSrSrSrJrKrSrLrMrNrOrPrSrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rSrrSrSr_rSrkrlrmrnror_r$r%rSrurSr{rQr�r�r�r�r�r&rSrrSr�rSr�r'rSr�r�r�r�r�r�r�r�r�r�r�r(r)r*r�r�rSrSr�r�r�r�r�rSr�r�r+r�r�r�r�rSr�r�r�r�r�rSrSr�r�r�r�rrrr�rr	r,rrrrr�r�rrr$r%r&r'�INLINE)�rTrTrrrrrrr rTrTr!r"rIrTrTrTrJrKrTrLrMrNrOrPrTrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rTrrTrTr_rTrkrlrmrnror_r$r%rTrurTr{rQr�r�r�r�r�r&rTrrTr�rTr�r'rTr�r�r�r�r�r�r�r�r�r�r�r(r)r*r�r�rTrTr�r�r�r�r�rTr�r�r+r�r�r�r�rTr�r�r�r�r�rTrTr�r�r�r�rrrr�rr	r,rrrrr�r�rrr$r%r&r'�	_NORETURN)�rUrUrrrrrrr rUrUr!r"rIrUrUrUrJrKrUrLrMrNrOrPrUrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#rUrrUrUr_rUrkrlrmrnror_r$r%rUrurUr{rQr�r�r�r�r�r&rUrrUr�rUr�r'rUr�r�r�r�r�r�r�r�r�r�r�r(r)r*r�r�rUrUr�r�r�r�r�rUr�r�r+r�r�r�r�rUr�r�r�r�r�rUrUr�r�r�r�rrrr�rr	r,rrrrr�r�rrr$r%r&r'�_ALIGNAS)�rrrrrr	r
rrr
r.r
rr0r1r2r3r4r5r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrrrrVrXrYrZr[r\r]r^r_rarrr:rirmrprrryrzr{r|r}r~r�r@rrr
rDr�rErSr�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r[rrrrxryr�r�r�r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�rrr�r�rrrrrrrrrrr rr*r+r.r8r9r:r;r<rCrDrGrH)�r�r�rrrrrrr r�r�r!r"rIr�r�r�rJrKr�rLrMrNrOrPr�rRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrir#r�rr�r�r_r�rkrlrmrnror_r$r%r�rur�r{rQr�r�r�r�r�r�r�r�r&r�rr�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r(r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�STRUCT)�r4r4rrrrrrr r4r!r"rIrrrr4rrLrMrr_r`rarbrcrdrerfrgrhrir#r4rr4rr_r4r$r%r4rurvrwrxrryrzr~r�rr�r4r4r4r&r4rr4r�r4r4r�r4r4r4r�r'r�r�r4r4r�r�r�r�r�r�r�r�r�r�r�r4r(r)r*r4r4r4r4r�r�r4r4r4r4r�r�r4r�r�r+r�r�r�r�r4r�r�r�r�r�r4r4rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�UNION)�r5r5rrrrrrr r5r!r"rIrrrr5rrLrMrr_r`rarbrcrdrerfrgrhrir#r5rr5rr_r5r$r%r5rurvrwrxrryrzr~r�rr�r5r5r5r&r5rr5r�r5r5r�r5r5r5r�r'r�r�r5r5r�r�r�r�r�r�r�r�r�r�r�r5r(r)r*r5r5r5r5r�r�r5r5r5r5r�r�r5r�r�r+r�r�r�r�r5r�r�r�r�r�r5r5rrrrr�rr	r,rrrrr�r�rrr$r%r&r'�LBRACE)cr
rr0r8r2r3r4r5�A�BrrrZrrriryrzr{r|r}rr
�rBr�rUrr�r�r�r�r�r�r�r�r�r�r�r�r[r�r]rrr�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr�rrrr r�r�r�r�r(r*r+r.r/r0r1r�r�r8r9r:r;r<r�r@rCrDrErFrGrH)crr"rIrLr{r{r�r�r{i����i����rrr$r%rur{r{r�r{r{r{rr{r{r�r{r'r{r�r�r�r�r�r�r�r�r�r�r�r{r{rr)r*r�r�r+r�r{r{r�r{r�r�r�r�r�r�r{r�r{r�r�rr{rr{rrrr	rr�rr,r{r{rrrr{r{r{r{r�rr�r�rrrr{r$r%r{r{r&r'�RBRACE)�rrrr{r~rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�����r�r�r�r�r�rr�r���r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r]rr�rr�r�r�r�r�r�r�r�r�r��H�Ir�r�r�r�rr�r�r�r�r�r�r���r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr	r
rrr
����rrrrrrrr r!r"r���r%rr&r'r(r)r.r4�r7r8r9r:r;r<�0r>r�r?rBrCrDrGrH)�r"r$r%r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�R����M���rrrr�r'r�r�r���i����r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr)r�r*r�r�r�r�r�r�r�r�r�r�rr�Q���rrr�r+r�r�r�r�r�r�r�ri��i��r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��P����L���rrrrrr�rr	r
rr�9���rr,rrrrrrrrrr�r�rr�8���r!rr"r#r$r%r&r'�CASE)8rrrr{rrr�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�r�r�r�r�r�r�r�r�r�rrrrrrr rr.r/r0r1r8r9r:r;r<r@rCrDrErFrGrH)8r"r$r%r�rZr'rZr�r�r�r�r�r�r�r�r�r�r�rZr)r*r+r�rZrZr�rZr�r�r�r�r�rrZrrrrr	r,rrZrZrZrr�r�rrrZr$r%rZrZr&r'�DEFAULT)8r"r$r%r���r'rKr�r�r�r�r�r�r�r�r�r�r�rKr)r*r+r�rKrKr�rKr�r�r�r�r�rrKrrrrr	r,rrKrKrKrr�r�rrrKr$r%rKrKr&r'�IF)8r"r$r%r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r)r*r+r�r�r�r�r�r�r�r�r�r�rr�rrrrr	r,rr�r�r�rr�r�rrr�r$r%r�r�r&r'�SWITCH)8r"r$r%r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r)r*r+r�r�r�r�r�r�r�r�r�r�rr�rrrrr	r,rr�r�r�rr�r�rrr�r$r%r�r�r&r'�WHILE)9rrrr{rrr�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�r�r�r��pr�r�r�r�r�r�rrrrrrr rr.r/r0r1r8r9r:r;r<r@rCrDrErFrGrH)9r"r$r%r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r)r*r+r�r�r�r�r�r�r�r�r�r�r�rr�rrrrr	r,rr�r�r�rr�r�rrr�r$r%r�r�r&r'�DO)8r"r$r%r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r)r*r+r�r�r�r�r�r�r�r�r�r�rr�rrrrr	r,rr�r�r�rr�r�rrr�r$r%r�r�r&r'�FOR)8r"r$r%r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r)r*r+r�r�r�r�r�r�r�r�r�r�rr�rrrrr	r,rr�r�r�rr�r�rrr�r$r%r�r�r&r'�GOTO)8r"r$r%r�r\r'r\r�r�r�r�r�r�r�r�r�r�r�r\r)r*r+r�r\r\r�r\r�r�r�r�r�rr\rrrrr	r,rr\r\r\rr�r�rrr\r$r%r\r\r&r'�BREAK)8r"r$r%r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r)r*r+r�r�r�r�r�r�r�r�r�r�rr�rrrrr	r,rr�r�r�rr�r�rrr�r$r%r�r�r&r'�CONTINUE)8r"r$r%r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r)r*r+r�r�r�r�r�r�r�r�r�r�rr�rrrrr	r,rr�r�r�rr�r�rrr�r$r%r�r�r&r'�RETURN)8r"r$r%r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r)r*r+r�r�r�r�r�r�r�r�r�r�rr�rrrrr	r,rr�r�r�rr�r�rrr�r$r%r�r�r&r'�PLUSPLUS)�rrLrMrNrarrr8r9r<r=r>r{r@rrBrCr�rEr�rFrGrHrIr�rJrKrLrMr�r�rNrOr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rPrQrRrUrWrr�r�r�r�r�r�r�r�r�r�r�r�r�rZr[r�r�r]r^r_r`rr�rrarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrur�r�rxryr�r�r�r�rzr{r|r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	r
rrr
r�r�r�r�rrrr�rrrrr r�r�r�rr�r&r'r�r�r�r�r�r.r/r0r1r�r2r�r�r�r�r�r8r9r:r;r<rr>r�r?r�r@r rBrCrDrErFrGrH)�r"r`rarbr_r$r%rJrr�r�r�r�rJrJrJrr�rJr�r�r�r�r�r�rJrJrJrJr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rJrr�rJr�r'rJr�r�r�r�r�r�r�r�r�r�r�r�rJrJrJrJrrJrr�r)r�r*rJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr�r�rJrJr�r�r�r�r�rJrJrrJrJr+r�rJrJr�rJrJrJrJrJr�r�rJr�r�r�rJr�r�r�r�r�r�r�r�r�r�r�r�rJr�rJr�rJrJrJr�r�r�r�r�r�rrJrJrJrrJrrJrrrJrr	rr�rr,rJrrrJrJrr�r�rrJrJrJrJrJrJr�r�rJrJrr�r�rrrJr!rr"rJrJrJr#r$r%rJrJr&r'�
MINUSMINUS)�r"r`rarbr_r$r%rKrr�r�r�r�rKrKrKrr�rKr�r�r�r�r�r�rKrKrKrKr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rKrr�rKr�r'rKr�r�r�r�r�r�r�r�r�r�r�r�rKrKrKrKrrKrr�r)r�r*rKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKrKr�r�rKrKr�r�r�r�r�rKrKrrKrKr+r�rKrKr�rKrKrKrKrKr�r�rKr�r�r�rKr�r�r�r�r�r�r�r�r�r�r�r�rKr�rKr�rKrKrKr�r�r�r�r�r�rrKrKrKrrKrrKrrrKrr	rr�rr,rKrrrKrKrr�r�rrKrKrKrKrKrKr�r�rKrKrr�r�rrrKr!rr"rKrKrKr#r$r%rKrKr&r'�SIZEOF)�rrLrMrNrarrr8r9r<r=r>r{r@rrBrCrErFrGrHrIrJrKrLrMrNrOrPrQrRrUrWrr�r�r�r�r�r�r�r�r�r�r�r�rZr[r�r�r]r^r_r`rrrarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurxryrzr{r|r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�rrrrr r�r�r�rr�r�r�r�r�r�r.r/r0r1r�r2r�r�r�r�r�r8r9r:r;r<rr�r�r@r rCrDrErFrGrH)�r"r`rarbr_r$r%rMrr�r�r�r�rMrMrMrrMr�r�r�r�rMrMrMrMr�r�rMrr�rMr�r'rMr�r�r�r�r�r�r�r�r�r�r�rMrMrMrMrrMrr�r)r*rMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMrMr�rMrMrrMrMr+r�rMrMr�rMrMrMrMrMr�r�rMr�r�r�rMr�r�r�r�r�r�r�r�r�r�r�r�rMr�rMr�rMrMrMrrMrMrMrrMrrMrrrMrr	rr�rr,rMrMrMrr�r�rrMrMrMrMrMrMr�r�rMrMrr�r�rrrMrrMrMrMr$r%rMrMr&r'�_ALIGNOF)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�AND)�rrLrMrNrarrr8r9r<r=r>r{r@rrBrCr�rEr�r�r�rFrGrHrIr�r�rJrKrLrMr�r�rNrOr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rPrQrRrUrWrr�r�r�r�r�r�r�r�r�r�r�r�r�rZr[r�r�r�r]r^r_r`rr�rrarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrur�r�r�rxr�r�r�ryr�r�r�r�rzr{r|r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr	r
rrr
r�r�r�r�rrrr�rrrrr r�r�r%r�rr�r&r'r�r(r)r�r�r�r�r.r/r0r1r�r2r�r�r�r�r�r8r9r:r;r<rr>r�r?r�r@r rBrCrDrErFrGrH)�r"r`rarbr_r$r%rIrr�r�r�r�rIrIrIrr�rIr�ror�r�r�r�r�r�r�rIrIrIrIr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rIrr�rIr�r'rIr�r�r�r�r�r�r�r�r�r�r�r�rIrIrIrIr�rrIrr�r)r�r*rIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIrIr�r�r�rIr�r�r�rIr�r�r�r�r�rIrIrrIrIr+r�rIrIr�rIrIrIrIrIr�r�rIr�r�r�rIr�r�r�r�r�r�r�r�r�r�r�r�rIr�rIr�rIrIrIr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rorororor�r�r�r�r�rrIrIrIrrIrrIrrrIrr	rr�rrr,rIrrrIrrrIrr�r�rrIrIrIrIrIrIr�r�rIrIrr�r�rrrIr!rr"rIrIrIr#r$r%rIrIr&r'�PLUS)�r"r`rarbr_r$r%rGrr�r�r�r�rGrGrGrr�rGr�rer�r�r�r�r�r�r�rGrGrGrGr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rGrr�rGr�r'rGr�r�r�r�r�r�r�r�r�r�r�r�rGrGrGrGr�rrGrr�r)r�r*rGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGrGr�r�r�rGr�r�r�rGr�r�r�r�r�rGrGrrGrGr+r�rGrGr�rGrGrGrGrGr�r�rGr�r�r�rGr�r�r�r�r�r�r�r�r�r�r�r�rGr�rGr�rGrGrGr�r�r�r�r�r�rererererererererererererer�r�r�r�r�rrGrGrGrrGrrGrrrGrr	rr�rrr,rGrrrGrrrGrr�r�rrGrGrGrGrGrGr�r�rGrGrr�r�rrrGr!rr"rGrGrGr#r$r%rGrGr&r'�MINUS)�r"r`rarbr_r$r%rHrr�r�r�r�rHrHrHrr�rHr�rfr�r�r�r�r�r�r�rHrHrHrHr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rHrr�rHr�r'rHr�r�r�r�r�r�r�r�r�r�r�r�rHrHrHrHr�rrHrr�r)r�r*rHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHr�r�r�rHr�r�r�rHr�r�r�r�r�rHrHrrHrHr+r�rHrHr�rHrHrHrHrHr�r�rHr�r�r�rHr�r�r�r�r�r�r�r�r�r�r�r�rHr�rHr�rHrHrHr�r�r�r�r�r�rfrfrfrfrfrfrfrfrfrfrfrfrfr�r�r�r�r�rrHrHrHrrHrrHrrrHrr	rr�rrr,rHrrrHrrrHrr�r�rrHrHrHrHrHrHr�r�rHrHrr�r�rrrHr!rr"rHrHrHr#r$r%rHrHr&r'�NOT)�r"r`rarbr_r$r%rNrr�r�r�r�rNrNrNrrNr�r�r�r�rNrNrNrNr�r�rNrr�rNr�r'rNr�r�r�r�r�r�r�r�r�r�r�rNrNrNrNrrNrr�r)r*rNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNrNr�rNrNrrNrNr+r�rNrNr�rNrNrNrNrNr�r�rNr�r�r�rNr�r�r�r�r�r�r�r�r�r�r�r�rNr�rNr�rNrNrNrrNrNrNrrNrrNrrrNrr	rr�rr,rNrNrNrr�r�rrNrNrNrNrNrNr�r�rNrNrr�r�rrrNrrNrNrNr$r%rNrNr&r'�LNOT)�r"r`rarbr_r$r%rOrr�r�r�r�rOrOrOrrOr�r�r�r�rOrOrOrOr�r�rOrr�rOr�r'rOr�r�r�r�r�r�r�r�r�r�r�rOrOrOrOrrOrr�r)r*rOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOrOr�rOrOrrOrOr+r�rOrOr�rOrOrOrOrOr�r�rOr�r�r�rOr�r�r�r�r�r�r�r�r�r�r�r�rOr�rOr�rOrOrOrrOrOrOrrOrrOrrrOrr	rr�rr,rOrOrOrr�r�rrOrOrOrOrOrOr�r�rOrOrr�r�rrrOrrOrOrOr$r%rOrOr&r'�OFFSETOF)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�
INT_CONST_DEC)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�
INT_CONST_OCT)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�
INT_CONST_HEX)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�
INT_CONST_BIN)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�INT_CONST_CHAR)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�FLOAT_CONST)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�HEX_FLOAT_CONST)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�
CHAR_CONST)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�WCHAR_CONST)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�U8CHAR_CONST)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�
U16CHAR_CONST)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�
U32CHAR_CONST)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�STRING_LITERAL)�rrLrMrNrarrr�r8r9r<r=r>r{r@rrBrC�r�rEr�rFrGrHrIrJrKrLrMrNrOrPrQrRrUrWrr�r�r�r�r�r�r�r�r�r�r�r�rZr[r�r�r]r^r_r`rr��
rrarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurxryrzr{r|r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��r�r�r�r�rrrr�rrrrr r�r�r�rr�r�r�r�r�r�r.r/r0r1r�r2r�r�r�r�r�r8r9r:r;r<rr�r�r@r rCrDrErFrGrH)�r"r`rarbr_r$r%r�r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r�r�r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�WSTRING_LITERAL)�rrLrMrNrarrr8r9r<r=r>r{r@rrBrCrErFrGrHrIrJrKrLrMrNrOr�r�r�r�r�rPrQrRrUrWrr�r�r�r�r�r�r�r�r�r�r�r�rZr[r�r�r]r^r_r`rrrarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurxryr�r�r�r�rzr{r|r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�rrrrr r�r�r�rr�r�r�r�r�r�r.r/r0r1r�r2r�r�r�r�r�r8r9r:r;r<rr�r�r@r rCrDrErFrGrH)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�U8STRING_LITERAL)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�U16STRING_LITERAL)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�U32STRING_LITERAL)�r"r`rarbr_r$r%r�rr�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r+r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rr�rr�rrr�rr	rr�rr,r�r�r�rr�r�rr�r�r�r�r�r�r�r�r�r�rr�r�rrr�rr�r�r�r$r%r�r�r&r'�ELSE)$rrrr�r�r�r�r�r�r�rrrr�r�r�r�r�r�rrrrrr rr.r8r9r:r;r<rCrDrGrH)$r"r%r'r�r�r�r�r�r�r�r)r*r+r�r�r�r�r�r�rrrr�rr	r,rrr@r�rrr$r%r&r'�PPPRAGMASTRrr�EQUALS)Tr0r8rZrerfrgrhrirvr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r���r�r�r�r	r
rrr
rr����r#r$r%r&r'r(r)r*r+�r5r6r>r?rB)TrIrLrjrBrrrsrtrurUrjr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��6���r�r�r�r�r�r�r�r�r�r��5����3���rr
rrrrrrr�4���rrr!r"r#�COMMA)�r0r4r5r8r9r1r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrLrMrNrOrPrQrRrSrTrUrZr[r\r]r^r_rarcrdrerfrgrhrirprrrtrurvr;r<r=r>ryrzr|r}r�r�r�r��r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�����rSrVrWr5r6r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r��	r�r�r�r�r�r�r�r�r�r�r�r��;�<�=r~r��@�Ar�r�r�r�r8r9r�r�r�r�r�r�r�r�r�r�r�r�r��^r�r�r�r�r;r�r�r��r�r�r�r�r�r�r�r�r�rrrrrrrrr��r	�r
rrr
�rr��r�r�rrr<r=rrr��rr����r!r"r>r#r$r%r&r'r(r)r*r+r�r�r�r,r-r4r5r6r?r7�r�r�r�r�r�r��-r@r>r?r�r�rB�@r�r�)�rIrJrKrLrMrrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r`rarbrcrdrerfrgrhrirjrkrlrmrnror_rArprqrrrsrtrur{rQrTr|r}r�r�r�r�r�r�r�r�rjr�r�r�rnr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr}�C����>���rr�r�r�rArBr�r'r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��A����@����?����1�������������r��/���r�r�r�r�r�rDr�r�r�r�r�r�r�r�r�r�r��2���r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�����r�r�r�r�r�r�r��B����=��������0���r�r�rErFr�r�rr�rrr�r�r
rrGrr
rrrrrrrr�r�r�rrrrrr�r����r�r�r�rrrr�rHr!r"rrr#r�rr�RPAREN)�r0r4r5r8r9r1r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrLrMrNrOrPrQrRrSrTrUr[r\r]r^r_rargrh�]r:rirprrr;r<r=r>ryrzr|r}r��rDrmr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r���r��r�r�r�rSrVrWr�rr�r���r�����r�r�r�r�r���r��r�rur�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r~r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr��k�lr�r�r�ror�r�r�r�r�r�r�r�r�rrrrrrrrrr�r	r�r
rrr
���rr�r�r�r�r�r�����r�����r�rrrrr�rrr�r�r!r#r$r%r&r'r(r)r*r+��r�r�r��	r5r6r7r���r�r�r�r�r�r�r�rr>r?r�r�r �=rB�?r�r��E�G)�rIrJrKrLrMrrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r`rarbrcrdrerfrgrhrirkrlrmrnror_rsrtr�rrur{rQr�r�r�r�r�r�r�r�r�r�rrr�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�iE���i��i��r�r�rr�r�r�r'r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r	r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r+r�rr�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r3r(r)r�r�iD���r�r�r�r�rr�r�r�i��i��rr�r�r�r�r/rrr0r1r
rr
rrrrrrrr�r�r�r�r�r�rrrr�r?����r�r�r�rrrrArr!r"rrrrEr#����rrrF�����COLON)�r0r4r8r:r;r<r>r?r@rArBrCrDrErFrGrHrIrJrLrMrNrarfrgrhrirrryrzr|r}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�rKr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��gr�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr	r
rrr
rrrrrrr�rrr!r#r$r%r&r'r(r)r*r+r5r6r7r>r?rB)�rIrJrLrNrOrPrRrSrTrUrVrWrXrYrZr[r\r]r^r`rarbr_rrrsrtrurQr�r�r�r�rjr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr
rr
rrrrrrrrrrr!r"r#�LBRACKET)�r0r4r5r8r9r1r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrLrMrNrOrPrQrRrSrTrUr[r\r]r^r_rargrhrirprrr;r<r=r>ryrzr{r|r}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rSrVrWr�rr�r�r�r�r�r]r�r�r�r�r�r�r�r�r�r~r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rwrxr�r�r�r	r
rrr
rrr�r�r�rrrrr�ryrzr#r$r�r&r'r*r+r�r�r�r{r5r6r�r�r�r�r�r�r�r�r>r�r?r�r�rBr�r�r�r�)�r9rJrKrLrMrrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r`rarbrcrdrerfrgrhrirkrlrmrnror_rCrtr9r{rQr�r�r�r�r�r�r�r�r�rCr�r�r�rtr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r}r~rr
r�rrrrr�r�r�rrrr�r�r�r�r�rrrr!r�r"rrr#r�rrr��RBRACKET)xrLrMrNrar9r<r=r>rCr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rPrRrWrr�r�r�r^r`r�r�r�r�r�r�r�r�r�r�r��1rz�3�4r��r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr�r	r
rrr
��r�r�rr�rrr!������r%r&r'r(r)r�r���r�r7�r�r>r?�8�9rBr�)xr`rarbr_rr�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r'r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rr������rr#r$r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r&r�r�r�r�r�r*r+rrr�rrrr
r{r5r6rrrrrrr�r�r�r�rr�r�r!r"r�r�r#r��PERIOD):r{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r]r�r�r�r�r�r�r�rwrxr�r	r
rrr
r�ryrzr�r&r'r{r�r�r>r�r?rBr�r�):r�r�r�rvr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r|r�r�r�r�r�r�r�r}r~r�rrrr�r�r!r�r"r#r�r��ARROW),r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r	r
rrr
r&r'r>r?rB),r�r�rwr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr!r"r#�CONDOP)Ir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr	r
rrr
r%r&r'r(r)r>r?rB)Ir�r�rar�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#�DIVIDE)Ir�r�rcr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rcrcrcrcrcrcrcrcrcrcrcrcrcrcrcr�r�r�r�r�rrrrrr!r"r#�MOD)Ir�r�rdr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rdrdrdrdrdrdrdrdrdrdrdrdrdrdrdr�r�r�r�r�rrrrrr!r"r#�RSHIFT)Ir�r�rgr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rgrgrgrgrgrgrgrgrgrgrgr�r�r�r�r�rrrrrr!r"r#�LSHIFT)Ir�r�rhr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rhrhrhrhrhrhrhrhrhrhrhr�r�r�r�r�rrrrrr!r"r#�LT)Ir�r�rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�riririririririr�r�r�r�r�rrrrrr!r"r#�LE)Ir�r�rjr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rjrjrjrjrjrjrjr�r�r�r�r�rrrrrr!r"r#�GE)Ir�r�rkr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rkrkrkrkrkrkrkr�r�r�r�r�rrrrrr!r"r#�GT)Ir�r�rlr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rlrlrlrlrlrlrlr�r�r�r�r�rrrrrr!r"r#�EQ)Ir�r�rmr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rmrmrmrmrmr�r�r�r�r�rrrrrr!r"r#�NE)Ir�r�rnr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rnrnrnrnrnr�r�r�r�r�rrrrrr!r"r#�OR)Ir�r�rpr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rprpr�r�r�r�r�rrrrrr!r"r#�XOR)Ir�r�rqr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rqr�rqrqr�r�r�r�r�rrrrrr!r"r#�LAND)Ir�r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�r�r�r�r�rrrrrr!r"r#)Ir�r�rsr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#)5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r	r
rrr
r%r&r'r(r)r>r?rB)5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#)5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#)5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#)5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#)5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#)5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#)5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#)5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#)5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#)5r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr!r"r#rr�)�LOR�XOREQUAL�
TIMESEQUAL�DIVEQUAL�MODEQUAL�	PLUSEQUAL�
MINUSEQUAL�LSHIFTEQUAL�RSHIFTEQUAL�ANDEQUAL�OREQUAL�ELLIPSISrr�translation_unit_or_empty�translation_unitr�empty):rr
r.r1r2r3r6r7r1r=rVrWrXrZr9r:rmrrCrDrPrQrSr�r�r�r�r]r^r_rr�r�r�r�r�r�r�r�r�r�r�rrr�r�r�r�r/r0r1r2rr�r@r rErF):rr1rbrkrkrkrsrkr<rkrbrsrkr1r<r�rkr�r<r�r�r<r�r�r�r�r�r�r�r<r�r<r�r�r�r�r�r<r�r�r�r�r�r�r�r�r�r<r�r�r�r�r�r�r�r�r�r��external_declarationrr�function_definitionr�declaration)rrr
rrZrr�r�)rrrr
rr�r�r�pp_directiver	�pppragma_directive)rrr~rr�r�r�r�r�r�r�r�r�r�rr/r0r1r@rErF)r
r
r�r�r�r�r�r�r�r�r�r�r�rr�r:r�r�r�r�r��
static_assert)rrrr�r�r�r�r�rr/r0r1r@rErF)rrr�r�r�r�r�r�r�r�r�r�r�r�r��
id_declarator)rrr.r/r6rVrWr7rArSrTr�rr�)r
r
rZr�rvr�rvr�r�r�r�r�r�r��declaration_specifiers)rrr
rrZr:rrDr�rrr�r�r�r�)r.r.rVrVrVrSrVrSrVrSrSrSrVrSrS�	decl_body)r/r/r/r/r/r/r/r/�direct_id_declarator)rrr.r/r0r6rVrWr6r7rArSrTr�r~rr�r�)r0r0r0r0rir0r0r0rir0r0r0r0r0rir0rir0�pointer)rrr.r/r6rVrWr7r;rArSrTr�r�rr�r�)r0r0r6r0r0r6r0r6rVr6r~r6r6r�r�r�r6�type_qualifier)6rrr
r.r1r2r3r7r1r=rrVrXrZr9r:rmr=r~r�r@rrCrDrErQrRrSr�r�r�r�rr�r�r[r_r`rxryr�r�rrr�r�r�r�r�r�r�r�r�r�)6r1r1r1r[r1r1r1r1r>r1r1r[r1r1r>r1r1rWr>r>r>r1r>r1r>r>rWr[r>r>r>r�rWr�r1r>r>rWr>r>r>r>r1r1r>r>r>r1r1r>r1r1r>rW�storage_class_specifier)rrr
r.r1r2r3r7r=rrVrXrZr:rmrrDrSr�rrr�r�r�r�)r2r2r2r\r2r2r2r2r2r2r\r2r2r2r2r2r2r\r2r2r2r2r2r2r2�function_specifier)r3r3r3r]r3r3r3r3r3r3r]r3r3r3r3r3r3r]r3r3r3r3r3r3r3�type_specifier_no_typeid)&rrr
r.r6rrVrWrZr:r~r�r@rrDrErSrr�r�r�r�rr�r�r[rxryr�r�rrr�r�r�r�r�r�)&r4r4r4r^r4r4r^r4r4r4r4r4r4r4r4r4r^r4r4r4r4r�r4r�r4r4r4r4r4r4r4r4r4r4r4r4r4r4�type_specifier)!rrr
r6rrWrZr:r~r�r@rrDrErr�r�r�rr�r[rxryr�r�rrr�r�r�r�r�r�)!r5r5r5rpr5rpr5r5r�r�r�r5r5r�rpr�r�r�r�r5r�r�r�r�r�r5r5r�r�r5r5r5r5�declaration_specifiers_no_type)rrr
r1r2r3r7r=rrXrZr:rmrrDr�rrr�r�r�r�)r6r6rWrlrlrlrlrlrWrlrWrrlrWrrWrrrrWrr�alignment_specifier))rrr
r.r1r2r3r7r=rrVrXrZr:rmr~r�r@rrDrErSr�r�r�r�r�r�r[rxryr�r�rrr�r�r�r�r�r�))r7r7r7r_r7r7r7r7r7r7r_r7r7r7r7r�r�r�r7r7r�r_r�r�r�r�r�r7r�r�r�r�r�r7r7r�r�r7r7r7r7�typedef_name)!r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:�enum_specifier)!r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;r;�struct_or_union_specifier)!r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<r<�atomic_specifier)(rrr
r1r2r3r6r7r=rrWrXrZr:rmr~r�r@rrDrErr�r�r�rr�r[rxryr�r�rrr�r�r�r�r�r�)(r=r=rXrmrmrmrrrmrmrXrrrmrXr=rmrrrrrrrXr=rrrrrrrrrrrrrXrrrrrrrrrrr=r=rrrrr=rXr=r=�struct_or_union)!r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3r3�declaration_list_optr
rZr0r2�declaration_listr�init_declarator_list_optr.rVr`�init_declarator_listrc�init_declarator)r.rVrArT)rdrdr�r��
declarator)r.rVrArTr�r�)rerererer�r��typeid_declarator)r.rVr7rArTr�r�)rfrfr�rfrfrfrf�direct_typeid_declarator)r.rVr6r7rArTr�r�)rgrgr�rgrgrgrgrg�"declaration_specifiers_no_type_opt)r1r2r3r7r=rXrm)rjrnrorwrxrxrx�id_init_declarator_list_optr6rWrq�id_init_declarator_listrt�id_init_declaratorru�type_qualifier_list_opt)r1r9rCrQr_r�r�r�)r;rPr^r{r�r�r�r��type_qualifier_list)r1r9r~r�r@rCrErQr�r�r�r[r_rxryr�r�r�r�r�r�r�)r=rRrrrr`rr=rrrrr=rrrrr=rrr�r=�
brace_open)r2r3r0ryrzr|r}rr2rBrUr�r[r�r�r�r�r�r�rr�r3r(r/r0r1r�r@rErF)r?r~rrXrYr�r�rrr]r]rrrrrrr]r�rr�r�r�rrrr]rrr�compound_statement)r0rr2r�r[r�r�r�r�rr/r0r1r@rErF)rr�rr�r�r�r�r�r�r�r�r�r�r�r�r��unified_string_literal)Sr�r8r@rrBrErJrKrLrMrPrUr�rZr[r�r�r^rnrarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurxryr{r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r�r�r/r0r1r�r2r�r�r�rr�r@r rErF)Srmr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ror�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��constant_expression)r8r@rZr�r�r�r�)r�r�r�r=rr�r-�conditional_expression)9r8r@rrBrErPrUr�rZr[r�r�r^rartrurxryr{r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�r�r�r/r0r1r�r2r�r�r�rr�r@r rErF)9r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r7r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��binary_expression)Kr8r@rrBrErPrUr�rZr[r�r�r^rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurxryr{r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�r�r�r/r0r1r�r2r�r�r�rr�r@r rErF)Kr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��cast_expression)Nr8r@rrBrErLrPrUr�rZr[r�r�r^rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurxryr{r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r�r�r/r0r1r�r2r�r�r�rr�r@r rErF)Nr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r%r�r�r�r�r%r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��unary_expression)Qr8r@rrBrErJrKrLrMrPrUr�rZr[r�r�r^rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurxryr{r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r�r�r/r0r1r�r2r�r�r�rr�r@r rErF)Qr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��postfix_expression)Qr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��unary_operator)QrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrLrL�primary_expression)Qr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��
identifier)Xr8r:r@rrBrDrErJrKrLrMrPrUr�rZr[r�r�r^rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurxryr{r|r}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rr�r�r�r�r/r0r1r�r2r�r�r�rr�r�r@r rErF)Xr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rzr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��constant)Qr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��unified_wstring_literal)Qr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��parameter_type_list)r:rDrr�r�r�)r�r�r�r�r�r��identifier_list_opt)r:rDr�)r�r�r��parameter_list)r�r�r�r�r�r��identifier_list)r�r�r��parameter_declaration)r:rDrrr�r�r�)r�r�r�r�r�r�r��enumerator_list)r?rXrY)r5r8r9�
enumerator)r?rXrYr�)r6r6r6r<�struct_declaration_list)r~r�r�)r�r�r��brace_close)r~r5r�r�r�r7r8r9r�r�r:r�r?r�)r�r�r�r�r�rrrrrr"r4r>rB�struct_declaration)r~r�r�r�r�r�)r�r�r�r�r�r��specifier_qualifier_list)r~r�r@rEr�r�r�r[rxryr�r�r�r�)r�r�r�r�r�r�r�r�r�r�r�r�r�r��	type_name)r�r@rEr[rxryr�r�)r�r�r�r�r�r�r�r��block_item_list_optrr7�block_item_listr��
block_itemr�r��	statement)
rr�r�r�r�r�rr/r0r1r@rErF)
r�r�r�r�r�rr�r9r�r�r�r�r��labeled_statement)
r�r�r�r�r�r�r�r�r�r�r�r�r��expression_statement)
r�r�r�r�r�r�r�r�r�r�r�r�r��selection_statement)
r�r�r�r�r�r�r�r�r�r�r�r�r��iteration_statement)
r�r�r�r�r�r�r�r�r�r�r�r�r��jump_statement)
r�r�r�r�r�r�r�r�r�r�r�r�r��expression_opt)rr�r�r�r�r�r�rrr/r0r1r2rr@r rErF)r�r�r�r�r�r�rr�r3r�r�r�r=r�r�r�r�r��
expression)rrEr�r[r�r�rartrxryr�r�r�r�r�r�r�rrr/r0r1r�r2rr�r@r rErF)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��assignment_expression)1rrBrErPrUr�r[r�r�r^rartrurxryr{r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�r�r/r0r1r�r2r�r�r�rr�r@r rErF)1r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r!r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��initializer)rBrUr�r�)r�r�r>r@�assignment_expression_opt)rPr^r�r�r�)r�r�r�r�r��typeid_noparen_declaratorrSr��abstract_declarator_optr�r�r�� direct_typeid_noparen_declaratorr~r�r��abstract_declarator)rSr�rr�)r�r�r�r��direct_abstract_declarator)rSr�r~rr�r�r�)r�r�r�r�r�r�r�r�r�r�r�r�r,)
r�r�r�rr/r0r1r@rErF)
rOrrr.r8r;r<rCrGrH)
r�r�r�r�r�r�r�r�r�r�r�r�r]r:r�r;r?)r]r�r�r�)r�r�r�r�)r�r�r�r�)rwrwrwrw)r]rwr�r�r�)rxryrxrxrxrur�)rr�r�)r�r�r�r�r�)�struct_declarator_list_opt�struct_declarator_list�struct_declarator�pragmacomp_or_statement�pppragma_directive_list�assignment_operator�initializer_list_opt�initializer_list�designation_opt�designation�designator_list�
designator�argument_expression_list�parameter_type_list_opt�offsetof_member_designator(U)zS' -> translation_unit_or_emptyzS'rNNN)z abstract_declarator_opt -> emptyrNr�p_abstract_declarator_opt�plyparser.pyrD)z.abstract_declarator_opt -> abstract_declaratorrNrrarbrE)z"assignment_expression_opt -> emptyrLr�p_assignment_expression_optrbrD)z2assignment_expression_opt -> assignment_expressionrLrrcrbrE)zblock_item_list_opt -> emptyr?r�p_block_item_list_optrbrD)z&block_item_list_opt -> block_item_listr?rrdrbrE)zdeclaration_list_opt -> emptyrr�p_declaration_list_optrbrD)z(declaration_list_opt -> declaration_listrrrerbrE)z+declaration_specifiers_no_type_opt -> emptyrr�$p_declaration_specifiers_no_type_optrbrD)zDdeclaration_specifiers_no_type_opt -> declaration_specifiers_no_typerrrfrbrE)zdesignation_opt -> emptyrZr�p_designation_optrbrD)zdesignation_opt -> designationrZrrgrbrE)zexpression_opt -> emptyrHr�p_expression_optrbrD)zexpression_opt -> expressionrHrrhrbrE)z$id_init_declarator_list_opt -> emptyr r�p_id_init_declarator_list_optrbrD)z6id_init_declarator_list_opt -> id_init_declarator_listr rrirbrE)zidentifier_list_opt -> emptyr4r�p_identifier_list_optrbrD)z&identifier_list_opt -> identifier_listr4rrjrbrE)z!init_declarator_list_opt -> emptyrr�p_init_declarator_list_optrbrD)z0init_declarator_list_opt -> init_declarator_listrrrkrbrE)zinitializer_list_opt -> emptyrXr�p_initializer_list_optrbrD)z(initializer_list_opt -> initializer_listrXrrlrbrE)z parameter_type_list_opt -> emptyr_r�p_parameter_type_list_optrbrD)z.parameter_type_list_opt -> parameter_type_listr_rrmrbrE)z#struct_declarator_list_opt -> emptyrRr�p_struct_declarator_list_optrbrD)z4struct_declarator_list_opt -> struct_declarator_listrRrrnrbrE)z type_qualifier_list_opt -> emptyr#r�p_type_qualifier_list_optrbrD)z.type_qualifier_list_opt -> type_qualifier_listr#rrorbrE)zdirect_id_declarator -> IDr	r�p_direct_id_declarator_1rbr@)z3direct_id_declarator -> LPAREN id_declarator RPARENr	r�p_direct_id_declarator_2rbr@)zpdirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETr	r�p_direct_id_declarator_3rbr@)zsdirect_id_declarator -> direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETr	r�p_direct_id_declarator_4rbr@)zodirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETr	rrsrbr)z\direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETr	r�p_direct_id_declarator_5rbr@)zNdirect_id_declarator -> direct_id_declarator LPAREN parameter_type_list RPARENr	r�p_direct_id_declarator_6rbr@)zNdirect_id_declarator -> direct_id_declarator LPAREN identifier_list_opt RPARENr	rrurbr)z"direct_typeid_declarator -> TYPEIDrr�p_direct_typeid_declarator_1rbr@)z;direct_typeid_declarator -> LPAREN typeid_declarator RPARENrr�p_direct_typeid_declarator_2rbr@)zxdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrr�p_direct_typeid_declarator_3rbr@)z{direct_typeid_declarator -> direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETrr�p_direct_typeid_declarator_4rbr@)zwdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETrrryrbr)zddirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETrr�p_direct_typeid_declarator_5rbr@)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN parameter_type_list RPARENrr�p_direct_typeid_declarator_6rbr@)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN identifier_list_opt RPARENrrr{rbr)z*direct_typeid_noparen_declarator -> TYPEIDrOr�$p_direct_typeid_noparen_declarator_1rbr@)z�direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrOr�$p_direct_typeid_noparen_declarator_3rbr@)z�direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETrOr�$p_direct_typeid_noparen_declarator_4rbr@)z�direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETrOrr~rbr)ztdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETrOr�$p_direct_typeid_noparen_declarator_5rbr@)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN parameter_type_list RPARENrOr�$p_direct_typeid_noparen_declarator_6rbr@)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN identifier_list_opt RPARENrOrr�rbr)z%id_declarator -> direct_id_declaratorrr�p_id_declarator_1rbr@)z-id_declarator -> pointer direct_id_declaratorrr�p_id_declarator_2rbr@)z-typeid_declarator -> direct_typeid_declaratorrr�p_typeid_declarator_1rbr@)z5typeid_declarator -> pointer direct_typeid_declaratorrr�p_typeid_declarator_2rbr@)z=typeid_noparen_declarator -> direct_typeid_noparen_declaratorrMr�p_typeid_noparen_declarator_1rbr@)zEtypeid_noparen_declarator -> pointer direct_typeid_noparen_declaratorrMr�p_typeid_noparen_declarator_2rbr@)z-translation_unit_or_empty -> translation_unitr�r�p_translation_unit_or_empty�c_parser.pyr+)z"translation_unit_or_empty -> emptyr�rr�r�r�)z(translation_unit -> external_declarationr�r�p_translation_unit_1r�r�)z9translation_unit -> translation_unit external_declarationr�r�p_translation_unit_2r�r.)z+external_declaration -> function_definitionrr�p_external_declaration_1r�r{)z#external_declaration -> declarationrr�p_external_declaration_2r�r�)z$external_declaration -> pp_directiverr�p_external_declaration_3r�r�)z*external_declaration -> pppragma_directiverrr�r�r�)zexternal_declaration -> SEMIrr�p_external_declaration_4r�r�)z%external_declaration -> static_assertrr�p_external_declaration_5r�r;)z^static_assert -> _STATIC_ASSERT LPAREN constant_expression COMMA unified_string_literal RPARENrr�p_static_assert_declarationr�r@)zAstatic_assert -> _STATIC_ASSERT LPAREN constant_expression RPARENrrr�r�r>)zpp_directive -> PPHASHrr�p_pp_directiver�r�)zpppragma_directive -> PPPRAGMArr�p_pppragma_directiver�rD)z*pppragma_directive -> PPPRAGMA PPPRAGMASTRrrr�r�r�)zBpppragma_directive -> _PRAGMA LPAREN unified_string_literal RPARENrrr�r�rE)z-pppragma_directive_list -> pppragma_directiverVr�p_pppragma_directive_listr�iP)zEpppragma_directive_list -> pppragma_directive_list pppragma_directiverVrr�r�iQ)zLfunction_definition -> id_declarator declaration_list_opt compound_statementrr�p_function_definition_1r�iX)zcfunction_definition -> declaration_specifiers id_declarator declaration_list_opt compound_statementrr�p_function_definition_2r�ij)zstatement -> labeled_statementrBr�p_statementr�iy)z!statement -> expression_statementrBrr�r�iz)zstatement -> compound_statementrBrr�r�i{)z statement -> selection_statementrBrr�r�i|)z statement -> iteration_statementrBrr�r�i})zstatement -> jump_statementrBrr�r�i~)zstatement -> pppragma_directiverBrr�r�i)zstatement -> static_assertrBrr�r�i�)z<pragmacomp_or_statement -> pppragma_directive_list statementrUr�p_pragmacomp_or_statementr�i�)z$pragmacomp_or_statement -> statementrUrr�r�i�)z<decl_body -> declaration_specifiers init_declarator_list_optrr�p_decl_bodyr�i�)zGdecl_body -> declaration_specifiers_no_type id_init_declarator_list_optrrr�r�i�)zdeclaration -> decl_body SEMIrr�
p_declarationr�i)zdeclaration_list -> declarationrr�p_declaration_listr�i
)z0declaration_list -> declaration_list declarationrrr�r�i)zSdeclaration_specifiers_no_type -> type_qualifier declaration_specifiers_no_type_optrr�"p_declaration_specifiers_no_type_1r�i)z\declaration_specifiers_no_type -> storage_class_specifier declaration_specifiers_no_type_optrr�"p_declaration_specifiers_no_type_2r�i)zWdeclaration_specifiers_no_type -> function_specifier declaration_specifiers_no_type_optrr�"p_declaration_specifiers_no_type_3r�i)zUdeclaration_specifiers_no_type -> atomic_specifier declaration_specifiers_no_type_optrr�"p_declaration_specifiers_no_type_4r�i&)zXdeclaration_specifiers_no_type -> alignment_specifier declaration_specifiers_no_type_optrr�"p_declaration_specifiers_no_type_5r�i+)z?declaration_specifiers -> declaration_specifiers type_qualifierrr�p_declaration_specifiers_1r�i0)zHdeclaration_specifiers -> declaration_specifiers storage_class_specifierrr�p_declaration_specifiers_2r�i5)zCdeclaration_specifiers -> declaration_specifiers function_specifierrr�p_declaration_specifiers_3r�i:)zIdeclaration_specifiers -> declaration_specifiers type_specifier_no_typeidrr�p_declaration_specifiers_4r�i?)z(declaration_specifiers -> type_specifierrr�p_declaration_specifiers_5r�iD)zGdeclaration_specifiers -> declaration_specifiers_no_type type_specifierrr�p_declaration_specifiers_6r�iI)zDdeclaration_specifiers -> declaration_specifiers alignment_specifierrr�p_declaration_specifiers_7r�iN)zstorage_class_specifier -> AUTOrr�p_storage_class_specifierr�iS)z#storage_class_specifier -> REGISTERrrr�r�iT)z!storage_class_specifier -> STATICrrr�r�iU)z!storage_class_specifier -> EXTERNrrr�r�iV)z"storage_class_specifier -> TYPEDEFrrr�r�iW)z(storage_class_specifier -> _THREAD_LOCALrrr�r�iX)zfunction_specifier -> INLINEr
r�p_function_specifierr�i])zfunction_specifier -> _NORETURNr
rr�r�i^)z type_specifier_no_typeid -> VOIDrr�p_type_specifier_no_typeidr�ic)z!type_specifier_no_typeid -> _BOOLrrr�r�id)z type_specifier_no_typeid -> CHARrrr�r�ie)z!type_specifier_no_typeid -> SHORTrrr�r�if)ztype_specifier_no_typeid -> INTrrr�r�ig)z type_specifier_no_typeid -> LONGrrr�r�ih)z!type_specifier_no_typeid -> FLOATrrr�r�ii)z"type_specifier_no_typeid -> DOUBLErrr�r�ij)z$type_specifier_no_typeid -> _COMPLEXrrr�r�ik)z"type_specifier_no_typeid -> SIGNEDrrr�r�il)z$type_specifier_no_typeid -> UNSIGNEDrrr�r�im)z$type_specifier_no_typeid -> __INT128rrr�r�in)ztype_specifier -> typedef_namerr�p_type_specifierr�is)z type_specifier -> enum_specifierrrr�r�it)z+type_specifier -> struct_or_union_specifierrrr�r�iu)z*type_specifier -> type_specifier_no_typeidrrr�r�iv)z"type_specifier -> atomic_specifierrrr�r�iw)z3atomic_specifier -> _ATOMIC LPAREN type_name RPARENrr�p_atomic_specifierr�i})ztype_qualifier -> CONSTrr�p_type_qualifierr�i�)ztype_qualifier -> RESTRICTrrr�r�i�)ztype_qualifier -> VOLATILErrr�r�i�)ztype_qualifier -> _ATOMICrrr�r�i�)z'init_declarator_list -> init_declaratorrr�p_init_declarator_listr�i�)zBinit_declarator_list -> init_declarator_list COMMA init_declaratorrrr�r�i�)zinit_declarator -> declaratorrr�p_init_declaratorr�i�)z0init_declarator -> declarator EQUALS initializerrrr�r�i�)z-id_init_declarator_list -> id_init_declaratorr!r�p_id_init_declarator_listr�i�)zHid_init_declarator_list -> id_init_declarator_list COMMA init_declaratorr!rr�r�i�)z#id_init_declarator -> id_declaratorr"r�p_id_init_declaratorr�i�)z6id_init_declarator -> id_declarator EQUALS initializerr"rr�r�i�)zMspecifier_qualifier_list -> specifier_qualifier_list type_specifier_no_typeidr=r�p_specifier_qualifier_list_1r�i�)zCspecifier_qualifier_list -> specifier_qualifier_list type_qualifierr=r�p_specifier_qualifier_list_2r�i�)z*specifier_qualifier_list -> type_specifierr=r�p_specifier_qualifier_list_3r�i�)z>specifier_qualifier_list -> type_qualifier_list type_specifierr=r�p_specifier_qualifier_list_4r�i�)z/specifier_qualifier_list -> alignment_specifierr=r�p_specifier_qualifier_list_5r�i�)zHspecifier_qualifier_list -> specifier_qualifier_list alignment_specifierr=r�p_specifier_qualifier_list_6r�i�)z/struct_or_union_specifier -> struct_or_union IDrr�p_struct_or_union_specifier_1r�i�)z3struct_or_union_specifier -> struct_or_union TYPEIDrrr�r�i�)z[struct_or_union_specifier -> struct_or_union brace_open struct_declaration_list brace_closerr�p_struct_or_union_specifier_2r�i�)zCstruct_or_union_specifier -> struct_or_union brace_open brace_closerrr�r�i�)z^struct_or_union_specifier -> struct_or_union ID brace_open struct_declaration_list brace_closerr�p_struct_or_union_specifier_3r�i�)zFstruct_or_union_specifier -> struct_or_union ID brace_open brace_closerrr�r�i�)zbstruct_or_union_specifier -> struct_or_union TYPEID brace_open struct_declaration_list brace_closerrr�r�i�)zJstruct_or_union_specifier -> struct_or_union TYPEID brace_open brace_closerrr�r�i�)zstruct_or_union -> STRUCTrr�p_struct_or_unionr�i�)zstruct_or_union -> UNIONrrr�r�i�)z-struct_declaration_list -> struct_declarationr:r�p_struct_declaration_listr�i)zEstruct_declaration_list -> struct_declaration_list struct_declarationr:rr�r�i)zNstruct_declaration -> specifier_qualifier_list struct_declarator_list_opt SEMIr<r�p_struct_declaration_1r�i)zstruct_declaration -> SEMIr<r�p_struct_declaration_2r�i1)z(struct_declaration -> pppragma_directiver<r�p_struct_declaration_3r�i6)z+struct_declarator_list -> struct_declaratorrSr�p_struct_declarator_listr�i;)zHstruct_declarator_list -> struct_declarator_list COMMA struct_declaratorrSrr�r�i<)zstruct_declarator -> declaratorrTr�p_struct_declarator_1r�iD)z9struct_declarator -> declarator COLON constant_expressionrTr�p_struct_declarator_2r�iI)z.struct_declarator -> COLON constant_expressionrTrr�r�iJ)zenum_specifier -> ENUM IDrr�p_enum_specifier_1r�iR)zenum_specifier -> ENUM TYPEIDrrr�r�iS)z=enum_specifier -> ENUM brace_open enumerator_list brace_closerr�p_enum_specifier_2r�iX)z@enum_specifier -> ENUM ID brace_open enumerator_list brace_closerr�p_enum_specifier_3r�i])zDenum_specifier -> ENUM TYPEID brace_open enumerator_list brace_closerrr�r�i^)zenumerator_list -> enumeratorr8r�p_enumerator_listr�ic)z(enumerator_list -> enumerator_list COMMAr8rr�r�id)z3enumerator_list -> enumerator_list COMMA enumeratorr8rr�r�ie)z7alignment_specifier -> _ALIGNAS LPAREN type_name RPARENrr�p_alignment_specifierr�ip)zAalignment_specifier -> _ALIGNAS LPAREN constant_expression RPARENrrr�r�iq)zenumerator -> IDr9r�p_enumeratorr�iv)z+enumerator -> ID EQUALS constant_expressionr9rr�r�iw)zdeclarator -> id_declaratorrr�p_declaratorr�i�)zdeclarator -> typeid_declaratorrrr�r�i�)z(pointer -> TIMES type_qualifier_list_optr
r�	p_pointerr�i�)z0pointer -> TIMES type_qualifier_list_opt pointerr
rr�r�i�)z%type_qualifier_list -> type_qualifierr$r�p_type_qualifier_listr�i)z9type_qualifier_list -> type_qualifier_list type_qualifierr$rr�r�i)z%parameter_type_list -> parameter_listr3r�p_parameter_type_listr�i)z4parameter_type_list -> parameter_list COMMA ELLIPSISr3rr�r�i)z'parameter_list -> parameter_declarationr5r�p_parameter_listr�i$)z<parameter_list -> parameter_list COMMA parameter_declarationr5rr�r�i%)z=parameter_declaration -> declaration_specifiers id_declaratorr7r�p_parameter_declaration_1r�i8)zIparameter_declaration -> declaration_specifiers typeid_noparen_declaratorr7rr�r�i9)zGparameter_declaration -> declaration_specifiers abstract_declarator_optr7r�p_parameter_declaration_2r�iD)zidentifier_list -> identifierr6r�p_identifier_listr�id)z3identifier_list -> identifier_list COMMA identifierr6rr�r�ie)z$initializer -> assignment_expressionrKr�p_initializer_1r�in)z:initializer -> brace_open initializer_list_opt brace_closerKr�p_initializer_2r�is)z<initializer -> brace_open initializer_list COMMA brace_closerKrr�r�it)z/initializer_list -> designation_opt initializerrYr�p_initializer_listr�i|)zFinitializer_list -> initializer_list COMMA designation_opt initializerrYrr�r�i})z%designation -> designator_list EQUALSr[r�
p_designationr�i�)zdesignator_list -> designatorr\r�p_designator_listr�i�)z-designator_list -> designator_list designatorr\rr�r�i�)z3designator -> LBRACKET constant_expression RBRACKETr]r�p_designatorr�i�)zdesignator -> PERIOD identifierr]rr�r�i�)z=type_name -> specifier_qualifier_list abstract_declarator_optr>r�p_type_namer�i�)zabstract_declarator -> pointerrPr�p_abstract_declarator_1r�i�)z9abstract_declarator -> pointer direct_abstract_declaratorrPr�p_abstract_declarator_2r�i�)z1abstract_declarator -> direct_abstract_declaratorrPr�p_abstract_declarator_3r�i�)z?direct_abstract_declarator -> LPAREN abstract_declarator RPARENrQr�p_direct_abstract_declarator_1r�i�)zddirect_abstract_declarator -> direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKETrQr�p_direct_abstract_declarator_2r�i�)zadirect_abstract_declarator -> LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrQr�p_direct_abstract_declarator_3r�i�)zPdirect_abstract_declarator -> direct_abstract_declarator LBRACKET TIMES RBRACKETrQr�p_direct_abstract_declarator_4r�i�)z5direct_abstract_declarator -> LBRACKET TIMES RBRACKETrQr�p_direct_abstract_declarator_5r�i�)z^direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list_opt RPARENrQr�p_direct_abstract_declarator_6r�i�)zCdirect_abstract_declarator -> LPAREN parameter_type_list_opt RPARENrQr�p_direct_abstract_declarator_7r�i�)zblock_item -> declarationrAr�p_block_itemr�i)zblock_item -> statementrArr�r�i)zblock_item_list -> block_itemr@r�p_block_item_listr�i	)z-block_item_list -> block_item_list block_itemr@rr�r�i
)z@compound_statement -> brace_open block_item_list_opt brace_closer&r�p_compound_statement_1r�i)z5labeled_statement -> ID COLON pragmacomp_or_statementrCr�p_labeled_statement_1r�i)zKlabeled_statement -> CASE constant_expression COLON pragmacomp_or_statementrCr�p_labeled_statement_2r�i)z:labeled_statement -> DEFAULT COLON pragmacomp_or_statementrCr�p_labeled_statement_3r�i)zJselection_statement -> IF LPAREN expression RPAREN pragmacomp_or_statementrEr�p_selection_statement_1r�i")zYselection_statement -> IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statementrEr	�p_selection_statement_2r�i&)zNselection_statement -> SWITCH LPAREN expression RPAREN pragmacomp_or_statementrEr�p_selection_statement_3r�i*)zMiteration_statement -> WHILE LPAREN expression RPAREN pragmacomp_or_statementrFr�p_iteration_statement_1r�i/)zUiteration_statement -> DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMIrFr	�p_iteration_statement_2r�i3)zwiteration_statement -> FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrFr�p_iteration_statement_3r�i7)zoiteration_statement -> FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrFr
�p_iteration_statement_4r�i;)zjump_statement -> GOTO ID SEMIrGr�p_jump_statement_1r�i@)zjump_statement -> BREAK SEMIrGr�p_jump_statement_2r�iD)zjump_statement -> CONTINUE SEMIrGr�p_jump_statement_3r�iH)z(jump_statement -> RETURN expression SEMIrGr�p_jump_statement_4r�iL)zjump_statement -> RETURN SEMIrGrr�r�iM)z+expression_statement -> expression_opt SEMIrDr�p_expression_statementr�iR)z#expression -> assignment_expressionrIr�p_expressionr�iY)z4expression -> expression COMMA assignment_expressionrIrr�r�iZ)z9assignment_expression -> LPAREN compound_statement RPARENrJr�#p_parenthesized_compound_expressionr�if)ztypedef_name -> TYPEIDrr�p_typedef_namer�ij)z/assignment_expression -> conditional_expressionrJr�p_assignment_expressionr�in)zSassignment_expression -> unary_expression assignment_operator assignment_expressionrJrr�r�io)zassignment_operator -> EQUALSrWr�p_assignment_operatorr�i|)zassignment_operator -> XOREQUALrWrr�r�i})z!assignment_operator -> TIMESEQUALrWrr�r�i~)zassignment_operator -> DIVEQUALrWrr�r�i)zassignment_operator -> MODEQUALrWrr�r�i�)z assignment_operator -> PLUSEQUALrWrr�r�i�)z!assignment_operator -> MINUSEQUALrWrr�r�i�)z"assignment_operator -> LSHIFTEQUALrWrr�r�i�)z"assignment_operator -> RSHIFTEQUALrWrr�r�i�)zassignment_operator -> ANDEQUALrWrr�r�i�)zassignment_operator -> OREQUALrWrr�r�i�)z-constant_expression -> conditional_expressionr(r�p_constant_expressionr�i�)z+conditional_expression -> binary_expressionr)r�p_conditional_expressionr�i�)zZconditional_expression -> binary_expression CONDOP expression COLON conditional_expressionr)rr�r�i�)z$binary_expression -> cast_expressionr*r�p_binary_expressionr�i�)z>binary_expression -> binary_expression TIMES binary_expressionr*rr�r�i�)z?binary_expression -> binary_expression DIVIDE binary_expressionr*rr�r�i�)z<binary_expression -> binary_expression MOD binary_expressionr*rr�r�i�)z=binary_expression -> binary_expression PLUS binary_expressionr*rr�r�i�)z>binary_expression -> binary_expression MINUS binary_expressionr*rr�r�i�)z?binary_expression -> binary_expression RSHIFT binary_expressionr*rr�r�i�)z?binary_expression -> binary_expression LSHIFT binary_expressionr*rr�r�i�)z;binary_expression -> binary_expression LT binary_expressionr*rr�r�i�)z;binary_expression -> binary_expression LE binary_expressionr*rr�r�i�)z;binary_expression -> binary_expression GE binary_expressionr*rr�r�i�)z;binary_expression -> binary_expression GT binary_expressionr*rr�r�i�)z;binary_expression -> binary_expression EQ binary_expressionr*rr�r�i�)z;binary_expression -> binary_expression NE binary_expressionr*rr�r�i�)z<binary_expression -> binary_expression AND binary_expressionr*rr�r�i�)z;binary_expression -> binary_expression OR binary_expressionr*rr�r�i�)z<binary_expression -> binary_expression XOR binary_expressionr*rr�r�i�)z=binary_expression -> binary_expression LAND binary_expressionr*rr�r�i�)z<binary_expression -> binary_expression LOR binary_expressionr*rr�r�i�)z#cast_expression -> unary_expressionr+r�p_cast_expression_1r�i�)z:cast_expression -> LPAREN type_name RPAREN cast_expressionr+r�p_cast_expression_2r�i�)z&unary_expression -> postfix_expressionr,r�p_unary_expression_1r�i�)z-unary_expression -> PLUSPLUS unary_expressionr,r�p_unary_expression_2r�i�)z/unary_expression -> MINUSMINUS unary_expressionr,rr�r�i�)z2unary_expression -> unary_operator cast_expressionr,rr�r�i�)z+unary_expression -> SIZEOF unary_expressionr,r�p_unary_expression_3r�i�)z2unary_expression -> SIZEOF LPAREN type_name RPARENr,rr�r�i�)z4unary_expression -> _ALIGNOF LPAREN type_name RPARENr,rr�r�i�)zunary_operator -> ANDr.r�p_unary_operatorr�i�)zunary_operator -> TIMESr.rrr�i�)zunary_operator -> PLUSr.rrr�i�)zunary_operator -> MINUSr.rrr�i�)zunary_operator -> NOTr.rrr�i�)zunary_operator -> LNOTr.rrr�i�)z(postfix_expression -> primary_expressionr-r�p_postfix_expression_1r�i�)zEpostfix_expression -> postfix_expression LBRACKET expression RBRACKETr-r�p_postfix_expression_2r�i�)zOpostfix_expression -> postfix_expression LPAREN argument_expression_list RPARENr-r�p_postfix_expression_3r�i�)z6postfix_expression -> postfix_expression LPAREN RPARENr-rrr�i�)z2postfix_expression -> postfix_expression PERIOD IDr-r�p_postfix_expression_4r�i�)z6postfix_expression -> postfix_expression PERIOD TYPEIDr-rrr�i�)z1postfix_expression -> postfix_expression ARROW IDr-rrr�i�)z5postfix_expression -> postfix_expression ARROW TYPEIDr-rrr�i�)z1postfix_expression -> postfix_expression PLUSPLUSr-r�p_postfix_expression_5r�i�)z3postfix_expression -> postfix_expression MINUSMINUSr-rrr�i�)zUpostfix_expression -> LPAREN type_name RPAREN brace_open initializer_list brace_closer-r�p_postfix_expression_6r�i�)z[postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list COMMA brace_closer-r	rr�i�)z primary_expression -> identifierr/r�p_primary_expression_1r�i�)zprimary_expression -> constantr/r�p_primary_expression_2r�i)z,primary_expression -> unified_string_literalr/r�p_primary_expression_3r�i)z-primary_expression -> unified_wstring_literalr/rr	r�i)z.primary_expression -> LPAREN expression RPARENr/r�p_primary_expression_4r�i
)zWprimary_expression -> OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPARENr/r�p_primary_expression_5r�i)z(offsetof_member_designator -> identifierr`r�p_offsetof_member_designatorr�i)zJoffsetof_member_designator -> offsetof_member_designator PERIOD identifierr`rrr�i)zUoffsetof_member_designator -> offsetof_member_designator LBRACKET expression RBRACKETr`rrr�i)z1argument_expression_list -> assignment_expressionr^r�p_argument_expression_listr�i$)zPargument_expression_list -> argument_expression_list COMMA assignment_expressionr^rr
r�i%)zidentifier -> IDr0r�p_identifierr�i.)zconstant -> INT_CONST_DECr1r�p_constant_1r�i2)zconstant -> INT_CONST_OCTr1rrr�i3)zconstant -> INT_CONST_HEXr1rrr�i4)zconstant -> INT_CONST_BINr1rrr�i5)zconstant -> INT_CONST_CHARr1rrr�i6)zconstant -> FLOAT_CONSTr1r�p_constant_2r�iI)zconstant -> HEX_FLOAT_CONSTr1rrr�iJ)zconstant -> CHAR_CONSTr1r�p_constant_3r�iZ)zconstant -> WCHAR_CONSTr1rrr�i[)zconstant -> U8CHAR_CONSTr1rrr�i\)zconstant -> U16CHAR_CONSTr1rrr�i])zconstant -> U32CHAR_CONSTr1rrr�i^)z(unified_string_literal -> STRING_LITERALr'r�p_unified_string_literalr�ii)z?unified_string_literal -> unified_string_literal STRING_LITERALr'rrr�ij)z*unified_wstring_literal -> WSTRING_LITERALr2r�p_unified_wstring_literalr�it)z+unified_wstring_literal -> U8STRING_LITERALr2rrr�iu)z,unified_wstring_literal -> U16STRING_LITERALr2rrr�iv)z,unified_wstring_literal -> U32STRING_LITERALr2rrr�iw)zBunified_wstring_literal -> unified_wstring_literal WSTRING_LITERALr2rrr�ix)zCunified_wstring_literal -> unified_wstring_literal U8STRING_LITERALr2rrr�iy)zDunified_wstring_literal -> unified_wstring_literal U16STRING_LITERALr2rrr�iz)zDunified_wstring_literal -> unified_wstring_literal U32STRING_LITERALr2rrr�i{)zbrace_open -> LBRACEr%r�p_brace_openr�i�)zbrace_close -> RBRACEr;r�
p_brace_closer�i�)zempty -> <empty>r�r�p_emptyr�i�N)�_tabversion�
_lr_method�
_lr_signature�_lr_action_items�
_lr_action�items�_k�_v�zip�_x�_y�_lr_goto_items�_lr_goto�_lr_productions�r%r%�G/usr/local/CyberPanel/lib/python3.10/site-packages/pycparser/yacctab.py�<module>sH������������������D�