????

Your IP : 3.149.255.21


Current Path : /lib/python3.9/site-packages/pycparser/__pycache__/
Upload File :
Current File : //lib/python3.9/site-packages/pycparser/__pycache__/yacctab.cpython-39.pyc

a

�,Nb��f@s�dZdZdZgd�gd�fgd�gd�fgd�gd�fgd	�gd
�fgd�gd�fgd
�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd �fgd�gd!�fgd"�gd#�fgd"�gd$�fgd"�gd%�fgd&�gd'�fgd&�gd(�fgd)�gd*�fgd&�gd+�fgd&�gd,�fgd&�gd-�fgd�gd.�fgd�gd/�fgd0�gd1�fgd2�gd3�fgd4�gd5�fgd4�gd6�fgd4�gd7�fgd4�gd8�fgd9�gd:�fgd4�gd;�fgd4�gd<�fgd4�gd=�fgd4�gd>�fgd4�gd?�fgd4�gd@�fgdA�gdB�fgdA�gdC�fgdD�gdE�fgdF�gdG�fgdF�gdH�fgdF�gdI�fgdD�gdJ�fgdD�gdK�fgdD�gdL�fgdD�gdM�fgdD�gdN�fgdD�gdO�fgdD�gdP�fgdD�gdQ�fgdD�gdR�fgdD�gdS�fgdD�gdT�fgdD�gdU�fgdV�gdW�fgdX�gdY�fgdZ�gd[�fd\gd]gfgd^�gd_�fgd`�gda�fgdb�gdc�fgdd�gde�fgdf�gdg�fgdh�gdi�fgdj�gdk�fgdl�gdm�fgdn�gdo�fgdn�gdp�fgdn�gdq�fgdn�gdr�fgdn�gds�fgdn�gdt�fgdn�gdu�fgdn�gdv�fgdn�gdw�fgdn�gdx�fgdy�gdz�fgdy�gd{�fgdy�gd|�fgdy�gd}�fgdy�gd~�fgdy�gd�fgdy�gd��fgdy�gd��fgdy�gd��fgdy�gd��fgdy�gd��fgdy�gd��fgdy�gd��fgdy�gd��fgdy�gd��fd�gd�gfd��eZiZe��D]F\ZZeed�ed��D](\Z	Z
e	ev�r�iee	<e
ee	e<�q��q�[d�gd�gfd�gd�gfgd��gd��fd�d�gd�d�gfd�d�gd�d�gfgd��gd��fd�d�gd�d�gfgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fd�d�gd�d�gfd�d�gd�d�gfd�d�gd�d�gfd�d�gd�d�gfgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd¢gdâfd�d�gd�d�gfd�d�gd�d�gfd�d�gd�d�gfgdɢgdʢfgdˢgd̢fgd͢gd΢fgdϢgdТfgdѢgdҢfgdӢgdԢfgdѢgdբfgdӢgd֢fgdעgdآfgd٢gdڢfgdۢgdܢfgdݢgdޢfgdߢgd�fgd�gd�fgd�gd�fgd�gd�fd�gd�gfd�gd�gfd�d�gd�d�gfgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd�gd�fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��gd��fgd��g�d�fg�d�g�d�fgd��g�d�fgd��g�d�fgd��g�d�fgd��g�d�fg�d�g�d�fg�d	�g�d
�f�dg�dgf�d�d
g�d�dgf�d�dg�d�dgfg�d�g�d�fg�d�g�d�f�dg�dgf�dg�dgf�d�dg�d�dgfg�d�g�d�fg�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/�fg�d0�g�d1�f�d2g�d3gf�d4g�d5gf�d6�`ZiZe��D]F\ZZeed�ed��D](\Z	Z
e	ev�r�iee	<e
ee	e<�q��q�[g�d7�Z
�d8S(9z3.10ZLALRauKtranslation_unit_or_emptyleftLORleftLANDleftORleftXORleftANDleftEQNEleftGTGELTLEleftRSHIFTLSHIFTleftPLUSMINUSleftTIMESDIVIDEMODAND ANDEQUAL ARROW AUTO BREAK CASE CHAR CHAR_CONST COLON COMMA CONDOP CONST CONTINUE DEFAULT DIVEQUAL DIVIDE DO DOUBLE ELLIPSIS ELSE ENUM EQ EQUALS EXTERN FLOAT FLOAT_CONST FOR GE GOTO GT HEX_FLOAT_CONST ID IF INLINE INT INT_CONST_BIN INT_CONST_CHAR INT_CONST_DEC INT_CONST_HEX INT_CONST_OCT LAND LBRACE LBRACKET LE LNOT LONG LOR LPAREN LSHIFT LSHIFTEQUAL LT MINUS MINUSEQUAL MINUSMINUS MOD MODEQUAL NE NOT OFFSETOF OR OREQUAL PERIOD PLUS PLUSEQUAL PLUSPLUS PPHASH PPPRAGMA PPPRAGMASTR RBRACE RBRACKET REGISTER RESTRICT RETURN RPAREN RSHIFT RSHIFTEQUAL SEMI SHORT SIGNED SIZEOF STATIC STRING_LITERAL STRUCT SWITCH TIMES TIMESEQUAL TYPEDEF TYPEID UNION UNSIGNED VOID VOLATILE WCHAR_CONST WHILE WSTRING_LITERAL XOR XOREQUAL _BOOL _COMPLEX __INT128abstract_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
         pp_directive  : PPHASH
         pppragma_directive      : PPPRAGMA
                                    | PPPRAGMA PPPRAGMASTR
         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
         pragmacomp_or_statement     : pppragma_directive 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  : 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
         storage_class_specifier : AUTO
                                    | REGISTER
                                    | STATIC
                                    | EXTERN
                                    | TYPEDEF
         function_specifier  : INLINE
         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
         type_qualifier  : CONST
                            | RESTRICT
                            | VOLATILE
         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
         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
         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
         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
         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
         unified_string_literal  : STRING_LITERAL
                                    | unified_string_literal STRING_LITERAL
         unified_wstring_literal : WSTRING_LITERAL
                                    | unified_wstring_literal WSTRING_LITERAL
         brace_open  :   LBRACE
         brace_close :   RBRACE
        empty : )����������	�
��7�M�N�i����	)����ri���i��������������������������������������������������6���(rrrrrrr	r
��rr��������������!�"�#�$�%�&�'�(�)�*�+�,�-�.�/�0�1�2�3�4r
�<�=�>�?�@�A�B�C�E�F�H�I�J�K�Lrr�Q�R�S�T�U�V�W�X�Y�Z�[�\�b�c�e�f�g�hr�j�l�n�������r������������������������������������������������������������r�������������������������������r�
������������ �!�"�F�G�H�J�K�L�N�O�^�_�`�a�t�u�x�y�z�}�~��������������������������������������������������������������������������������������	�
����(r
r
rrrrrrrrrr����rrr������r����������������#���������������������������������������������������������������rrr�^���������������i����i��i���������]�����������rr����������������������i����i�i��������h����g��������|����{���rsr rr;�����������rsrsrs�y����r���r!r�o����n����~�����r�8����:����9������������������������rTr���rr�r�r��%����"���������������������������������������������������������������������������r"�����������O������������������f���rs�w���rs�u����z����q���r��������i��i���m����k����}���r#�7���r[r����rir�&���re���rr��*����)���r��'���������������������������������������������e����d����x����v����p����i����5���r�3�������$������rr�+����(����!��������������������
������������
����	�������������������������������������������������������N�������������������l����j����4���r���rrr�����������M������������2���r��0����/��������r���r����1�������.���rr�,����-���)rrrrrrr	r
rrr
rrrrrr)rrrrrrrrrrrrrr r!r"r#)Hrrrrrrr	r
rrr
rrrdrgrrhrmrnrorqrrsrtrwrxryrzr{r|r}r~rr�r�r�rr�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr
rrrrrrrrrr)HrrrrrrrrrrrrrrPrr rrrrrWr!rXrYrr\r]r^r_r`rarbrcrdrerr"rrr�r#r�rrr�rr�r�r�r�r�r�rr�r�r�r�r�rrrr�r�r�r�rr�r�rrr�r�(rrrrrrr	r
r$rr�r'r(r)r*r+r,�r.�r/r0r1r2�� r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErF�5�6r
rGrHrJrKrLrM�D�Grr�O�PrWrXrYrZr[r\�^�_�`�arbrc�drdrerfrrh�o�q�r�s�t�u�v�~������rprrrrurwrxryrzr{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��#�$�%�&�'�(�)�*�+�,�-�.�/�0�1�2�3�4�5�6�7�8�9�:�;�<�=�>�?�@�A�B�C�D�E�I�M�S�T�U�X�Y�[�\�]�i�j�m�p�rr�r�r�r��{�|r�r�r��r�r�r�r��������r��r��rr��r����������������r
rrrr�r�r���rrrrrr(r-r-rrrrrrr-rrr-rrrrr r-r-r"rr#r$r%r&rbrer'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:�t����s���rr-r-r<r=r>r?r-r-rrrrkrFrGrHrIrJrK�\����������Z���rNrO�rPrQrRr r�r-rkrrkrkrrnr-r-rk�[����Y���rprprVr!r-rZr�r\r]r^r_r`rarbrcrdrerkrkr�r�rkrkrkrkrk���������������r"rrkrrnrsrkrkrkr-r-rr�rprkr�r�r�r�r�rkr�r#r�r�rkr�r�rkrkrkrkr�r�rkr�r�r�rk� �������������������������������������������rkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkr�r�rkrk���rk��rkrkrsrkrkrrkr-rkrkr�r�r�r�r-rkr�r�r�rkr�rkr�r�r�J���rkrrnrsr�rkr�rr�r�rkrkrkrkrkrkr�rsrkrkr�r�r�r�rkr�rrkrkrkr�r�r�r�r�r�(Grrrrrrr	r
r$rrr&r�r'r(r)r*r+r,r-r�r.r�r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr
rGrHrJrKrLrMr�r�rTrUrrr�rVrWrXrYrZr[r\r�r�r�r�rbrcrdrerfrrhrjr�r�r�r�r�r�r�rkr�r�rlr�r�rprrrrurwrxryrzr{r|r}r~rr�r�r�r�r��r��r�r�rrrrrr	r
rr�rr
r�r�r�r���r�r�r�r�r�r�r�r�r�r�r�rr�rrrrrrrr�r�r��rr����r�rr�r�r�r�r�rr�rr�r�rr�r�r�rrr r�r�r�r�r�r�r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rAr�r�rDrEr�r�rFrGrHrIrKrLrMr�r�r�r��g�hrNrPrQrRr�r�r�r�rSrTr�r�r�rUr����r�r�r�r�r�r�r�r�r�rVrWr�r�r�r�rXrYrZ������r[rr\rr]rrr^rr_rrr`rbrcrrrdrerf������������r
rrrr���rrrgr�rri��rrrrrrr(Gr�r�rrrrrrr�rrr�r�rrrrr r�r!r�r"rr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr�r�r<r=r>r?r�r�r�rDrrrr�rFrGrHrIrJrKrlrmrnrorNrOrPrQrRr rr�r�rrrrrnrrTr�rrUrqrrrVr!r�rZrr\r]r^r_r`rarbrcrdrerTrrrrr rr�rrArDrDrrErsrtrurvrmrwrxrnrorprq�Prrrsrtrurvrwrxryrzr{r|r"r~rrrrnrsrrr�r�rrOrr�����sr�rr�r�r�r�r�rr�r#r�rrrr�rr�rrrrr�rr�r�r�rryrzr{r|r}r~rr�r�r�r�rrrrrrrrrrrrrrrrrrrrrr�r�rrr�r�r�rr�rrsrrr�r�r�r�rOr�rrrrr�r�r�r�r�rr�rr�rr�r�r�r^r�rr�r�r�r�r�r�r�rr�r�r�r�r�rrrn�A����;����=���rsr�rrrrrrrrr�r�rrr�r�r�rsrr���������?����@����>����<���r�r�r�r�r��������rr�rrr�r��������r�r�r�rrr�r�(1rrrrrrr	r
r$rrr'r(r)r*r+r,r�r.r�r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr
rGrHrJrKrLrMr�rrr�rWrXrYrZr[r\r�r�r�r�rbrcrdrerfrrhr�r�r�r�r�r�r�rkr�r�r�rprrrrurwrxryrzr{r|r}r~rr�r�r�rrr�r�r�r�r�rrrr�rrr	r
rr�rr
r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrrr�rr�r�r�r�r�rr�rr�r�r�rr�r�rr�rrr r�r�r�r�r�r�r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rAr�r�r�rDr�r�r�rEr�r�rFrGrHrIrKrLrMrNrQrRr�r�r�r�rSrTr�r�r�rUr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rVrWrXrYrZr[rr\rr]rrrr^rr_rrr`r	rbrcrdrerfr
rrrr�rrrgr�rrirrrrrrr(1r�r�rrrrrrr�rrrrrrr r�r�r"rr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr�r�r<r=r>r?r�rrrrFrGrHrIrJrKr�rmrnrorNrOrPrQrRr rr�rrrrrnr�rTr�rrrrVr!r�rZrr\r]r^r_r`rarbrcrdrerTrrrrrir.rkrrrrlrrsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|r"rrKrrnrsrrr��qr�rr�r�r�r�r�rr�r#r�rrirrr�rr�rrrrr�rr�r�r�rryrzr{r|r}r~rr�r�r�r�rrrrrrrrrrrrrrrrrrrrrr�r�r�rr�r�r�rr�r�r�rr�rrsrrrrr[r�r�r�r�r�rr�rr�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�rr�rdrrnrsr�rrrr�rrrrrr�r�rr�rr�rsrrr�r�r�r�rrr�rrr�rr�r�r�rrr�r�)�rrrrrrr	r
�
r$rrr&r'r(r)r*r+r,r-r.r�r/r0r1r2r�r�r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr�r�r
�:�;rGrHrIrJrKrLrMr�r�rrr�rVrWrXrYrZr[r\r�r�r�r�rbrcrdrerfrgrrh�kr�r�r��r�rlr�r�rmrnrorprqrrrrsrtru�rwrxryrzr{r|r}r~rr�r�rrr�r���rrr�r�r�r�r�r�r�r�r�r�rr�rr�r�r�r�r�r�r�rBrCrDrEr�r�r�rOr�r�r�r�r�r�rSr�r�r�r�r�r�r�r�rr
rrrrrrr)�r2r2rrrrrrr2rUrrrrrrrr r2r!r"rr#r$r%r&rcrfr'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rjrkrr2���rUr2r2r<r=r>r?rUrUrrr2rErFrGrHrIrJrKrlrmrnrorNrOrPrQrRr2r r2���rUr2r�r2rUrUrqrrr2r2r2rVrWr!rUrXrYrZr2r2r\r]r^r_r`rarbrcrdrer2r"r�r�r2r�r2r�r2r�r2r�r�r�r�r�r�r#r�r2r�rer�r2r�r�r�r�r�r2r2r2r�r�r2r2r�r�r�r�r�rUr�r�r2r�r�r�r�r�r�r�r�r�r�r�r�r�r�)qrrrrrrr	r
r�rrr&r'r(r)r,r-r.r?r@rArBrCrDrErFr
r�r�rHrIrrr�rVrWrXrYrZr[r�rdrgrrhr�r�r�rlr�rmrnrorqrrsrtr�rwrxryrzr{r|r}r~rr�r�rrr�r�r�rr�r�r�rr�rr�r�r�r�r�r�r�rDrEr�r�r�rOr�r�r�r�r�r�r�r�r�r�rr
rrrrrrr)qr�r�rrrrrrr�rrrrrrr�r!r"r3r4r5r6r7r8r9r:rr�r�r�r�rrr�rErFrGrHrIrJrorPr�r r�r�r�r�rUrrr�r�r�rWr!rXrYr�r�r\r]r^r_r`rarbrcrdrer�r"r�r�r�r�r�r�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�)�rrrrrrr	r
r�r$rrr&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr
r�r�rGrHrIrJrKrLrMrrr�rVrWrXrYrZr[r\r�rbrcrdrerfrgrrhr�r�r�r�rlr�rmrnrorprqrrrrsrtrur�rwrxryrzr{r|r}r~rr�r�rrr�r�r�rr�r�r�r�r�r�r�r�r�r�rr�rr�r�r�r�r�r�r�r�rDrEr�r�r�rOr�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrrrrr)�r3r3rrrrrrr3r3rrrrrrrr r3r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr3r�r3r3r3r<r=r>r?rrr3rErFrGrHrIrJrKrorNrOrPrQrRr3r r3r�r3r3r3rUrrr3r3r3rVrWr!r3rXrYrZr3r3r\r]r^r_r`rarbrcrdrer3r"r�r�r3r3r�r3r�r3r�r�r�r�r�r�r#r�r3r�r3rer�r3r�r�r�r3r3r3r�r�r3r3r�r�r�r�r�r�r�r3r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r4r4rrrrrrr4r4rrrrrrrr r4r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr4r�r4r4r4r<r=r>r?rrr4rErFrGrHrIrJrKrorNrOrPrQrRr4r r4r�r4r4r4rUrrr4r4r4rVrWr!r4rXrYrZr4r4r\r]r^r_r`rarbrcrdrer4r"r�r�r4r4r�r4r�r4r�r�r�r�r�r�r#r�r4r�r4rer�r4r�r�r�r4r4r4r�r�r4r4r�r�r�r�r�r�r�r4r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r5r5rrrrrrr5r5rrrrrrrr r5r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr5r�r5r5r5r<r=r>r?rrr5rErFrGrHrIrJrKrorNrOrPrQrRr5r r5r�r5r5r5rUrrr5r5r5rVrWr!r5rXrYrZr5r5r\r]r^r_r`rarbrcrdrer5r"r�r�r5r5r�r5r�r5r�r�r�r�r�r�r#r�r5r�r5rer�r5r�r�r�r5r5r5r�r�r5r5r�r�r�r�r�r�r�r5r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r6r6rrrrrrr6r6rrrrrrrr r6r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr6r�r6r6r6r<r=r>r?rrr6rErFrGrHrIrJrKrorNrOrPrQrRr6r r6r�r6r6r6rUrrr6r6r6rVrWr!r6rXrYrZr6r6r\r]r^r_r`rarbrcrdrer6r"r�r�r6r6r�r6r�r6r�r�r�r�r�r�r#r�r6r�r6rer�r6r�r�r�r6r6r6r�r�r6r6r�r�r�r�r�r�r�r6r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r7r7rrrrrrr7r7rrrrrrrr r7r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr7r�r7r7r7r<r=r>r?rrr7rErFrGrHrIrJrKrorNrOrPrQrRr7r r7r�r7r7r7rUrrr7r7r7rVrWr!r7rXrYrZr7r7r\r]r^r_r`rarbrcrdrer7r"r�r�r7r7r�r7r�r7r�r�r�r�r�r�r#r�r7r�r7rer�r7r�r�r�r7r7r7r�r�r7r7r�r�r�r�r�r�r�r7r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r8r8rrrrrrr8r8rrrrrrrr r8r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr8r�r8r8r8r<r=r>r?rrr8rErFrGrHrIrJrKrorNrOrPrQrRr8r r8r�r8r8r8rUrrr8r8r8rVrWr!r8rXrYrZr8r8r\r]r^r_r`rarbrcrdrer8r"r�r�r8r8r�r8r�r8r�r�r�r�r�r�r#r�r8r�r8rer�r8r�r�r�r8r8r8r�r�r8r8r�r�r�r�r�r�r�r8r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r9r9rrrrrrr9r9rrrrrrrr r9r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr9r�r9r9r9r<r=r>r?rrr9rErFrGrHrIrJrKrorNrOrPrQrRr9r r9r�r9r9r9rUrrr9r9r9rVrWr!r9rXrYrZr9r9r\r]r^r_r`rarbrcrdrer9r"r�r�r9r9r�r9r�r9r�r�r�r�r�r�r#r�r9r�r9rer�r9r�r�r�r9r9r9r�r�r9r9r�r�r�r�r�r�r�r9r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r:r:rrrrrrr:r:rrrrrrrr r:r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr:r�r:r:r:r<r=r>r?rrr:rErFrGrHrIrJrKrorNrOrPrQrRr:r r:r�r:r:r:rUrrr:r:r:rVrWr!r:rXrYrZr:r:r\r]r^r_r`rarbrcrdrer: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�r:r:r:r�r�r:r:r�r�r�r�r�r�r�r:r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r;r;rrrrrrr;r;rrrrrrrr r;r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr;r�r;r;r;r<r=r>r?rrr;rErFrGrHrIrJrKrorNrOrPrQrRr;r r;r�r;r;r;rUrrr;r;r;rVrWr!r;rXrYrZr;r;r\r]r^r_r`rarbrcrdrer;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�r;r;r;r�r�r;r;r�r�r�r�r�r�r�r;r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r<r<rrrrrrr<r<rrrrrrrr r<r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr<r�r<r<r<r<r=r>r?rrr<rErFrGrHrIrJrKrorNrOrPrQrRr<r r<r�r<r<r<rUrrr<r<r<rVrWr!r<rXrYrZr<r<r\r]r^r_r`rarbrcrdrer<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�r<r<r<r�r�r<r<r�r�r�r�r�r�r�r<r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r=r=rrrrrrr=r=rrrrrrrr r=r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr=r�r=r=r=r<r=r>r?rrr=rErFrGrHrIrJrKrorNrOrPrQrRr=r r=r�r=r=r=rUrrr=r=r=rVrWr!r=rXrYrZr=r=r\r]r^r_r`rarbrcrdrer=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�r=r=r=r�r�r=r=r�r�r�r�r�r�r�r=r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�r>r>rrrrrrr>r>rrrrrrrr r>r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr>r�r>r>r>r<r=r>r?rrr>rErFrGrHrIrJrKrorNrOrPrQrRr>r r>r�r>r>r>rUrrr>r>r>rVrWr!r>rXrYrZr>r>r\r]r^r_r`rarbrcrdrer>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�r>r>r>r�r�r>r>r�r�r�r�r�r�r�r>r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�rrrrrrr	r
r�r$rrr&r'r(r)r*r+r-r.r�r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr
r�r�rGrIrJrKrLrMrrr�r�rVr\r�r�rbrcrdrerfrgrrhr�r�r�r�r�r�rlr�rmrnrorprqrrrrsrtrur�rwrxryrzr{r|r}r~rr�r�rrrrr�r�r�rrr�r�r�r�r�r�r�r�r�r�rr�rr�r�r�r�r�r�r�r�rDrEr�r�r�rNrOr�r�r�r�r�r�r�r�r�r�r�r�r�r�rYrZrr
rrrrrrr)�r?r?rrrrrrr?r?rrrr?r?r?rr r!r"r?r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr?r�r?r?r<r=r>r?rrr?r?rErKr?rorNrOrPrQrRr?r r?r�r?r?r?r?r?rUrrr?r?r?rVrWr!r?rXrYrZr?r?r\r]r^r_r`rarbrcrdrer?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�r?r?r?r�r�r?r?r?r�r�r�r�r�r�r�r?r�r�r�r�r�r?r?r�r�r�r�r�r�r�r�r�)�r@r@rrrrrrr@r@rrrr@r@r@rr r!r"r@r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr@r�r@r@r<r=r>r?rrr@r@rErKr@rorNrOrPrQrRr@r r@r�r@r@r@r@r@rUrrr@r@r@rVrWr!r@rXrYrZr@r@r\r]r^r_r`rarbrcrdrer@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�r@r@r@r�r�r@r@r@r�r�r�r�r�r�r�r@r�r�r�r�r�r@r@r�r�r�r�r�r�r�r�r�)�rArArrrrrrrArArrrrArArArr r!r"rAr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrAr�rArAr<r=r>r?rrrArArErKrArorNrOrPrQrRrAr rAr�rArArArArArUrrrArArArVrWr!rArXrYrZrArAr\r]r^r_r`rarbrcrdrerAr"rArAr�r�rArArAr�rAr�rAr�r�r�r�r�r�r#r�rAr�rArer�rAr�r�r�rArArAr�r�rArArAr�r�r�r�r�r�r�rAr�r�r�r�r�rArAr�r�r�r�r�r�r�r�r�)}rrrrrrr	r
r�r$rrr&r'r(r)r*r+r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr
r�r�rGrIrJrKrLrMrrr�rVr\rbrcrdrerfrrhr�r�r�rlrprrwrxryrzr{r|r}r~rr�r�rr�r�r�rr�r�r�r�rr�r�r�r�r�r�r�r�r�r�rOr�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrrrrr)}rBrBrrrrrrrBrBrrrrBrBrBrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrBr�rBrBr<r=r>r?rrrBrErKrNrOrPrQrRr rBr�rBrBrUrVr!rBr\r]r^r_r`rarbrcrdrer"r�r�rBrBr�r�r�r�r#r�r�rer�rBr�r�r�r�r�rBrBr�r�r�r�r�r�rBr�r�r�r�r�r�r�r�r�r�r�r�r�r�)}rCrCrrrrrrrCrCrrrrCrCrCrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrCr�rCrCr<r=r>r?rrrCrErKrNrOrPrQrRr rCr�rCrCrUrVr!rCr\r]r^r_r`rarbrcrdrer"r�r�rCrCr�r�r�r�r#r�r�rer�rCr�r�r�r�r�rCrCr�r�r�r�r�r�rCr�r�r�r�r�r�r�r�r�r�r�r�r�r�)�rrrrrrr	r
r�r$rrr&r'r(r)r*r+r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFr
r�r�rGrIrJrKrLrMrrr�r�rVr\r�rbrcrdrerfrrhr�r�r�r�r�rlr�rprrwrxryrzr{r|r}r~rr�r�rrr�r�r�rr�r�r�r�rr�r�r�r�r�r�r�r�r�r�rNrOr�r�r�r�r�r�r�r�r�r�r�r�r�rZrr
rrrrrrr)�r.r.rrrrrrr.r.rrrr.r.r.rr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rr.r�r.r.r<r=r>r?rrr�r.rErKrorNrOrPrQrRr r.r�rr.rr.rUrrrVr!r.r\r]r^r_r`rarbrcrdrer"rMr�r�r.r.r�r�r�r�r#r�r�rer�r.r�r�r�r�r�rYr.r.r�r�r�r�r�r�r.r�r�r�r�r�rfr�r�r�r�r�r�r�r�r�)}rDrDrrrrrrrDrDrrrrDrDrDrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrDr�rDrDr<r=r>r?rrrDrErKrNrOrPrQrRr rDr�rDrDrUrVr!rDr\r]r^r_r`rarbrcrdrer"r�r�rDrDr�r�r�r�r#r�r�rer�rDr�r�r�r�r�rDrDr�r�r�r�r�r�rDr�r�r�r�r�r�r�r�r�r�r�r�r�r�)}rErErrrrrrrErErrrrErErErr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrEr�rErEr<r=r>r?rrrErErKrNrOrPrQrRr rEr�rErErUrVr!rEr\r]r^r_r`rarbrcrdrer"r�r�rErEr�r�r�r�r#r�r�rer�rEr�r�r�r�r�rErEr�r�r�r�r�r�rEr�r�r�r�r�r�r�r�r�r�r�r�r�r�)}rFrFrrrrrrrFrFrrrrFrFrFrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:rrFr�rFrFr<r=r>r?rrrFrErKrNrOrPrQrRr rFr�rFrFrUrVr!rFr\r]r^r_r`rarbrcrdrer"r�r�rFrFr�r�r�r�r#r�r�rer�rFr�r�r�r�r�rFrFr�r�r�r�r�r�rFr�r�r�r�r�r�r�r�r�r�r�r�r�r�)qr�r�rrrrrrr�rrrrrrr�r!r"r3r4r5r6r7r8r9r:rr�r�r�r�rrr�rErFrGrHrIrJrorPr�r r�r�r�r�rUrrr�r�r�rWr!rXrYr�r�r\r]r^r_r`rarbrcrdrer�r"r�r�r�r�r�r�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�)qr�r�rrrrrrr�rrrrrrr�r!r"r3r4r5r6r7r8r9r:rr�r�r�r�rrr�rErFrGrHrIrJrorPr�r r�r�r�r�rUrrr�r�r�rWr!rXrYr�r�r\r]r^r_r`rarbrcrdrer�r"r�r�r�r�r�r�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�r��8�9r�r�rIrrrVrbrcrdrerfrhr��mr�r�rlrrwrxryrzr{r|r}r~rr�r�r�rr�r�rr�r�r�r�r�r�r�r�r�rFrGrHr�r�r�r�r�rUr�r�r�rVrWr�r�rr\rr]rr��r	rbrcr
rrrrrgrrrrrr)[rrrr!rdrdrjrkrdi����i����r�rrrrErdrdrPrdrdrdr�rdrdrdrUr!rdr\r]r^r_r`rarbrcrdrerdrr�r�r#r�rdrdr�rdr�r�r�r�r�rdr�r�r�r�rdr�rdr�r�r�rr�r�r�r�rdrdrrdrdrdrdrdr�r�r�r�r�rdrr�r�rdrdr�r�)�rrrrdrgrhrk��rprmrnrorqrrsrt�rvrwrxryrzr{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��rr�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��Q�RrF�v�wr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rV�rrrrr	r
r
r��rrr�rrgrrrrrr)�rrrrPrrrTr�c����`���rrrrWr!rXrYr���i����r\r]r^r_r`rarbrcrdrerhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r�rrr�b���rrr�r#r�r�rir�rer�r�r�r�r�r�r�r�r�r�r�r�ri��i���a����_���r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�L���r�r�r�r�r�r�r�r�rr�r�r��K���r�rr�r�r�r�r�r�)1rrrrdrhrrwrxryrzr{r|r}r~rr�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr
rrrrrrrrrr)1rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#r�rrr�rr�r�r�r�r�rr�r�r�r�r�rrrr�r�r�r�rr�r�rrr�r�)1rrrrP�r!r�r\r]r^r_r`rarbrcrdrer�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)1rrrrPr�r!r�r\r]r^r_r`rarbrcrdrer�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)1rrrrPr�r!r�r\r]r^r_r`rarbrcrdrer�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)2rrrrdrhrrwrxryrzr{r|r}r~rr�r�r�rr�r�r�r��r�r�r�r�r�r�r�r�r�r�r�rrrrr
rrrrrrrrrr)2rrrrPr�r!r�r\r]r^r_r`rarbrcrdrer�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)1rrrrPr�r!r�r\r]r^r_r`rarbrcrdrer�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)1rrrrPr�r!r�r\r]r^r_r`rarbrcrdrer�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)1rrrrPrr!rr\r]r^r_r`rarbrcrdrerr#r�rrr�rr�r�r�r�r�rr�r�r�r�r�rrrr�r�r�r�rr�r�rrr�r�)1rrrrPr�r!r�r\r]r^r_r`rarbrcrdrer�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)1rrrrPr�r!r�r\r]r^r_r`rarbrcrdrer�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)1rrrrPr�r!r�r\r]r^r_r`rarbrcrdrer�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)�rr?r@rArrr�r�r�r�rdrhr�r�r�r�r�rkr�r�rrwrxryrzr{r|r}r~rr�r�r�rrr�r�r�rrrrrr	r
rr�rr
r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrrrr�r�rr�r�rrrr r�r�r�r�r�r�r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rAr�r�rDrEr�r�rFrGrHrIrKrLrMrNrQrRrTr�r�r�rUr�r�r�r�r�r�r�r�r�r�rVrWrXrYrZr[rr\rr]rrr^rr_rrr`rbrcrdrerfr
rrrr�rrrgr�rrirrrrrrr)�rr3r4r5rrrrmrnrorPrrrrrrnrTrrrr!rr\r]r^r_r`rarbrcrdrerTrrrrr�rrrrrsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|rrrrnrsrrrrrr#r�rrrr�rrrrrr�rr�r�r�rryrzr{r|r}r~rr�r�r�r�rrrrrrrrrrrrrrrrrrrrrr�r�rrr�r�r�rr�rrsrrrrrrr�rr�rr�r�rr�r�r�r�r�r�r�rr�rrrnrsr�rrrrrrrrr�r�rrr�rsrrr�r�r�r�rrr�rrr�rr�r�r�rrr�r�)�rr3r4r5rrrrmrnrorPrrrrrrnrTrrrr!rr\r]r^r_r`rarbrcrdrerTrrrrr�rrrrrsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|rrrrnrsrrrrrr#r�rrrr�rrrrrr�rr�r�r�rryrzr{r|r}r~rr�r�r�r�rrrrrrrrrrrrrrrrrrrrrr�r�rrr�r�r�rr�rrsrrrrrrr�rr�rr�r�rr�r�r�r�r�r�r�rr�rrrnrsr�rrrrrrrrr�r�rrr�rsrrr�r�r�r�rrr�rrr�rr�r�r�rrr�r�)�rr?r@rArrr�r�r�r�rdrhr�r�r�r�r�r�r�rrwrxryrzr{r|r}r~rr�r�rrr�r�rrrrrr	r
rrr
rrrrrrrrrrrr�r�rr�r�rrrr r�r�r�r�r�r�r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErFrGrHrIrKrLrMrNrQrRrTr�r�r�rUr�r�r�r�rVrWrXrYrZr[rr\rr]rrr^rr_r`rbrcrdrerfr
rrrr�rrgr�rirrrrrr)�rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#r�rrrr�rrrrrr�rr�r�r�rryrzr{r|r}r~rr�r�r�r�rrrrrrrrrrrrrrrrrrrrrrrr�rr�rrsrrrrrrr�rr�rr�rr�r�rr�rrrnrsr�rrrrrrrrrrr�rsrrr�r�r�r�rrrrrr�r�rrr�r�)�rr?r@rArrr�r�r�r�rdrhr�r�r�r�r�rkr�r�rrwrxryrzr{r|r}r~rr�r�r�rrr�r�r�r�r�rrrr�rrr	r
rr�rr
r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrrrr�r�r�rr�r�rrrr r�r�r�r�r�r�r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rAr�r�r�rDr�r�r�rEr�r�rFrGrHrIrKrLrMrNrQrRrTr�r�r�rUr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rVrWrXrYrZr[rr\rr]rrrr^rr_rrr`r	rbrcrdrerfr
rrrr�rrrgr�rrirrrrrrr)�rr3r4r5rrrrmrnrorPrrrrrrnrTrrrr!rr\r]r^r_r`rarbrcrdrerTrrrrrir;rkrrrrlrrsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|rrrrnrsrrrrrr#r�rrirrr�rrrrrr�rr�r�r�rryrzr{r|r}r~rr�r�r�r�rrrrrrrrrrrrrrrrrrrrrr�r�r�rr�r�r�rr�r�r�rr�rrsrrrrrrr�rr�rr�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�rr�rrrnrsr�rrrr�rrrrrr�r�rr�rr�rsrrr�r�r�r�rrr�rrr�rr�r�r�rrr�r�)�rr3r4r5rrrrmrnrorPr	r	rr	rrnrTr	rrr!r	r\r]r^r_r`rarbrcrdrerTr	r	r	r	rir1rkr	r	r	rlr	rsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|rr	rrnrsr	r	rr	r	r#r�r	rir	r	r�r	r	r	r	r	r�r	r�r�r�r	ryrzr{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	rsr	r	rr	r	r	r�r	r�r	r�r�r	r�r�r�r�r�r�r�r1r1r1r1r1r1r1r1r1r1r1r1r1r�r�r�r�r�rr�r	rrnrsr�r	r	rr�r	r	r	r	r	r�r�r	r�r	r�rsr	r	r�r�r�r�r	r	r�rr	r�r	r�r�r�r	r	r�r�)�rr3r4r5rrrrmrnrorPr
r
rr
rrnrTr
rrr!r
r\r]r^r_r`rarbrcrdrerTr
r
r
r
rir2rkr
r
r
rlr
rsrtrurvrmrwrxrnrorprqrrrsrtrurvrwrxryrzr{r|rr
rrnrsr
r
rr
r
r#r�r
rir
r
r�r
r
r
r
r
r�r
r�r�r�r
ryrzr{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
rsr
r
rr
r
r
r�r
r�r
r�r�r
r�r�r�r�r�r�r�r2r2r2r2r2r2r2r2r2r2r2r2r2r�r�r�r�r�rr�r
rrnrsr�r
r
rr�r
r
r
r
r
r�r�r
r�r
r�rsr
r
r�r�r�r�r
r
r�rr
r�r
r�r�r�r
r
r�r�)�rr3r4r5rrrrmrnrorPrrrrrrnrrrr!rr\r]r^r_r`rarbrcrdrerrrrrrrrrsrtrurvrwrxrrrrnrsrrrrrr#r�rrrr�rrrrrr�rr�r�r�rryrzr{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rsrrrrrrr�rr�rr�rr�r�rr�rrrnrsr�rrrrrrrrrrr�rsrrr�r�r�r�rrrrrr�r�rrr�r�)�rr3r4r5rrrrmrnrorPr
r
rr
rrnr
rrr!r
r\r]r^r_r`rarbrcrdrer
r
r
r
r
r
r
r
rsrtrurvrwrxrr
rrnrsr
r
rr
r
r#r�r
r
r
r�r
r
r
r
r
r�r
r�r�r�r
ryrzr{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
rsr
r
rr
r
r
r�r
r�r
r�r
r�r�rr�r
rrnrsr�r
r
rr
r
r
r
r
r
r
r�rsr
r
r�r�r�r�r
r
rr
r
r�r�r
r
r�r�)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxrr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxrr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxrr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxrr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxrr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxrr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxrr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxrr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxrr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxrr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)�rr?r@rArrr�r�r�r�rdrhr�r�r�r�r�r�r�rrwrxryrzr{r|r}r~rr�r�rrr�r�rrrrrr	r
rrr
r�r�rrrrrrrrrrrr�r�rr�r�rrrr r�r�r�r�r�r�r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrEr�rFrGrHrIrKrLrMrNrQrRrTr�r�r�rUr�r�r�r�rVrWrXrYrZr[rr\rr]rrr^rr_r`rbrcrdrerfr
rrrr�rrgr�rirrrrrr)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxr�r{rr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)�rr?r@rArrr�r�r�r�rdrhr�r�r�r�r�r�r�rrwrxryrzr{r|r}r~rr�r�rrr�r�rrrrrr	r
rrr
r�r�rrrrrrrrrrrr�r�rr�r�rrrr r�r�r�r�r�r�r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrEr�rFrGrHrIrKrLrMrNrQrRrTr�r�r�rUr�r�r�r�rVrWrXrYrZr[rr\rr]rrr^rr_r`rbrcrdrerfr
rrrr�rrgr�rirrrrrr)�rr3r4r5rrrrmrnrorPr�r�rr�rrnr�rrr!r�r\r]r^r_r`rarbrcrdrer�r�r�r�r�r�r�r�rsrtrurvrwrxr�r|rr�rrnrsr�r�rr�r�r#r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ryrzr{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�rsr�r�rr�r�r�r�r�r�r�r�r�r�r�rr�r�rrnrsr�r�r�rr�r�r�r�r�r�r�r�rsr�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�)rrrr{r|r}r~rr�r�rr�r�r�r�r�r�r�r�r�r�r�rr
rrrrrrr)rrr!r_r`rarbrcrdrer#r�rer�r�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�rr)Jr&r-rIrRrSrTrUrVrarirjrkrlrprr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��V�Wr�r�r�r�r�r�r�r�r�r���r�r�r�r�rrrr	��rrrrr)Jrr!r;r�rBrCrDrEr�r;rSrTrUrr!rTr"rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|r~r�r�rir�r�r�r�r�r�r�r�rW�I���r�r�r�r�r�r�r�r�r�r��H����F���r�r�r�r�r�r�r�r��G���r�r�r�r�r�)�r&r*r+r-r.r�r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrIrJrKrLrMrPrQrRrSrTrUrVr\r_r`rar�r�r�r�rbrcrerfrirj�y�{�|�}r�rkrlr�r�r�r�rprprrur�r�r�r�r�r�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�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��e�fr�r�r�r�r�r�r�r�r��r��r�r���r��r�r�r�r�r�r�r�r�r�r�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
rrr�r�r�r�r�r�r���r�r�r�r�rrr�r�r�)�rrr r!r"rr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r�r@rArBrCrDrErKr�rLrMrlrmrnrorNrOrQrRr;rSr�r�V����Q���rrTrUrqrrrr�r�rVr!rZrTrrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rr�r�r��T����S����R����D�������������r��B���r�r�rrr�r�r�r�r�r�r�rSr�r�r�r�rirrrr�r�r�r�r�r�r�r�rVr�r�r�r��U����P��������C���r�r�r�r�r�r�r�rr��E���r�r�rrr�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr`r�����r�r�r�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�rgrr�����r�r�r�r�r�r�r�r�r)�r&r*r+r-r.r�r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrJrKrLrMrTrUr�rVr\�]r�r�r�r�rbrcrerfrj�pr��w�xr��zr�r�r�r�rkrlr�r�rprrur�r�r�r�r�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�r�r�r�r�r�r�r�r�r�r��r�r�rAr�r�r�r�r�r�r�r�r�r�r�r��dr�r�r�r�rO�k�lrP�n�or�r�r�r�r��r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�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	rrr�r�r�r�r�r�r�r�rr���r�r�rr��rr�r�r��
�)�rrr r!r"rr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r<r=r>r?rCrDrrErKrlrlrmrnrorNrOrQrRrSr�rr�r�iX���i��i��r�r�rrTrUrqrrrVr!rZrfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r~r�r�r�r�r�r�r�r�r�r�r�rr�rr�r�r�r�r�r�r�r[rirUr�rr�r�r�r�r�r�r�r�r�r�r�r�r�iW���rrrrrr�r�r�i��i��rr�r�r�r�r\rr�rr�rr�rrr�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�rrr�rr����r�r�r�rrr�r�r�r�r��������)�r&r*r-r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArSrTrUrVrbrcrerfrirjrkrlrprrrrur�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��
r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�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�rrrr	rrrrrr)�rrr!r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5rBrCrDrErNrOrQrRr;rSrTrUrVr!rrZr�r�rgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r~r�r�r�r�r�r�r�r�rTr�r�r�rir�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&r*r+r-r.r�r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrJrKrLrMrTrUrVr\r�r�r�r�rbrcrdrerfrjr�rkrlr�r�rprrur�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�rr�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rPr�r�r�r�r�r�r�r�r�r�r�r�rVr�r�r�r�r�r�r�r�r�r]rrr�rrr�r�r�r�r�r�rrr�r�rrgrr�r�rrr )�r�rr r!r"rr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r<r=r>r?r�rDr�rKrlrmrnrorNrOrPrQrRr�rrTrUrqrrrVr!rZrTr@rmrnrorprqrrrsrtrurvrwrxryrzr{r|r~rIr�r�rrNrr�rRr�r�r�r�r�r�r�rr�r�r�r�rIr�r�r�r�r�rNrRrr�r�r�r�r�rrr�r�r�r�r�rIr�r�r�r�r�r�r�r�r�rIr�r�r�r�r�r�r�r�r�r�r�rir!r�r�r�rIr�r�r�r�r"r#)lr?r@rAr�r�r�r�r�r�r�rkr�rr�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�r�r�r�r�r��ZrK�b�crNrQr�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����rXrZ����r[rrrr	��rdr��rrrr�)lr3r4r5rrmrnrorrrnrTrrr!rgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rrnr�r�������rr�rir�r�r�r�r�r�r�r�r�r�r�r�rrr�rr�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rrnr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r )1rdrkrr�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�rVr�r�r]rrr�rrrrgrrrr )1rPrTr!rTrBrmrnrorprqrrrsrtrurvrwrxryrzr{r|rJr�r�r�r�rJr�r�r�r�r�r�r�rJr�r�rJr�r�r�rhr!r�rJr�r�r"r#)#rkrr�r�r�r�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)#rTr!rTrCrmrnrorprqrrrsrtrurvrwrxryrzr{r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)+rkrr�r�r�r�r�r�r�r�r�r�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	rrr)+rTr!rTr#rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)+rTr!rTr$rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)+rTr!rTr%rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)+rTr!rTr&rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)+rTr!rTr'rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)+rTr!rTr(rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)+rTr!rTr)rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)+rTr!rTr*rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)+rTr!rTr+rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)+rTr!rTr,rkrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)?rkrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�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	rrr)?rTr!rTrir-rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{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�)?rTr!rTrir/rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{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�)?rTr!rTrir0rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r�r�r�r�r�r�r�r�r�r�r�r�)?rTr!rTrir3rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r3r3r3r3r3r3r3r3r3r3r3r�r�r�r�r�r�r�r�r�r�r�r�)?rTr!rTrir4rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r4r4r4r4r4r4r4r4r4r4r4r�r�r�r�r�r�r�r�r�r�r�r�)?rTr!rTrir5rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r5r5r5r5r5r5r5r�r�r�r�r�r�r�r�r�r�r�r�)?rTr!rTrir6rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r6r6r6r6r6r6r6r�r�r�r�r�r�r�r�r�r�r�r�)?rTr!rTrir7rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r7r7r7r7r7r7r7r�r�r�r�r�r�r�r�r�r�r�r�)?rTr!rTrir8rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r8r8r8r8r8r8r8r�r�r�r�r�r�r�r�r�r�r�r�)?rTr!rTrir9rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rir�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r9r9r9r9r9r�r�r�r�r�r�r�r�r�r�r�r�)?rTr!rTrir:rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{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�)?rTr!rTrir<rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{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�)?rTr!rTrir=rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{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�)?rTr!rTrir>rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{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�)?rTr!rTrir?rkrlrmrnrorprqrrrsrtrurvrwrxryrzr{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)ez$end�SEMIZPPHASHZPPPRAGMAZIDZLPARENZTIMESZTYPEIDZENUMZVOIDZ_BOOLZCHARZSHORTZINTZLONGZFLOATZDOUBLEZ_COMPLEXZSIGNEDZUNSIGNEDZ__INT128ZCONSTZRESTRICTZVOLATILEZAUTOZREGISTERZSTATICZEXTERNZTYPEDEFZINLINEZSTRUCTZUNION�LBRACE�RBRACEZCASEZDEFAULTZIFZSWITCHZWHILEZDOZFORZGOTOZBREAKZCONTINUEZRETURNZPLUSPLUSZ
MINUSMINUSZSIZEOFZAND�PLUS�MINUSZNOTZLNOTZOFFSETOFZ
INT_CONST_DECZ
INT_CONST_OCTZ
INT_CONST_HEXZ
INT_CONST_BINZINT_CONST_CHARZFLOAT_CONSTZHEX_FLOAT_CONSTZ
CHAR_CONSTZWCHAR_CONSTZSTRING_LITERALZWSTRING_LITERAL�ELSEZPPPRAGMASTRZEQUALS�COMMAZRPAREN�COLONZLBRACKETZRBRACKETZPERIODZARROWZXOREQUALZ
TIMESEQUALZDIVEQUALZMODEQUAL�	PLUSEQUALZ
MINUSEQUALZLSHIFTEQUALZRSHIFTEQUALZANDEQUALZOREQUALZCONDOPZDIVIDEZMODZRSHIFTZLSHIFTZLTZLEZGEZGTZEQZNE�ORZXORZLANDZLOR�ELLIPSISrrr)6rr�r$r'r(r)r,r�rGrHrIr�r�rhr�r�r�r�r�rrrwr�rrrrrr�r�r�r�r�rNrOrQrRr�r�r�r�rVrXrYrr]rrrr�rrgr�rr)6rr�rOrXrXrXr^r�rOr^r�r�rrvr�rr&r�r�r�r�r�rFr&r�rr�r�r�r�r�r�r�rr&r&rr�rr�rcr&r�r�rcr�r�r�r�r�rcr�r�r�rr
r)rrr�r�rIrhrwr�)rrr�r�r�ryryr�r)rrrgrhrmrnrorwr�r�r�r�r�r�r�rrrrrr)r	r	rtr�rtrtrtr�r�rtrtr�r�r�r�r�r�r�r�r�r�)rrr$r,r�rGrHr�r�r�r�rrrrS)r�r�rIrarrirarrir�ririrri)rrr�r�rIr�rhr�rwr�rr�rOr�r�)r$r$rGrGrGr�rGr�rGr�r�rGr�r�r�)r%r%r%r%r%r%r%r%)rrr$r�r,r�rGrHr�r�r�r�r�rrrrrPrS)r&r&r&rVr&r&r&r&rVr&r&r&r&r&rVr&rVr&)rrr$r,r�rGrHr�r�r�r�r�rrrr�rSr�)r�r�r�r�r�r�r�r�r�r�rr�r�rPr�r�r�)/rrr�r$r'r(r)r�r�rGrIr�r�r�rgrhr�r�r�r�r�rmrnrorrr�rwrrrr�rrr�r�rr�r�rDrEr�rNrOr�r�rYrZ)/r'r'r'rJr'r'r'r�r'rJr'r�r'r�r�r'r�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�)rrr�r$r'r(r)r�rGrIr�rhr�r�rwr�rr�rOr�r�)r(r(r(rKr(r(r(r(rKr(r(r(r(rKr(r(r(r(r(r(r()r)r)r)rLr)r)r)r)rLr)r)r)r)rLr)r)r)r)r)r)r))#rrr�r$r,r�rGrHrIr�rgrhr�r�r�rmrnrorrr�rwrr�rr�r�rr�r�rDrEr�rOr�r�)#r*r*r*rMr*r*rMr*r*r*r*r*r*rMr*r*r*r*r�r*r*r*r*r*r*r*r*r�r*r*r*r*r*r*r*)rrr�r,r�rHrIr�rgrhr�r�rmrnror�rwrr�rr�r�rr�rDrEr�rOr�r�)r+r+r+r\r+r\r+r+rur+r+r\rururur�r+rur+r+rururur+rururur+r+r+)rrr�r'r(r)r�rIr�rhr�rwr�rr�rOr�r�)r,r,rHrYrYrYrHrHr�rHr�rHr�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/)r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0)r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rIr�r�r�r$rGrNrP)r$rGr�r�)rQrQr�r�)r$rGr�r�rrrS)rRrRrRrRr�r�)r$rGr�r�r�rrrS)rSrSr	rSrSrSrS)r$rGr�r�r�r�rrrS)rTrTrjrTrTrTrTrT)r'r(r))rWrZr[r,rHr]r_r`)r�r�r�r�rrrNrY)r�r�rrrLrQrXre)r�r�rgr�r�rmrnrorrrr�r�rrDrEr�rNrY)r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�rZr�)r�r�r�rbrcrerfrhr�r�r�rwr�r�r�r�rGr�rUr\rrrr�r	rbrrr)r�rgrhr�rrmrnrhrhrrrhrhrhrhrhrrhr]r]rhrhrhr]r]rrhrhrh)r�rhr�rwr�r�r�r�r�rrrrrr)rr}rr}r}r}r}r}r}r}r}r}r}r}r})r�r�rrOr�r�)r
r
rrrr)r�r�rO)rrr)r�r�r�r�r�r�)r�r�r�)r�r�r�rrOr�r�)r�r�r�r�r�r�r�)Vr�rhr�r�r�r�rwrrr�r�rrrrrrrrrrr�rr�rrrr r�r�r!r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErGrIrJrLrMrOrQrRrTr�rUr�rXr\rrrr^rr_r`rarbrerfr�rr�rhrirr)Vr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�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�rr)r�r�r�r�)rgrmrn)ror�r�)rgr�rmrnror�r�r�r�r�r�rVr�rg)rpr�r�r�r�rr�r�r�r�r�r
rr)rgrmrnror�r�)rqrqrqr�r�r�)rgrmrnrorr�r�rrDrEr�)rrrrrrrrr�rrrrr�r�r�r�rhr�rwrxr�)
rhrwr�r�r�r�r�rrrrrr)
rzrzr�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~)
rrrrrrrrrrrrr)
r�r�r�r�r�r�r�r�r�r�r�r�r�)rhrwr�r�r�r�r�r�r�rrrrr�rr�rr)r�r�r�r�r�r�r�r�rr�r�r�rrr�rr�r�)rhrwrr�r�r�rr�rrr r�r�r-r@rDrEr�r�rrrr^rr�rr�rirr)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)1rhr�r�r�rwrr�r�rrrr�rr�rrrr r�r�r!r-r@rArDrErGrLrMrQrRr�r�rXrrrr^rr`rbrerfr�rr�rirr)1r�r�r'r�r�r�r�r�r'r)r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r,r-r'r'r�r�r'r�r�r�r�r�r�r�r1r2r�r�r�r�r�r�)7rhr�r�r�rwrrr�r�rrrrrr�rr�rrrr r�r�r!r-r@rArDrErGrIrLrMrQrRrTr�r�rXrrrr^rr_r`rbrerfr�rr�rirr)7r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�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�)Orhr�r�r�rwrrr�r�rrrrrrrrrr�rr�rrrr r�r�r!r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErGrIrLrMrQrRrTr�rUr�rXr\rrrr^rr_r`rbrerfr�rr�rirr)Or�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)Irhr�r�r�rwrrr�r�rrrrrr�rr�rrrr r�r�r!r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErGrIrLrMrQrRrTr�r�rXrrrr^rr_r`rbrerfr�rr�rirr)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�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)Or�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)Orrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)Lrhr�r�r�rwrrr�r�rrrrrrr�rr�rrrr r�r�r!r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArDrErGrIrLrMrQrRrTr�rUr�rXr\rrrr^rr_r`rbrerfr�rr�rirr)Lr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�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�r�r�r�r�r�r�r�r�r�r�r�)Or�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)Or�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)Or�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)Or�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)r�r�rGrb)r�r�r�r�)r�rrQrRrX)r%r(r.r/r0r�r�r�r�r�rr�r�)r�rr�r�)r�rr�r)r�rrr�rPr�r�)r�r�r�r�r�r�r�rrr�r�rSr�r�)rrrrIrT)r$r�r�r+r�)rrrDrEr�)rrrrr�)
r�r�r�r�rrrrrr)
r�r�r�rr
rrrrrr�r!rr�r]r�r�)rrVr]rg)rGrbrGrb)rHrHrHrH)r�r�r�r�)rr�rVr]rg)r�r�r�r�r�)rr�r�)rrrrAr�rar)`�translation_unit_or_empty�translation_unit�empty�external_declaration�function_definition�declaration�pp_directive�pppragma_directive�
id_declarator�declaration_specifiers�	decl_body�direct_id_declarator�pointer�type_qualifier�storage_class_specifier�function_specifier�type_specifier_no_typeid�type_specifier�declaration_specifiers_no_type�typedef_name�enum_specifier�struct_or_union_specifier�struct_or_union�declaration_list_opt�declaration_list�init_declarator_list_opt�init_declarator_list�init_declarator�
declarator�typeid_declarator�direct_typeid_declarator�"declaration_specifiers_no_type_opt�id_init_declarator_list_opt�id_init_declarator_list�id_init_declarator�type_qualifier_list_opt�type_qualifier_list�
brace_open�compound_statement�parameter_type_list�identifier_list_opt�parameter_list�identifier_list�parameter_declaration�
identifier�enumerator_list�
enumerator�struct_declaration_list�brace_close�struct_declaration�specifier_qualifier_list�block_item_list_opt�block_item_list�
block_item�	statement�labeled_statement�expression_statement�selection_statement�iteration_statement�jump_statement�expression_opt�
expression�assignment_expression�conditional_expression�unary_expression�binary_expression�postfix_expression�unary_operator�cast_expression�primary_expression�constant�unified_string_literal�unified_wstring_literal�initializer�assignment_expression_opt�typeid_noparen_declarator�abstract_declarator_opt� direct_typeid_noparen_declarator�abstract_declarator�direct_abstract_declarator�struct_declarator_list_opt�struct_declarator_list�struct_declarator�constant_expression�	type_name�pragmacomp_or_statement�assignment_operator�initializer_list_opt�initializer_list�designation_opt�designation�designator_list�
designator�parameter_type_list_opt�argument_expression_list�offsetof_member_designator(7)zS' -> translation_unit_or_emptyzS'rNNN)z abstract_declarator_opt -> emptyr�r�p_abstract_declarator_opt�plyparser.pyr=)z.abstract_declarator_opt -> abstract_declaratorr�rr�r�r>)z"assignment_expression_opt -> emptyr�r�p_assignment_expression_optr�r=)z2assignment_expression_opt -> assignment_expressionr�rr�r�r>)zblock_item_list_opt -> emptyrsr�p_block_item_list_optr�r=)z&block_item_list_opt -> block_item_listrsrr�r�r>)zdeclaration_list_opt -> emptyrWr�p_declaration_list_optr�r=)z(declaration_list_opt -> declaration_listrWrr�r�r>)z+declaration_specifiers_no_type_opt -> emptyr_r�$p_declaration_specifiers_no_type_optr�r=)zDdeclaration_specifiers_no_type_opt -> declaration_specifiers_no_typer_rr�r�r>)zdesignation_opt -> emptyr�r�p_designation_optr�r=)zdesignation_opt -> designationr�rr�r�r>)zexpression_opt -> emptyr|r�p_expression_optr�r=)zexpression_opt -> expressionr|rr�r�r>)z$id_init_declarator_list_opt -> emptyr`r�p_id_init_declarator_list_optr�r=)z6id_init_declarator_list_opt -> id_init_declarator_listr`rr�r�r>)zidentifier_list_opt -> emptyrhr�p_identifier_list_optr�r=)z&identifier_list_opt -> identifier_listrhrr�r�r>)z!init_declarator_list_opt -> emptyrYr�p_init_declarator_list_optr�r=)z0init_declarator_list_opt -> init_declarator_listrYrr�r�r>)zinitializer_list_opt -> emptyr�r�p_initializer_list_optr�r=)z(initializer_list_opt -> initializer_listr�rr�r�r>)z parameter_type_list_opt -> emptyr�r�p_parameter_type_list_optr�r=)z.parameter_type_list_opt -> parameter_type_listr�rr�r�r>)z#struct_declarator_list_opt -> emptyr�r�p_struct_declarator_list_optr�r=)z4struct_declarator_list_opt -> struct_declarator_listr�rr�r�r>)z type_qualifier_list_opt -> emptyrcr�p_type_qualifier_list_optr�r=)z.type_qualifier_list_opt -> type_qualifier_listrcrr�r�r>)zdirect_id_declarator -> IDrKrZp_direct_id_declarator_1r�r�)z3direct_id_declarator -> LPAREN id_declarator RPARENrKrZp_direct_id_declarator_2r�r�)zpdirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrKrZp_direct_id_declarator_3r�r�)zsdirect_id_declarator -> direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETrKr�p_direct_id_declarator_4r�r�)zodirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETrKrr�r�rk)z\direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETrKrZp_direct_id_declarator_5r�r�)zNdirect_id_declarator -> direct_id_declarator LPAREN parameter_type_list RPARENrKr�p_direct_id_declarator_6r�r�)zNdirect_id_declarator -> direct_id_declarator LPAREN identifier_list_opt RPARENrKrr�r�rk)z"direct_typeid_declarator -> TYPEIDr^rZp_direct_typeid_declarator_1r�r�)z;direct_typeid_declarator -> LPAREN typeid_declarator RPARENr^rZp_direct_typeid_declarator_2r�r�)zxdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETr^rZp_direct_typeid_declarator_3r�r�)z{direct_typeid_declarator -> direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETr^r�p_direct_typeid_declarator_4r�r�)zwdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETr^rr�r�rk)zddirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETr^rZp_direct_typeid_declarator_5r�r�)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN parameter_type_list RPARENr^r�p_direct_typeid_declarator_6r�r�)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN identifier_list_opt RPARENr^rr�r�rk)z*direct_typeid_noparen_declarator -> TYPEIDr�rZ$p_direct_typeid_noparen_declarator_1r�r�)z�direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETr�rZ$p_direct_typeid_noparen_declarator_3r�r�)z�direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETr�r�$p_direct_typeid_noparen_declarator_4r�r�)z�direct_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETr�rr�r�rk)ztdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETr�rZ$p_direct_typeid_noparen_declarator_5r�r�)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN parameter_type_list RPARENr�r�$p_direct_typeid_noparen_declarator_6r�r�)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN identifier_list_opt RPARENr�rr�r�rk)z%id_declarator -> direct_id_declaratorrHrZp_id_declarator_1r�r�)z-id_declarator -> pointer direct_id_declaratorrHrZp_id_declarator_2r�r�)z-typeid_declarator -> direct_typeid_declaratorr]rZp_typeid_declarator_1r�r�)z5typeid_declarator -> pointer direct_typeid_declaratorr]rZp_typeid_declarator_2r�r�)z=typeid_noparen_declarator -> direct_typeid_noparen_declaratorr�rZp_typeid_noparen_declarator_1r�r�)zEtypeid_noparen_declarator -> pointer direct_typeid_noparen_declaratorr�rZp_typeid_noparen_declarator_2r�r�)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_declarationrArZp_translation_unit_1r�r)z9translation_unit -> translation_unit external_declarationrArZp_translation_unit_2r�r)z+external_declaration -> function_definitionrCrZp_external_declaration_1r�i)z#external_declaration -> declarationrCrZp_external_declaration_2r�i")z$external_declaration -> pp_directiverCr�p_external_declaration_3r�i')z*external_declaration -> pppragma_directiverCrr�r�i()zexternal_declaration -> SEMIrCrZp_external_declaration_4r�i-)zpp_directive -> PPHASHrFrZp_pp_directiver�i2)zpppragma_directive -> PPPRAGMArGr�p_pppragma_directiver�i8)z*pppragma_directive -> PPPRAGMA PPPRAGMASTRrGrr�r�i9)zLfunction_definition -> id_declarator declaration_list_opt compound_statementrDrZp_function_definition_1r�iD)zcfunction_definition -> declaration_specifiers id_declarator declaration_list_opt compound_statementrDrZp_function_definition_2r�iU)zstatement -> labeled_statementrvr�p_statementr�i`)z!statement -> expression_statementrvrr�r�ia)zstatement -> compound_statementrvrr�r�ib)z statement -> selection_statementrvrr�r�ic)z statement -> iteration_statementrvrr�r�id)zstatement -> jump_statementrvrr�r�ie)zstatement -> pppragma_directivervrr�r�if)z7pragmacomp_or_statement -> pppragma_directive statementr�r�p_pragmacomp_or_statementr�i�)z$pragmacomp_or_statement -> statementr�rr�r�i�)z<decl_body -> declaration_specifiers init_declarator_list_optrJr�p_decl_bodyr�i�)zGdecl_body -> declaration_specifiers_no_type id_init_declarator_list_optrJrr�r�i�)zdeclaration -> decl_body SEMIrErZ
p_declarationr�i�)zdeclaration_list -> declarationrXr�p_declaration_listr�i�)z0declaration_list -> declaration_list declarationrXrr�r�i�)zSdeclaration_specifiers_no_type -> type_qualifier declaration_specifiers_no_type_optrRrZ"p_declaration_specifiers_no_type_1r�i�)z\declaration_specifiers_no_type -> storage_class_specifier declaration_specifiers_no_type_optrRrZ"p_declaration_specifiers_no_type_2r�i�)zWdeclaration_specifiers_no_type -> function_specifier declaration_specifiers_no_type_optrRrZ"p_declaration_specifiers_no_type_3r�i)z?declaration_specifiers -> declaration_specifiers type_qualifierrIrZp_declaration_specifiers_1r�i	)zHdeclaration_specifiers -> declaration_specifiers storage_class_specifierrIrZp_declaration_specifiers_2r�i)zCdeclaration_specifiers -> declaration_specifiers function_specifierrIrZp_declaration_specifiers_3r�i)zIdeclaration_specifiers -> declaration_specifiers type_specifier_no_typeidrIrZp_declaration_specifiers_4r�i)z(declaration_specifiers -> type_specifierrIrZp_declaration_specifiers_5r�i)zGdeclaration_specifiers -> declaration_specifiers_no_type type_specifierrIrZp_declaration_specifiers_6r�i")zstorage_class_specifier -> AUTOrNr�p_storage_class_specifierr�i()z#storage_class_specifier -> REGISTERrNrr�r�i))z!storage_class_specifier -> STATICrNrr�r�i*)z!storage_class_specifier -> EXTERNrNrr�r�i+)z"storage_class_specifier -> TYPEDEFrNrr�r�i,)zfunction_specifier -> INLINErOrZp_function_specifierr�i1)z type_specifier_no_typeid -> VOIDrPr�p_type_specifier_no_typeidr�i6)z!type_specifier_no_typeid -> _BOOLrPrr�r�i7)z type_specifier_no_typeid -> CHARrPrr�r�i8)z!type_specifier_no_typeid -> SHORTrPrr�r�i9)ztype_specifier_no_typeid -> INTrPrr�r�i:)z type_specifier_no_typeid -> LONGrPrr�r�i;)z!type_specifier_no_typeid -> FLOATrPrr�r�i<)z"type_specifier_no_typeid -> DOUBLErPrr�r�i=)z$type_specifier_no_typeid -> _COMPLEXrPrr�r�i>)z"type_specifier_no_typeid -> SIGNEDrPrr�r�i?)z$type_specifier_no_typeid -> UNSIGNEDrPrr�r�i@)z$type_specifier_no_typeid -> __INT128rPrr�r�iA)ztype_specifier -> typedef_namerQr�p_type_specifierr�iF)z type_specifier -> enum_specifierrQrr�r�iG)z+type_specifier -> struct_or_union_specifierrQrr�r�iH)z*type_specifier -> type_specifier_no_typeidrQrr�r�iI)ztype_qualifier -> CONSTrMr�p_type_qualifierr�iN)ztype_qualifier -> RESTRICTrMrr�r�iO)ztype_qualifier -> VOLATILErMrr�r�iP)z'init_declarator_list -> init_declaratorrZr�p_init_declarator_listr�iU)zBinit_declarator_list -> init_declarator_list COMMA init_declaratorrZrr�r�iV)zinit_declarator -> declaratorr[r�p_init_declaratorr�i^)z0init_declarator -> declarator EQUALS initializerr[rr�r�i_)z-id_init_declarator_list -> id_init_declaratorrar�p_id_init_declarator_listr�id)zHid_init_declarator_list -> id_init_declarator_list COMMA init_declaratorrarr�r�ie)z#id_init_declarator -> id_declaratorrbr�p_id_init_declaratorr�ij)z6id_init_declarator -> id_declarator EQUALS initializerrbrr�r�ik)zMspecifier_qualifier_list -> specifier_qualifier_list type_specifier_no_typeidrrrZp_specifier_qualifier_list_1r�ir)zCspecifier_qualifier_list -> specifier_qualifier_list type_qualifierrrrZp_specifier_qualifier_list_2r�iw)z*specifier_qualifier_list -> type_specifierrrrZp_specifier_qualifier_list_3r�i|)z>specifier_qualifier_list -> type_qualifier_list type_specifierrrrZp_specifier_qualifier_list_4r�i�)z/struct_or_union_specifier -> struct_or_union IDrUr�p_struct_or_union_specifier_1r�i�)z3struct_or_union_specifier -> struct_or_union TYPEIDrUrr�r�i�)z[struct_or_union_specifier -> struct_or_union brace_open struct_declaration_list brace_closerUr�p_struct_or_union_specifier_2r�i�)zCstruct_or_union_specifier -> struct_or_union brace_open brace_closerUrr�r�i�)z^struct_or_union_specifier -> struct_or_union ID brace_open struct_declaration_list brace_closerUr�p_struct_or_union_specifier_3r�i�)zFstruct_or_union_specifier -> struct_or_union ID brace_open brace_closerUrr�r�i�)zbstruct_or_union_specifier -> struct_or_union TYPEID brace_open struct_declaration_list brace_closerUrr�r�i�)zJstruct_or_union_specifier -> struct_or_union TYPEID brace_open brace_closerUrr�r�i�)zstruct_or_union -> STRUCTrVr�p_struct_or_unionr�i�)zstruct_or_union -> UNIONrVrr�r�i�)z-struct_declaration_list -> struct_declarationror�p_struct_declaration_listr�i�)zEstruct_declaration_list -> struct_declaration_list struct_declarationrorr�r�i�)zNstruct_declaration -> specifier_qualifier_list struct_declarator_list_opt SEMIrqrZp_struct_declaration_1r�i�)zstruct_declaration -> SEMIrqrZp_struct_declaration_2r�i�)z(struct_declaration -> pppragma_directiverqrZp_struct_declaration_3r�i�)z+struct_declarator_list -> struct_declaratorr�r�p_struct_declarator_listr�i�)zHstruct_declarator_list -> struct_declarator_list COMMA struct_declaratorr�rr�r�i�)zstruct_declarator -> declaratorr�rZp_struct_declarator_1r�i)z9struct_declarator -> declarator COLON constant_expressionr�r�p_struct_declarator_2r�i	)z.struct_declarator -> COLON constant_expressionr�rr�r�i
)zenum_specifier -> ENUM IDrTr�p_enum_specifier_1r�i)zenum_specifier -> ENUM TYPEIDrTrr�r�i)z=enum_specifier -> ENUM brace_open enumerator_list brace_closerTrZp_enum_specifier_2r�i)z@enum_specifier -> ENUM ID brace_open enumerator_list brace_closerTr�p_enum_specifier_3r�i)zDenum_specifier -> ENUM TYPEID brace_open enumerator_list brace_closerTrr�r�i)zenumerator_list -> enumeratorrmr�p_enumerator_listr�i#)z(enumerator_list -> enumerator_list COMMArmrr�r�i$)z3enumerator_list -> enumerator_list COMMA enumeratorrmrr�r�i%)zenumerator -> IDrnr�p_enumeratorr�i0)z+enumerator -> ID EQUALS constant_expressionrnrr�r�i1)zdeclarator -> id_declaratorr\r�p_declaratorr�i@)zdeclarator -> typeid_declaratorr\rr�r�iA)z(pointer -> TIMES type_qualifier_list_optrLr�	p_pointerr�i�)z0pointer -> TIMES type_qualifier_list_opt pointerrLrr�r�i�)z%type_qualifier_list -> type_qualifierrdr�p_type_qualifier_listr�i�)z9type_qualifier_list -> type_qualifier_list type_qualifierrdrr�r�i�)z%parameter_type_list -> parameter_listrgr�p_parameter_type_listr�i�)z4parameter_type_list -> parameter_list COMMA ELLIPSISrgrr�r�i�)z'parameter_list -> parameter_declarationrir�p_parameter_listr�i�)z<parameter_list -> parameter_list COMMA parameter_declarationrirr�r�i�)z=parameter_declaration -> declaration_specifiers id_declaratorrkr�p_parameter_declaration_1r�i�)zIparameter_declaration -> declaration_specifiers typeid_noparen_declaratorrkrr�r�i�)zGparameter_declaration -> declaration_specifiers abstract_declarator_optrkrZp_parameter_declaration_2r�i�)zidentifier_list -> identifierrjr�p_identifier_listr�i)z3identifier_list -> identifier_list COMMA identifierrjrr�r�i)z$initializer -> assignment_expressionr�rZp_initializer_1r�i&)z:initializer -> brace_open initializer_list_opt brace_closer�r�p_initializer_2r�i+)z<initializer -> brace_open initializer_list COMMA brace_closer�rr�r�i,)z/initializer_list -> designation_opt initializerr�r�p_initializer_listr�i4)zFinitializer_list -> initializer_list COMMA designation_opt initializerr�rr�r�i5)z%designation -> designator_list EQUALSr�rZ
p_designationr�i@)zdesignator_list -> designatorr�r�p_designator_listr�iH)z-designator_list -> designator_list designatorr�rr�r�iI)z3designator -> LBRACKET constant_expression RBRACKETr�r�p_designatorr�iN)zdesignator -> PERIOD identifierr�rr�r�iO)z=type_name -> specifier_qualifier_list abstract_declarator_optr�rZp_type_namer�iT)zabstract_declarator -> pointerr�rZp_abstract_declarator_1r�i_)z9abstract_declarator -> pointer direct_abstract_declaratorr�rZp_abstract_declarator_2r�ig)z1abstract_declarator -> direct_abstract_declaratorr�rZp_abstract_declarator_3r�il)z?direct_abstract_declarator -> LPAREN abstract_declarator RPARENr�rZp_direct_abstract_declarator_1r�iv)zddirect_abstract_declarator -> direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKETr�rZp_direct_abstract_declarator_2r�iz)zadirect_abstract_declarator -> LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETr�rZp_direct_abstract_declarator_3r�i�)zPdirect_abstract_declarator -> direct_abstract_declarator LBRACKET TIMES RBRACKETr�rZp_direct_abstract_declarator_4r�i�)z5direct_abstract_declarator -> LBRACKET TIMES RBRACKETr�rZp_direct_abstract_declarator_5r�i�)z^direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list_opt RPARENr�rZp_direct_abstract_declarator_6r�i�)zCdirect_abstract_declarator -> LPAREN parameter_type_list_opt RPARENr�rZp_direct_abstract_declarator_7r�i�)zblock_item -> declarationrur�p_block_itemr�i�)zblock_item -> statementrurr�r�i�)zblock_item_list -> block_itemrtr�p_block_item_listr�i�)z-block_item_list -> block_item_list block_itemrtrr�r�i�)z@compound_statement -> brace_open block_item_list_opt brace_closerfrZp_compound_statement_1r�i�)z5labeled_statement -> ID COLON pragmacomp_or_statementrwrZp_labeled_statement_1r�i�)zKlabeled_statement -> CASE constant_expression COLON pragmacomp_or_statementrwrZp_labeled_statement_2r�i�)z:labeled_statement -> DEFAULT COLON pragmacomp_or_statementrwrZp_labeled_statement_3r�i�)zJselection_statement -> IF LPAREN expression RPAREN pragmacomp_or_statementryrZp_selection_statement_1r�i�)zYselection_statement -> IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statementryrZp_selection_statement_2r�i�)zNselection_statement -> SWITCH LPAREN expression RPAREN pragmacomp_or_statementryrZp_selection_statement_3r�i�)zMiteration_statement -> WHILE LPAREN expression RPAREN pragmacomp_or_statementrzrZp_iteration_statement_1r�i�)zUiteration_statement -> DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMIrzrZp_iteration_statement_2r�i�)zwiteration_statement -> FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrzr
Zp_iteration_statement_3r�i�)zoiteration_statement -> FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrzr	Zp_iteration_statement_4r�i�)zjump_statement -> GOTO ID SEMIr{rZp_jump_statement_1r�i�)zjump_statement -> BREAK SEMIr{rZp_jump_statement_2r�i�)zjump_statement -> CONTINUE SEMIr{rZp_jump_statement_3r�i�)z(jump_statement -> RETURN expression SEMIr{r�p_jump_statement_4r�i)zjump_statement -> RETURN SEMIr{rr�r�i)z+expression_statement -> expression_opt SEMIrxrZp_expression_statementr�i	)z#expression -> assignment_expressionr}r�p_expressionr�i)z4expression -> expression COMMA assignment_expressionr}rr�r�i)ztypedef_name -> TYPEIDrSrZp_typedef_namer�i)z/assignment_expression -> conditional_expressionr~r�p_assignment_expressionr�i!)zSassignment_expression -> unary_expression assignment_operator assignment_expressionr~rr�r�i")zassignment_operator -> EQUALSr�r�p_assignment_operatorr�i/)zassignment_operator -> XOREQUALr�rr�r�i0)z!assignment_operator -> TIMESEQUALr�rr�r�i1)zassignment_operator -> DIVEQUALr�rr�r�i2)zassignment_operator -> MODEQUALr�rr�r�i3)z assignment_operator -> PLUSEQUALr�rr�r�i4)z!assignment_operator -> MINUSEQUALr�rr�r�i5)z"assignment_operator -> LSHIFTEQUALr�rr�r�i6)z"assignment_operator -> RSHIFTEQUALr�rr�r�i7)zassignment_operator -> ANDEQUALr�rr�r�i8)zassignment_operator -> OREQUALr�rr�r�i9)z-constant_expression -> conditional_expressionr�rZp_constant_expressionr�i>)z+conditional_expression -> binary_expressionrr�p_conditional_expressionr�iB)zZconditional_expression -> binary_expression CONDOP expression COLON conditional_expressionrrr�r�iC)z$binary_expression -> cast_expressionr�r�p_binary_expressionr�iK)z>binary_expression -> binary_expression TIMES binary_expressionr�rr�r�iL)z?binary_expression -> binary_expression DIVIDE binary_expressionr�rr�r�iM)z<binary_expression -> binary_expression MOD binary_expressionr�rr�r�iN)z=binary_expression -> binary_expression PLUS binary_expressionr�rr�r�iO)z>binary_expression -> binary_expression MINUS binary_expressionr�rr�r�iP)z?binary_expression -> binary_expression RSHIFT binary_expressionr�rr�r�iQ)z?binary_expression -> binary_expression LSHIFT binary_expressionr�rr�r�iR)z;binary_expression -> binary_expression LT binary_expressionr�rr�r�iS)z;binary_expression -> binary_expression LE binary_expressionr�rr�r�iT)z;binary_expression -> binary_expression GE binary_expressionr�rr�r�iU)z;binary_expression -> binary_expression GT binary_expressionr�rr�r�iV)z;binary_expression -> binary_expression EQ binary_expressionr�rr�r�iW)z;binary_expression -> binary_expression NE binary_expressionr�rr�r�iX)z<binary_expression -> binary_expression AND binary_expressionr�rr�r�iY)z;binary_expression -> binary_expression OR binary_expressionr�rr�r�iZ)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�rZp_cast_expression_1r�ie)z:cast_expression -> LPAREN type_name RPAREN cast_expressionr�rZp_cast_expression_2r�ii)z&unary_expression -> postfix_expressionr�rZp_unary_expression_1r�im)z-unary_expression -> PLUSPLUS unary_expressionr�r�p_unary_expression_2r�iq)z/unary_expression -> MINUSMINUS unary_expressionr�rr�r�ir)z2unary_expression -> unary_operator cast_expressionr�rr�r�is)z+unary_expression -> SIZEOF unary_expressionr�r�p_unary_expression_3r�ix)z2unary_expression -> SIZEOF LPAREN type_name RPARENr�rr�r�iy)zunary_operator -> ANDr�r�p_unary_operatorr�i�)zunary_operator -> TIMESr�rr�r�i�)zunary_operator -> PLUSr�rr�r�i�)zunary_operator -> MINUSr�rr�r�i�)zunary_operator -> NOTr�rr�r�i�)zunary_operator -> LNOTr�rr�r�i�)z(postfix_expression -> primary_expressionr�rZp_postfix_expression_1r�i�)zEpostfix_expression -> postfix_expression LBRACKET expression RBRACKETr�rZp_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�rr�r�i�)z2postfix_expression -> postfix_expression PERIOD IDr�r�p_postfix_expression_4r�i�)z6postfix_expression -> postfix_expression PERIOD TYPEIDr�rr�r�i�)z1postfix_expression -> postfix_expression ARROW IDr�rr�r�i�)z5postfix_expression -> postfix_expression ARROW TYPEIDr�rr�r�i�)z1postfix_expression -> postfix_expression PLUSPLUSr�r�p_postfix_expression_5r�i�)z3postfix_expression -> postfix_expression MINUSMINUSr�rr�r�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�rr�r�i�)z primary_expression -> identifierr�rZp_primary_expression_1r�i�)zprimary_expression -> constantr�rZp_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�rZp_primary_expression_4r�i�)zWprimary_expression -> OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPARENr�rZp_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 -> IDrlrZp_identifierr�i�)zconstant -> INT_CONST_DECr�r�p_constant_1r�i�)zconstant -> INT_CONST_OCTr�rr�r�i�)zconstant -> INT_CONST_HEXr�rr�r�i�)zconstant -> INT_CONST_BINr�rr�r�i�)zconstant -> INT_CONST_CHARr�rr�r�i�)zconstant -> FLOAT_CONSTr�r�p_constant_2r�i�)zconstant -> HEX_FLOAT_CONSTr�rr�r�i�)zconstant -> CHAR_CONSTr�r�p_constant_3r�i)zconstant -> WCHAR_CONSTr�rr�r�i
)z(unified_string_literal -> STRING_LITERALr�r�p_unified_string_literalr�i)z?unified_string_literal -> unified_string_literal STRING_LITERALr�rr�r�i)z*unified_wstring_literal -> WSTRING_LITERALr�r�p_unified_wstring_literalr�i#)zBunified_wstring_literal -> unified_wstring_literal WSTRING_LITERALr�rr�r�i$)zbrace_open -> LBRACErerZp_brace_openr�i.)zbrace_close -> RBRACErprZ
p_brace_closer�i4)zempty -> <empty>rBrZp_emptyr�i:N)Z_tabversionZ
_lr_methodZ
_lr_signatureZ_lr_action_itemsZ
_lr_action�itemsZ_kZ_v�zipZ_xZ_yZ_lr_goto_itemsZ_lr_gotoZ_lr_productions�r�r��5/usr/lib/python3.9/site-packages/pycparser/yacctab.py�<module>s6������������