Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/pycparser/__pycache__/yacctab.cpython-311.pyc



]jT#`dZdZdZidgdgdfdgdgdfd	gd
gdfdgdgd
fdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfddgdgfd gd!gd"fd#gd$gd%fd&gd'gd(fd)gdgd*fd+gd,gd-fd.gd$gd/fid0gdgd1fd2gd3gd4fd5gd6gd7fd8gdgd9fd:gdgd;fd<gdgd=fd>gd?gd@fdAgdgdBfdCgd?gdDfdEgd$gdFfdGgdgdHfdIgd'gdJfdKgd?gdLfdMgdNgdOfdPgdQgdRfdSgdTgdUfdVgdgdWfidXgdgdYfdZgdgd[fd\gd]gd^fd_gd`gdafdbgd!gdcfddgd$gdefdfgd'gdgfdhgdigdjfdkgdlgdmfdngdogdpfdqgd?gdrfdsgd$gdtfdugdgdvfdwgdxgdyfdzgd{gd|fd}gd~gdfdgdgdfidgdgdfdgd'gdfdgdgdfdgd?gdfdgd$gdfdgd$gdfdgd'gdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgd'gdfdgd$gdfdgdgdfdgd?gdfidgd$gdfdgd'gdfdgdgdfdgdgdfddgdgfdgd?gdfdgdgdfdgd$gdfdgd!gdfdgd'gdfdgdQgdfdgdgdfdgdgdfdgdgdâfdgd'gdŢfdgdgdǢfdgdQgdɢfidgd$gdˢfdgd$gd͢fdgdgdϢfdgd!gdѢfdgdӢgdԢfdgdgd֢fdgd$gdآfdgdڢgdۢfdgdgdݢfdgd$gdߢfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgd$gdfdgdgdfgd?gdfgdgdfgdgdfgdigdfgdgdfgd'gdfgdgdfgdgdfgd?gdfgd?gdfgdgdfdZiZeD]9\ZZeededD]\Z	Z
e	evriee	<e
ee	e<:[idgdgdfdgdgdfd	d
dgddgfd
d
dgddgfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfd d!gd"gfd#gd$gd%fd&gd'gd(fd)gd*gd+fd,gd-gd.fd/gd0gd1fd2gd3gd4fid5gdgd6fd7gd8gd9fd:dgd;gfd<gd=gd>fd?gd@gdAfdBgd-gdCfdDgdEgdFfdGdHgdIgfdJgdKgdLfdMdNd!gdOdPgfdQgdRgdSfdTgdUgdVfdWgdXgdYfdZdd;gd[d[gfd\d]d^gd_d_gfd`dadbgdcdcgfddgdgdefidfgdggdhfdigdjgdkfdlgdmgdnfdodadbgdpdpgfdqgdrgdsfdtdugdvgfdwdxgdygfdzd{gd|gfd}gd~gdfddxdgddgfdgdgdfddgdgfdgdgdfdgdgdfdgdKgdfddgdgfddgdgfidgdgdfdgdgdfddd;gddgfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfdgdgdfddxgdgfdgdgdfdgdgdfdgdKgdfdgdgdfdgdgd¢fdgdgdĢfidgdƢgdǢfdȐd{d|gdɐdgfdgd̢gd͢fdgdϢgdТfdgdKgdҢfdgdԢgdբfdgdעgdآfdِd!dgdېdgfdgdޢgdߢfdgdgdfdgdKgdfdddgddgfdgdKgdfdgdgdfdd{gdgfdgdgdfdgd-gdfgd0gdfgdgdfgdgdfdadbgddgfgdgdfgdϢgdfd]d^gddgfdd;gddgfgdgdfgdgdfgdgdfgdgdfgdgdfgdgdfdZiZeD]9\ZZeededD]\Z	Z
e	evriee	<e
ee	e<:[gd	Z
d
S(z3.10LALRaRtranslation_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 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
         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 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 : INT_CONST_CHAR)':=LUagijtuw|	
!"#)*,-./134?ILPRS`abefghijklmnopquwy	
%&)*+-.69>?@ABC)~}JrrrrrrrrrIrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)*(rrrrrrrrr	
r
rrrrrrrrr'rr&rrrrr:rrrrrr#r%rrrrrrr$rrrrrrrrr "rrrr!rVOID)r

!"$&r(*+,-./01245678r;<r>?@ABCDGKrPQRr	VWYZ[]^_`r
bcdermovrxyz{rrrr r!r*r+r,
rCrDrErFrHrJrKrLrMrNrOrQ89:;<=>HrTTUV^rorprqrrrurwrxryrzrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrrrrrrrrrmrnrYZrrrrrrprrrrrrrrka`drrrrrrrrrRQrqtrsorrrrrrrrrrrrrgrilcXrrrrrrrrrrrrrhjbVWrrrrrrrrrrrrrrrrLBRACKET)rrrrrrrrrrrrrrrrr	r
#rrrrrrrrrrrrrrr$r%IrMr'r(r)r*r2r
r3r5r6rhrr
r7r8rr?r@rBrHr r!rMrNr)rRrSrUrVrWrXrY6rZr\r^r_rarbrcrdXY[cdsxrgrhrjrkrlrmrrrorp !#r'/035:;<)rqrrrrsrtrurvrwrxr|r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrLrrrrrrrr@rBrrrKrrBrhrrrrrBrBrrrnr9rrrrrrrrBrBr~9rhrnrrrrrrrBr~6rh8rh+1-rr7r/0.,rhWCHAR_CONST)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrFLOAT_CONST)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrMINUS)rrrrrr	r
rrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*rr+r,rrrrr-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?rrr@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrrrrrrrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrr	rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrr#r$r%rr&rr'r(r)r*r+r,rr-rrrr.r/r0r1r2r3r0r4r5rr6r7r8rrrrr9rrrrrrrrrrrrrr<rrr=r>r?r@rrrrrrrrrrrrrrrrrrrrArBrrrrrrrrrrrrrrrrrrr9rrrrrrrrrrrrrrrrrrrrrrrrrr0r0r0r0r0r0r0r0r0r0r0r0r0rGrHrIrJrKrLrrrrrrrrrrrrrrrrrrrrrrrrrQrRrrrrrrrrrrrrrrrrrrrrrrrrrr`rrrarrrrrrerrrrrrrrRPAREN)rrrrrrrrrrrrrrrrr	r
rrrrrrrrrrrrrrrr$r%rrrr'r(r)r*r2r3r5r6rrrr
kr7r8r9}rr>rrrrrrrrr?rrlrr@rrrrrrmrrrnrrrrrrrrBrHr r!rrMrNrrorrprqrrrrrRrSrrrArrrUrsrVrrWrXrYr&rZr\r^r_rarbrcrdWrrZr\rrz{|}~rtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrfrzrgrhrjrkrlrmrrrnrrrrrr	rr
rrrorpr
r
rrrrrrrrrrr,rrrrr7rrr =)rqrrrrsrtrurvrwrxr|r~rrrrrrrrrrrrrrrrrrrrrrrrrr!rrrrrrrrrr"rrrMrrrrrr#r$r%r&r'r(r)r*rr+rr,rr-r.r/r0r1rRrrSr2r3r4r5r6r7rr8r9rrZrrrr:rrTrbircFriiHAr;rrrr<rrr=r>r?r@rrrArBrrrrrlr5r4rrr2rrrrrrrrBrDrCCrDrErrrrrrrrrrGrHrIrJrKr	rL3iir
rrrrrrrrrrrr@iGErMrNrrrQrRrrSrTrUrrrrrrrrrVrWrrYrZr[r\r]r^r_r`rar8rbrcrdrerrrfrgrhrSTRUCT)rrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrr r!r"r#r&r	r*r+r-r.r/r0r1r
r4rr9rr:r;r<r=rr>rArrCrrDrErFrGrIrJrKr r!rMrOrPr*r+r,rQrRrSrTrWrCrDrErFrHrJrKrLrMrNrOrQrZr[r]r`rTrbrcrdrerfrorprqrrrurwrxryrzrirlrmrnrrrrrrrorprrrrrrrrr)rrrtrurvrxryrzr{r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrLONG)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrPLUS)rrrrrrrrrrrrrrrrr#r$r%rr&rr'r(r)r*r+rr,rr-rrrr.r/r0r1rr2r3r4r4r5rr6r7rr8rrrrr9rrrrrrrrrrrrrr<rrrrr=r>r?r@rrrrrrrrrrrrrrrrrrrrArBrrrrrrrrrrrrrrrrrrrrr9rrrrrrrrrrrrrrrrrrrrrrrrrr4r4r4rr4r4r4rr4r4rrr4r4r4r4r4rrGrHrIrJrKrLrrrrrrrrrrrrrrrrrrrrrrrrrrrQrRrrrrrrrrrrrrrrrrrrrrrrrrrrr`rrrarrrrrrerrrrrrrrELLIPSISrerU32STRING_LITERAL)rrrrrr	r
rrr
rrrrrrrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,rrrrr-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrrrr(rr-rrrrr4rr6rrrrrrrrrrrrrrrrrrr=r>r?r@rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrGT)Irrrrrrrrrrlrrrrrrrmrrrnrrrrrrrr rorrprqrrrrrrrrrsrrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrr	rrrr)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r5r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rr5rrrr5rrrr5rrrr5r5r5r5rrGrHrIrJrKrLrrrQrRrr`rareGOTO)4rr
rrrr rCrDrErFrHrJrKrLrMrNrOrPrQrTrorprrrsrurwrxryrzr{rrrrrrrrrrrrrrrrrrrrrr)4rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrENUM) rrrtrurvrxryrzr{r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrPERIOD):r
rrrrrrrrrrrrrrrrrrrrrrrrr r)rrrrrrrrrrrrrrrrrrrrr	rrrrrrrrrr ):rr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9rtr<r=r>r?r@rArBr9rFrrGrHrIrJrKrLrOrrPrQrRrrX$rYr`rrardrerhGE)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r9r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rr9rrrr9rrrr9rrrr9r9r9r9rrGrHrIrJrKrLrrrQrRrr`rare
INT_CONST_DEC)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrARROW),rrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrr	rrr),r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9rr<r=r>r?r@rArBr9rGrHrIrJrKrLrQrRr`rare_STATIC_ASSERT)Arrrrrrrrrrrr
rr=rrCrr rPrCrDrErFrHrJrKrLrMrNrOrPrQrTrorprrrsrurwrxryrzr{rrrrrrrrrrrrrrrrrrrrrr)A)ryrzr{r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrCHAR)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrHEX_FLOAT_CONST)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrDOUBLE)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
MINUSEQUAL)5rrrrrrrrrrlrrrrrrrrrrrrrrrr rorrprqrrrrrrrrrsrrrrrrrrrrr	rrrr)5r#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1r2r3r4r5r6r7rr8r9rr\r<rrr=r>r?r@rArBrrr9rGrHrIrJrKrLrrrQrRrr`rare
INT_CONST_OCT)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
TIMESEQUAL)5r#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1r2r3r4r5r6r7rr8r9rrer<rrr=r>r?r@rArBrrr9rGrHrIrJrKrLrrrQrRrr`rareOR)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r>r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rr>rrrrrrrrrrrr>rrrrrGrHrIrJrKrLrrrQrRrr`rareSHORT)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrRETURN)4rrrrrGrrrrrrrGrrrrrrGrrrrrrGrrrGrrrGrrrrGrrrrGrrGrGrrrrrGrGrrrGrrRSHIFTEQUAL)5r#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1r2r3r4r5r6r7rr8r9rrfr<rrr=r>r?r@rArBrrr9rGrHrIrJrKrLrrrQrRrr`rare_ALIGNAS)rrrrrrrrrrrrrrrrrrrrrrrrrrr	r
rrrrrrrrrrrrrrrrrrrrrrrr!r$r%r&rr'r(r)r	r*r+r,r-r/r1r2r
r3r4r5r6r7r8r9rr=rr>r?r@rrBrCrrDrErFrGrHrIrJrKr rLrMrNrPr*r+r,rQrRrSrTrUrVrWrXrYrCrDrErFrHrJrKrLrMrNrOrQrZr[r\r]r^r_r`rarTrbrcrdrerfrorprqrrrurwrxryrzrgrhrirjrkrlrmrnrrrrrrrorprrrrrrrrr)rrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrRESTRICT)rrrrrrrrrrrrrrrrrrrrrrrrrrr	r
rrrrrrrrrrrrrrrrrrrrrrrrr!r$r%r&rr'r(r)r	r*r+r,r-r/r1r2r
r3r4r5r6rrr7r8rr9rr=rrr>r?r@rArrBrCrrDrErFrGrHrIrJrKr rLr!rMr$r%rNr'r(rPr*r+r,rQrRrSrTrUrVrWrXrYrBrCrDrErFrHrJrKrLrMrNrOrQrZr[r\r]r^r_r`rarTrbrcrdrerfrorprqrrrurwrxryrzrgrhrirjrkrlrmr~rnrrrrrrrorprrrrrrrrrrr)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrSTATIC)rrrrrrrrrrrrrrrrrrrrrrrrrrr	r
rrrrrrrrrrrrrrrrrrrrrrrr!r$r%r&rr'r(r)r*r+r,r-r/r2r
r3r5r6rr7r8rr9rr=rrr>rCrrDrHr r!rMr$rNr'rPrRrSrWrCrDrErFrHrJrKrLrMrNrOrQrZr\r^r_rarTrbrcrdrerfrorprqrrrurwrxryrzrgrhrjrkrlrmr~rnrrrrrrrorprrrrrrrrrr)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr%rrrrr(rrrrrrrrrVrrYrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrSIZEOF)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrUNSIGNED)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrUNION)rrrtrurvrxryrzr{r}r~r$rrrrrrrr$rrrrrrrrr$rrrrrrrr$r$rrrr$r$rr$rr$rr$rrrrrrr$r$r$rr$rr$r$r$rrrrrrr$rr$r$r$r$rrr$r$rrrrrr$rrrrrrrr$r$rrrrr$r$r$rrr$rrrrrrrrrr$rrrrrrrrrrrrrrrrrCOLON)rrrrrrrr	r
rrrrrrrrrrrrrrJrrr*r2r3r5r6r8rrrrrrrrrr?rrlrr@rrrrrrmrrrnrrrrrrrrrHr rLrMrrorrrprqrrrrrRrSrrrrrUrrsrVrXrY'rrZr\r^r_Drarbrcrrrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrgrhrjrkrlrmrrrrrrrr	rrrorpr
rrrrr)rqrrrrsrwrrrrrrrrrrrrrrrrrrMrr!rrrrrrrr#r$r%r&r'r(r)r*rr+rr,rr-r.r/r0r1rr2r3rr4r5r6r7rr8r9rNrrrRrr;rrr<rrr=r>r?r@rrrArBrrrrrrrrsr{rrrrr}rrrrDrErrrrrrrrrrrrrrrrrrrrGrHrIrJrKrLrrrrRrrrrrMrNrrrrrQrRrrrrrVrWrr`rarez$end)r	rrrrrrrr9rrrr=rrCr rPrTrzr)rrryrzr{r}rrrriirrrrrrrrrrWSTRING_LITERAL)rrrrrrrrrrrrrrrrrrr(rr-rrrrr4rr6rrrrrrrrrrrrrrrrrrr=r>r?r@rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrDIVIDE)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r7r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9r7r7r7r7r7r7r7r7r7r7rrr7r7r7r7r7rrGrHrIrJrKrLrrrQrRrr`rareFOR)4rrrr$rrrrrrr4rrrrrr4rrrrrr4rrr4rrr4rrrr4rrrr4rr4r4rrrrr4r4rrr4rrPLUSPLUS)rrrrrr	r
rrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*rr+r,rrrrr-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?rrr@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrrrrrrrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrr	rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrr#r$r%rr&rr'r(r)r*r+r,rr-rrrr.r/r0r1r2r3r4r5rr6r7rr8rrrrr9rrrrrrrrrrrrr<rrr=r>r?r@rrrrrrrrrrrrrrrrrrrrArBrrrrrrrrrrrrrrrrrrr9rrrrrrrrrrrrrrrrrrrrrrrrrrGrHrIrJrKrLrrrrrrrrrrrrrrrrrrrrrrrrrQrRrrrrrrrrrrrrrrrrrrrrrrrrrr`rrrarrrrrrerrrrrrrrEQUALS)Trrrr&r&rNr*nrrrrrrrrrrrlrrrrrrrrrrrrrrrr'r rMrrorrprqrrrrrrrrrsrrbrcrrrrrrrrrrrlrmrrrrrrrr	rrorpr
rrrrr)Trrrr-r.r!rrr"rr#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1r2r3r4r5r6r7rr8r9r.rrSrr;r^r<rrr=r>r?r@rArBrrr9rrrDrErFrrGrHrIrJrKrLrrrMrNrOrPrrrQrRrrrrVrWrXr`rareELSE)"rrr rCrDrErFrHrKrNrQrTrorprrrwrxryrzrrrrrrrrrrrrrrr)"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrANDEQUAL)5r#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1r2r3r4r5r6r7rr8r9rrcr<rrr=r>r?r@rArBrrr9rGrHrIrJrKrLrrrQrRrr`rareEQ)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r;r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rr;rrrrrrrr;rrrr;rr;r;rrGrHrIrJrKrLrrrQrRrr`rareAND)rrrrrrrrrrrrrrrrr#r$r%rr&rr'r(r)r*r+rr,rr-rrrr.r/r0r1rr2r3r<r4r5rr6r7rr8rrrrr9rrrrrrrrrrrrrr<rrrrr=r>r?r@rrrrrrrrrrrrrrrrrrrrArBrrrrrrrrrrrrrrrrrrrrr9rrrrrrrrrrrrrrrrrrrrrrrrrrr<rrrrrrrr<rrrr<rrr<rrGrHrIrJrKrLrrrrrrrrrrrrrrrrrrrrrrrrrrrQrRrrrrrrrrrrrrrrrrrrrrrrrrrrr`rrrarrrrrrerrrrrrrrTYPEID)rrrrrrrrrrrrrrrrrrrrrrrrrr$rrrr	r
rrrrr
rrrrrrrrrrrrrrrrrrrrr r!r"r#r$Er%Hr&rr'r(r)r	r*r+r,r-r.r/r0r1r2r
r3r4r5r6rrrr
r7r8r9rr:r;r<r=r~r>r?r@rArrCrrDrErFrGrHrIrJrKr rLr!rrMrNrOrPr*r+r,rQrRrSrr
rTrUrVrWrXrYrCrDrErFrHrJrKrLrMrNrOrQrZr[r\r]r^r_r`rarTrbrcrdrrerfrorprqrrrurwrxryrzrgrhr,rirjrkrlrmrnrrrrrrrorprrrrrrrrr)r	rrqrrrrrsrtrurvrwrxryrzr{r|r}r~r	rrfrrrerrr2r5rrrrrrr	rrrrrrrrrrrrrrrr	rrrrrrrrrrrrr	rrrrr	rrrrr	r	rr	rrrr	rrrr"rrrrr	rrrrrrrr	rrr	r	rr	rr	r	r	rrrrrrrr:rrrr	rr	r	r	r	rrrrr	rrr	rrrrrrrr	rrrrrrrr	rr	rrrrrrrr	rr	r	rrr	rrrrrrrrrrrrrrr	rrrrrrrrrrrrrrrrrLBRACE)_rrr$r?rrrrr&r*Xr-\r/r2r
r3r5r6rrrrrDr rMr"r)r*rCrDrErFrHrJrKrLrMrNrOrPrQrTrbrcrgrirjrlrorprrrsrurwrxryrzr{rlrmrrrrrrrrrrrrrrorprrrrrrrrrrrrrrrrrr)_rrDrEr
r
rrrrrirr
ir
rr
r
r
rrr
r
r
rrrr
rr
rrrrrr
rrrrrr
rrrrrr
rr
rrrr
rrr
rrr
rrrrr
r
r
rrrrr
rrrrrr
rr
rr
r
rrrrrr
r
rrr
rrPPHASH)rrrrrrrrrrrrr=rrCr rPrTrzr)rryrzr{r}rrrrrrrrrrrrrrrINT)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrSIGNED)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrCONTINUE)4rrrr%rrrrrrrNrrrrrrNrrrrrrNrrrNrrrNrrrrNrrrrNrrNrNrrrrrNrNrrrNrrNOT)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrOREQUAL)5r#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1r2r3r4r5r6r7rr8r9rrdr<rrr=r>r?r@rArBrrr9rGrHrIrJrKrLrrrQrRrr`rareMOD)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r?r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9r?r?r?r?r?r?r?r?r?r?rrr?r?r?r?r?rrGrHrIrJrKrLrrrQrRrr`rareRSHIFT)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r-r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rr-rrr-r-r-rr-r-rrr-r-r-r-r-rrGrHrIrJrKrLrrrQrRrr`rareDEFAULT)4rrrrr(rrrrrrr(rrrrrr(rrrrrr(rrr(rrr(rrrr(rrrr(rr(r(rrrrr(r(rrr(rr	_NORETURN)rrrrrrrrrrrrrrrrrrrrrrrrrrr	r
rrrrrrrrrrrrrrrrrrrrrrrr!r$r%r&rr'r(r)r*r+r,r-r/r2r
r3r5r6r7r8r9rr=rr>rCrrDrHr rMrNrPrRrSrWrCrDrErFrHrJrKrLrMrNrOrQrZr\r^r_rarTrbrcrdrerfrorprqrrrurwrxryrzrgrhrjrkrlrmrnrrrrrrrorprrrrrrrrr)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr__INT128)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrWHILE)5rr
rrrr rCrDrErFrHrJrKrLrMrNrOrPrQrTrorprrrsrurwrxryrzr{rrrrrrrrrrrrrrrrrrrrrr)5rrrr(rrrrrrrXrrrrrrXrrrrrrXrrrXrrrXrrrrXrrrrXrrXrXrrrrrXrXrrrXrrU8CHAR_CONST)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr_ALIGNOF)rrrrrrrrrr\rrrrr\rrr\r\rrrr\rr\r\r\rrr\r\rrr\rrrr\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\r\rrrrrr\rr\r\rrrrrr\rr\r\rrr\r\rr\r\rrrrrrrr\rrrrrr\r\rr\r\r\r\rrr\rr\r\rr\rr\rrr\r\r\rrrr\r\r\rrrrr\rr\rrrr\rrr\rr\r\rr\r\r\rr\r\r\rr\rrrrr\r\r\rrr\rrEXTERN)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrCASE)4rrrrrIrrrrrrrIrrrrrrIrrrrrrIrrrIrrrIrrrrIrrrrIrrIrIrrrrrIrIrrrIrrLAND)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r:r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rr:rrrrrrrrrrrrrrrrrGrHrIrJrKrLrrrQrRrr`rareREGISTER)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrMODEQUAL)5r#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1r2r3r4r5r6r7rr8r9rr]r<rrr=r>r?r@rArBrrr9rGrHrIrJrKrLrrrQrRrr`rareNE)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r2r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rr2rrrrrrrr2rrrr2rr2r2rrGrHrIrJrKrLrrrQrRrr`rareSWITCH)4rrrr+rrrrrrrdrrrrrrdrrrrrrdrrrdrrrdrrrrdrrrrdrrdrdrrrrrdrdrrrdrr
INT_CONST_HEX)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr_COMPLEX)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrPPPRAGMASTRrr	PLUSEQUAL)5r#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1r2r3r4r5r6r7rr8r9rr`r<rrr=r>r?r@rArBrrr9rGrHrIrJrKrLrrrQrRrr`rare
U32CHAR_CONST)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrCONDOP)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r=r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rrrrrrrrrrrrrrrrrrrGrHrIrJrKrLrrrQrRrr`rareU8STRING_LITERAL)rrrrrrrrrrrrrrrrrrr(rr-rrrrr4rr6rrrrrrrrrrrrrrrrrrr=r>r?r@rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrBREAK)4rrrr0rrrrrrrmrrrrrrmrrrrrrmrrrmrrrmrrrrmrrrrmrrmrmrrrrrmrmrrrmrrVOLATILE)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrPPPRAGMA)Lrrrrrrrrrrrr
r4rr=rrCrrErFrGrIrJrKr rPrCrDrErFrHrJrKrLrMrNrOrPrQr[r]r`rTrorprrrsrurwrxryrzr{rirrrrrrrrrrrrrrrrrrrrrr)Lrryrzr{r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrINLINE)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
INT_CONST_BIN)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrDO)4rrrrrPrrrrrrrPrrrrrrPrrrrrrPrrrPrrrPrrrrPrrrrPrrPrPrrrrrPrPrrrPrrLNOT)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrCONST)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrLSHIFT)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r/r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rr/rrr/r/r/rr/r/rrr/r/r/r/r/rrGrHrIrJrKrLrrrQrRrr`rareLOR)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r.r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rrrrrrrrrrrrrrrrrrrGrHrIrJrKrLrrrQrRrr`rare
CHAR_CONST)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrU16STRING_LITERAL)rrrrrrrrrrrrrrrrrrr(rr-rrrrr4rr6rrrrrrrrrrrrrrrrrrr=r>r?r@rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrRBRACE)rr
r4rrrrrrrrrrrrlrrrrrrrmrrrnrrrrrrrrrrErFrGrIrJrKr r9rorr)rrprqrrrrrrrrrsrCrDrErFrHrJrKrLrMrNrO2rQ5r[r]r`EFGrTrvrjrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrorprrrurwrxryrzrirrrrrrr	rrrrrrrrr"rrrrrrrrrrrr)rrr rrr#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3rr4r5r6r7rr8r9rrr r r rrrrUr Prrr?r<rrr=r>r?r@rArBrrrrrrrirrrrrrr r r rr r Trr iirrrrrrrrrrrrrrrrrrrGrHrIrJrKrLrrrrrrrrrSOr>r <rrrrQrRrrrrrrr=rr r;r`r rarrrrrerrrr_BOOL)r
rrqrr
rrrsrtrurvrwrxryrzr{r|r}r~r
rrrrrrrrrrrrr
rrrrrrrrrrrrrrrr
rrrrrrrrrrr
rrrrr
rrr
rr
r
rr
rrrr
rrrrrr
rrrrrrr
rrr
r
r
rr
rr
r
r
rrrrrr
rrr
r
rr
r
r
r
rrr
rrr
rrrrrrrr
rrrrrrrr
rr
rrrrrrrr
r
r
rrr
rrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrLE)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r1r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rr1rrrr1rrrr1rrrr1r1r1r1rrGrHrIrJrKrLrrrQrRrr`rareSEMI(,rrrrrrrrrrrrrrrrrrrrrrrrrr	r
rrrr
rrrrrrrrr3rrrrrrrrrrrr r!r"r#r$Fr%rr&r&rrr7Or'r(r)STr*r+r,r.r0r2r
r3r4r5r6lr7r8r8qrsrr:r;r<r=rrrrrrrrrrr?rrlrr@rrrrrrmrrrnrrrrrrrrr'rCrrErFrGrHrIrJrKr rLrMrrProrr|rrprqrrrrrRrSrrrrrUrrsrVrXrYrCrDrE rFrGrHrNrrJrKrLrMrNrmrOr}rPrQrrZr[r\r]r^r_r`@ABCr)raJKrTrbrcrrrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrorprqrrrsrurrwrxryrzr{rgrhrirjrkrlrmrrrrrrrrr	rrrrrrrrrrrorpr
rrrrrrrrrr(rrrrrrrrrrrrr(,rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrirrr-r.rr!zirrri|rrrrrrrrrIrrxrvriiirrrrrrrr#r$r%r&r'r(r)r*rr+rr,rr-r.r/r0r1rr2r3rr4r5r6r7rr8r9rr.rrrIrIrIrrrrrrrr;{rrryrr<rrr=r>r?r@rrrArBrrrrrrrrrrrorrprrrrrrrrrrwrrrrr9rrIrrIrrriiri_]ruwrrrrDrErrrrrrrrrrrrrrrrrrrGrHrIrJrKrLrrrrrrrrrrrrrrrr[rrrrrrMrNrrrrrrQrRrrrrrrrrrr^\rrrrVrWrrrrrrrrr`rarrrrrrerrrrrrrr
_THREAD_LOCAL)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrLT)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r3r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rr3rrrr3rrrr3rrrr3r3r3r3rrGrHrIrJrKrLrrrQrRrr`rareCOMMA)rrrrrrrrrrrrrrrrr	r
rrrrrrrrrrrrrrrr$rr%rr&r&rrr7r'r(r)rr*r2r3r5r6rrrr
rr7r8r8rrrrrrrrrrr?rrlrr@rrrrrrmrrrnrrrrrrrrBrr'rHr rzr{r9r!rrMrrrNrrrrrrorrr|rrprqrrrrrRrSrrrrrUrrrsrrVrrrXrYrrrrrZr\r^r_rrr)rrrrarrrbrcrrrrrrrrrrtrurvrwrxryrzr{r|r}r~rrrrrr*rrrrrrrrrrrrrgrhrrjrkrrrlrmrrrrrrrrrrrrr	rrr
rrrrrrrrorpr
rrrrrrrrrrrrrrrrr4rrr)rqrrrrsrtrurvrwrxr|r~rrrrrrrrrrrrrrrrrrrrrrrrBrrr-r.rr!rrrrrrrrrrrr"rrrrrrrCrr#r$r%r&r'r(r)r*rr+rr,rr-r.r/r0r1rr2r3rr4r5r6r7rr8r9rrr.rrrrrrr:rMrr]rerr;rrrrrr<rrr=r>r?r@rrrArBrrrkrrrrrrrrrrrkr9rrrrr,rrrrrrrrrrrrrrrCrrDrErrrrrrrrrrrrrrrrrrkrrrGrHrIrJrkrKrrrLrrkrrrrrrrrrrrrrMrNrrrrrrrQrRrrrSrTrUrkrkrkrrrrrVrWrrrrrZr[r\r]r^r_rr`rarkrbrcrkrerfrg
U16CHAR_CONST)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrOFFSETOF)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr_ATOMIC)rrrrrrrrrrrrrrrrrrrrrrrrrrr	r
rrrrr
rrrrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&rr'r(r)r	r*r+r,r-r.r/r0r1r2r
r3r4r5r6rrr7r8rr9rr:r;r<r=rrr>r?r@rArrBrCrrDrErFrGrHrIrJrKr rLr!rMr$r%rNrOr'r(rPr*r+r,rQrRrSrTrUrVrWrXrYrBrCrDrErFrHrJrKrLrMrNrOrQrZr[r\r]r^r_r`rarTrbrcrdrerfrorprqrrrurwrxryrzrgrhrirjrkrlrmr~rnrrrrrrrorprrrrrrrrrrr)rr!rqrrrrrsrtrurvrwrxryrzr{r|r}r~r!rrrrr!rrrrrrrrprrrrrrrrrr!r!rr!rrrrrrr!rrrrrrr!rrrrrrr!rrrr!rrrrrrrrrrrrrrrrrrrrrrrrr!rrrr!rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!rrrrrrrrrrrrrrrrrrrrrrr!rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrTYPEDEF)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrXOR)Ir#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3r6r4r5r6r7rr8r9rrr<rrr=r>r?r@rArBrrr9rr6rrrrrrrrrrrr6rrr6rrGrHrIrJrKrLrrrQrRrr`rareAUTO)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)5r#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1r2r3r4r5r6r7rr8r9rr[r<rrr=r>r?r@rArBrrr9rGrHrIrJrKrLrrrQrRrr`rare(Srrrrrrrrrrrrrrrrrrrrrrrrrr	r
rr%rrr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r@r%rr'r(r)r	r+r,r.r0r2r
r3r5r6rrrr
r7r8rrrr:r;r<r=rrBrrrrrrrrrrrrr?rrlrrr@rrrrrrrrrmrrrnrrrrrrrrrrrrrBrCrrHr rLr!r"rCr#r$r%rNr&r'r(rPror)r*rr+rpr,rqrrrrrRrSr-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?rrr@rArrrUrsrVrWrXrYrBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrrZr\r^r_rRrarSrTrUrVrWrdrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rgrhr,r}rjrkr~rrrrrrrr	rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(Srrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr#r$r%rr&rr'r(r)r*rr+rr,rrr-rrrr.r/r0r1rr2r3r8r4r5rr6r7rr8rrrrr9rrrrrrrrrrUrrrrXrrrrrrr<rrrrr=r>r?r@rrrrrrrrrrrrrrrrrrrrrrArBrrrrrrrrrrrrrrrrrrrrrrrrr9rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr8r8r8r8r8r8r8r8r8r8rrr8r8r8r8r8rrGrHrIrJrKrLrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrQrRrrrrrrrrrrrrrrrrrrrrrrrrrrr`rrrarrrrrrerrrrrrrr(lrrrrrrrrrrrrrrrrrrrrrrrrrrr	r
rrrrrr
rrrrrrrrrrrrrrrrrrrrrr r!r"r#r$r@r%rArrrr'r(r)r	r*r+r,r.r0r2r
r3r5r6rrrr
r7r8rrrrr:r;r<r=rrBrrrrrrrrrrrrrr?rrrr@rrrrrrrr\rrrrrrrrrrrrrrrrrBrCrrHr rLr!rrMr"rCr#r$r%rNrr&r'r(rPr)r*rr+r,rrrrrRrSr-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?rrr@rArUrVrrWrXrYrBrrCrDrErFrGrHr4rXrIrJrdrKrLrMrNrOrPrQr7rZr\r^r_rRrarSrTrUrVrWrbrcrdrrrrXrYrZrrr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrrrrrrrkrlrrmrnrorprqrrrsrtrurvrwrxryrzr{r|rgrhr,r}rjrkrlrmrrr~rrrrrrrr	rrr
rrrrrrrrrYrrrrorprrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr(lrrrqrr@rrrsrtr	rurvrwrxryrrzr{r|r}r~rrrrrr1rrrrrrrrrrrrrrrrr9rrrrrrrrrrrrrrr1rrrr@rr@r>rr!rrrrr9rr@rrrrrrrrr"rrrrr1rrrrrrrrr@r>rr*r#r$r%rr&rr'r(r)r*rr+r,r+rr-r,rrr.r/r0rQr1r2r3r4r5rr6r7rAr8rTrrr*r,r9rWrr*rrr@rr:rr*r@r*rrrdr;r*rrrrr*r<r*r*r=r>r?r@rrrrrrrrrrrrrrrrrrr*rrrArBr*r*rrrWrWrrrrfrrrrr*rrqrtrr*rvrrrrrr*rr9r|rrrrrrrrrr*r*rrrdrdrnrCrr*r*rDrErrrrrrrr*rrrrrrr*rrGrHrIrJrKrLr*rrfr*r*rrr*rr*r*rr*rr*rrr*r*rrr@rrrrrrdrnrrMrNrrrrrQrRr*rrSrTrUrrrr*rr*rrrrrrr*rrrVrWr*rrZr[r\r]r*r*rr*r*r*rr*r*r^r_r`r*rrar*rrrrrbrcrer*r*rfrgr*rrr*rr)rrrrrrrrrrrrrrrrr#r$r%rr&rr'r(r)r*r+r,rr-rrrr.r/r0r1r2r3r4r5rr6r7rr8rrrrr9rrrrrrrrrrrrr<rrr=r>r?r@rrrrrrrrrrrrrrrrrrrrArBrrrrrrrrrrrrrrrrrrr9rrrrrrrrrrrrrrrrrrrrrrrrrrGrHrIrJrKrLrrrrrrrrrrrrrrrrrrrrrrrrrQrRrrrrrrrrrrrrrrrrrrrrrrrrrr`rrrarrrrrrerrrrrrrr( rrrrrrrrrrrrrrrrrrrrrrrrrr$rrr?rr	r
rrrrrr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r@r%rArr'r(r)r	r+r,r.r0r2r
r3r5r6frrrr
r7r8rrr9rr:r;r<r=rrBrr>rrrr?rr@rrrrrrrrrCrrHr rLr!rr"rCr#r$r%rNr&r'r(rPr)r*r+r,rRrSr-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?rr
r@rArUrVrXrYrBrCrDrErrFrGrHrIrJrKrLrMrNrOrPrQrZr\r^r_rRrrarSrTrUrVrWrdrrrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|rgrhr,r}rjrkrr~rnrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr( rrrqrrrrrsrtrurvrwrxryrrzr{r|r}r~rrrDrrrrErrr3r6rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr9rr"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr9r9rr:rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr9rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)4rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrr	r
rrr
rrrrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*rr+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}rr~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrrrrrrrrr.rrrrrrrrrrrrrrrrrr<rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrqrrrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)5r#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1r2r3r4r5r6r7rr8r9rr_r<rrr=r>r?r@rArBrrr9rGrHrIrJrKrLrrrQrRrr`rare)5r#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1r2r3r4r5r6r7rr8r9rrar<rrr=r>r?r@rArBrrr9rGrHrIrJrKrLrrrQrRrr`rare)xrrrrrrr
rrrrrrrrrrrrlrrrrrrrmrrrnrrrrrrrrr r!r#r$r&r'rorrrprqrrrrrrrrrrsrBNOrUQ_rXrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrmrrnr~rrrrrr	rrrrrrrrr12rr)xrrrrrrrrrr#r$r%r&r'r(r)r*r+rr,r-r.r/r0r1rr2r3rr4r5r6r7rr8r9rrrrrrrrrr<rrr=r>r?r@rArBrrrrrlrmrrrrrrrrrrrrrrrrrrrrrGrHrIrJrrKrLrrrrorprr
rrrrrrrQrRrrrrrrrrrrr`rarrr re)DIVEQUALTIMESLPAREN
MINUSMINUSIDIFSTRING_LITERALFLOATXOREQUALLSHIFTEQUALRBRACKETrrexpression_statement)
rrJrPrsrxr{rrrrrrr)
rCrCrCrCrCrCrCrCrCrCrCrCrCstruct_or_union_specifier)!rrr
rr&r	r.r/r1r4r9r>rArrrErFrGrOr*r+r,rQrTrWrJr[r]rdrerfrqrn)!rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrinit_declarator_listrr,rinit_declarator_list_optriteration_statement)
rDrDrDrDrDrDrDrDrDrDrDrDrD
static_assert)rrrrJrPrsrxr{rrrrrrr)rrrErErErErErErErErErErErErEunified_string_literal)Rr	rrrrrrrrr"r#r&r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArGrIrJrPrRrSrrVrWrYrZrbrhrirkrlrmrnrqrsrtrvrxr{r|r}rrrrrrrrrrrrrrrrrrrr)Rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrassignment_expression_opt)r#r&rmrnr)rrrrr
brace_open)r?rrHr2r3r5r6rIrrr"r*rJrPrirlrsrxr{rrrrrrrrrrr)r4rrrErFrrrr)rr)rrrr)rrrrrrrrr)rrrrrr
enumerator)rrrr)rzrzrzrtypeid_noparen_declaratorrNrtype_qualifier_list_opt)rrrr%r(rBr~r)rr#r&rWrZrmrr"declaration_specifiers_no_type_opt)rrrrrrr+)r"r0r:r;r<r0r0expression_opt)rrJrPrqrsrxr{rrrrrrrrrrr)rrrrrrrrrrrrrrrrrrdesignation)r)rrr)rgrgrgrgparameter_list)r9r>rWrdrfrn)rrrrrralignment_specifier))rrrrrrrrrrr&r	r+r,r/r1r4r9r>rrBrrErFrGrLrNr*r+r,rQrTrWrJr[r]rdrerfrqrn))rrr(rrrrrrrrr?rr(rr?r?rrr?rYrr?r?r?rYr(r?r?r?r?r?rrr?r?rrrrrlabeled_statement)
rFrFrFrFrFrFrFrFrFrFrFrFrFabstract_declarator)rBrNrWrd)rrrrtranslation_unitrinit_declarator)rr,rBrC)rrrrdirect_abstract_declarator)rBrNrrWrdrr)rrrrrrrdesignator_list)rrrr
identifier)Xr	rr9r>rrrrrrrr"r#r&r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArGrIrJrPrRrSrVrWrrYrZrbrrhrirkrlrmrnrqrsrtrvrxr{r|r}rnrrrrrrrrrrrrrrrrrrrrrr)Xrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrroffsetof_member_designatorrrunary_expression)Qr	rrrrrrrrr"r#r&r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArGrIrJrPrRrSrVrWrYrZrbrhrirkrlrmrnrqrsrtrvrxr{r|r}rrrrrrrrrrrrrrrrrrrr)Qrlrlrorprqrlrorsrorororororororlrlrlrlrlrlrlrlrlrlrlrlrlrlrlrlrorlrlrorororlrororlrlrorororororlrororlrorororororororororlrlrlrorororororororororororororororororoabstract_declarator_optrBrrinitializer)rr"rir)rrrrdirect_id_declarator)rrrrr
rr@rAr,r.rBrLrCrNrdrr,r)rrr*rrrrr*rrrrrrrr*rr*struct_declaration_list)r4rErF)rGr[r]pp_directiverdeclaration_listrr&r/id_init_declaratorr
r.rtype_specifier)!rrr7rrr@r7rr@r@rrrUr@rr@r@r@r7r@r@r@r@r@rrr@r@rrrrrcompound_statement)rHrIrr*rJrPrsrxr{rrrrrrr)rCrPrHrrHrHrHrHrHrHrHrHrHrHrHrHpointer)rrrr
rr@r,r.rrBrBrLrCrNrWrdr,)rrArrrrArArrrArrArArrrrAtypeid_declarator)rr@r,rBrLrCr,)r&rr&r&r&r&r&id_init_declarator_listr
declarator)rr,rBrLrCr,)r7r7r7r)r7r)argument_expression_listrArstruct_declarator_list_optrLrblock_item_listrrJparameter_type_list_opt)rWrdrf)rrrstruct_declaratorr,rrtype_qualifier)6rrrrrrrrrrrr&r	r+r,r/r1r4rrr9rr>rArrBrrErFrGrLr$r%rNr'r(r*r+r,rQrTrWrBrJr[r]rdrerfrqr~rnrr)6rrr'rrrrrrrrrrrr'rrrr!rrrrr!rrXrrrrrXr!rr'r!rrrrrrrrrrrrrrrrrr!rassignment_operatorrorb
expression)rrr*r+r,r=r@rGrJrPrqrsrtrvrxr{r|rrrrrrrrrrrrr)rrrrrr*rrrrrrrrrrrrrrrrrrrrrrrrstorage_class_specifier)rrrrrrrrrrr&r+r,r/r9r>rrNrWrJrdrerfrqrn)rrr$rrrrrrrrrr$rrrrr$rrrrrrrunified_wstring_literal)Qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtranslation_unit_or_emptyr/initializer_list_optr)rbrace_close)r4rErFrGr{r~r[r]rrrrrr)rHr\r^r_rarzrgrhrjrkrrrrdirect_typeid_declarator)rr@rAr,rBrLrCr,)rrrrrrrrexternal_declarationrr=pragmacomp_or_statement)
rPrsr{rrrrrrr)
rWrrrrrrrrr	type_name)r	r1rr*r+r,rQrT)rrrrrrrrtypedef_name)!rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpppragma_directive)rrr4rrErFrGrJrPr[r]rsrxr{rrrrrrr)rrrJrKrJrJrJrKrxrJrJrxrKrxrxrxrxrxrxrxrx	statement)
rLrLryryrryryryryrryryrycast_expression)Nr	rrrrrr"r#r&r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArGrIrJrPrRrSrVrWrYrZrbrhrirkrlrmrnrqrsrtrvrxr{r|r}rrrrrrrrrrrrrrrrrrrr)Nrmrmrmrrrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrrmrmrmrmrmrmrmrmrmrmrrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmatomic_specifier)(rrrrr
rrrrrr&r	r+r.r/r1r4r9r>rArrrErFrGrOr*r+r,rQrTrWrJr[r]rdrerfrqrn)(rrr+rr8rrrrrr+r8rr8r+r8r8rrr8r8r+r8r8r8r8r8r8r8r8r8rr+r8r8rrrr+rstruct_declarator_listrempty):rrrrrrr
rrrrr&r+r,r.rr9rr>rBrrLr#r%rNr&r(r)rWrBrJrPrdrmrnrfrqrsrxr{r~rnrrrrrrrrrrrrrrrr):r0r rrGr r
rr r r r rGr rrr
rr
rrr}rrr
rrr
rjrr
rrrrrrrrrrr
rrrrrrr
rrrrrrrrrrparameter_declaration)r9r>rWrdrerfrn)rrrrrrrprimary_expression)Qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrdeclaration)rrrr&r/rrJrq)rr-rr-rDrMrMrdeclaration_specifiers_no_type)rrrrrrrrrr&r+r/r9r>rrWrJrdrerfrqrn)r
r#r.r#r#r#r#r
r#r.r#r.rOrOr.rOr.rOrOrOr.rOjump_statement)
rNrNrNrNrNrNrNrNrNrNrNrNrNenumerator_list)rrr)r{rr
block_itemrOruconstant_expression)r	rrIrRrSrhr})rrr+rrrridentifier_list_opt)r9r>rn)rrrconstant)Qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtype_specifier_no_typeid)&rrrr
rr&r	r,r.r/r1r4r9r>rArrBrrErFrGrLrNrOr*r+r,rQrTrWrJr[r]rdrerfrqrn)&rr%rrrrrr%rrrrrrrrrVrrrrrVr%rrrrrrrrrrrrrrrstruct_declaration)r4rErFrGr[r])rKrKrKr`r`r` direct_typeid_noparen_declaratorrrr
id_declarator)rrrr
rr@r,r.rBrLrCrNrdr,)rr&rr8rrr'r8r'r'r'rrr'selection_statement)
rQrQrQrQrQrQrQrQrQrQrQrQrQpostfix_expression)Qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrinitializer_listrrrunary_operator)Qrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrstruct_or_union)!r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?r?block_item_list_optr~assignment_expression)1rrrr"r#r&r*r+r,r=r@rArGrJrPrVrWrYrZrbrirkrmrnrqrsrtrvrxr{r|rrrrrrrrrrrrrrrrrr)1r|rrr|rrrrrrrrrrrrrrrrr|rrrrrrrrrrrrrrr|rrrrrrrrrrrrrdesignation_opt)rirrir)rrrrrr)rr	r1r4rrrrErFrGr%r(r*r+r,rQrTrBr[r]r~r)rrArArAr$r'rArArArArrrArArArArArrArArr)r)rrrr)rrrrrr)rrrr&r/r9r>rrWrJrdrerfrqrn)rr,rr,r,rNrNr,rNr,rNrNrNr,rN)rrrrHrIr)Kr	rrrrr"r#r&r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArGrIrJrPrRrSrVrWrYrZrbrhrirkrmrnrqrsrtrvrxr{r|r}rrrrrrrrrrrrrrrrrrr)Krnrnrnrnrnrnrnrnrnrnrnrtrurvrwrxryrzr{r|r}r~rrrrrrnrrrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrn)!rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrrr)rrr)rrrrrrrrrr)rrrrr)rrrrrrr)r	r1r4rrErFrGr*r+r,rQrTr[r])rBrBrLrBrLrLrLrBrBrBrBrBrLrL)9r	rrrrr"r#r&r*r+r,r=r@rArGrIrJrPrRrSrVrWrYrZrbrhrirkrmrnrqrsrtrvrxr{r|r}rrrrrrrrrrrrrrrrrrr)9rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)parameter_type_listtype_qualifier_list
designatorid_init_declarator_list_optdeclaration_specifiersidentifier_listdeclaration_list_optfunction_definitionbinary_expressionenum_specifier	decl_bodyfunction_specifierspecifier_qualifier_listconditional_expression(R)zS' -> translation_unit_or_emptyzS'rNNN)z abstract_declarator_opt -> emptyr
rp_abstract_declarator_optplyparser.pyr)z.abstract_declarator_opt -> abstract_declaratorr
rrVrWr)z"assignment_expression_opt -> emptyrrp_assignment_expression_optrWr)z2assignment_expression_opt -> assignment_expressionrrrXrWr)zblock_item_list_opt -> emptyrErp_block_item_list_optrWr)z&block_item_list_opt -> block_item_listrErrYrWr)zdeclaration_list_opt -> emptyrNrp_declaration_list_optrWr)z(declaration_list_opt -> declaration_listrNrrZrWr)z+declaration_specifiers_no_type_opt -> emptyrr$p_declaration_specifiers_no_type_optrWr)zDdeclaration_specifiers_no_type_opt -> declaration_specifiers_no_typerrr[rWr)zdesignation_opt -> emptyrGrp_designation_optrWr)zdesignation_opt -> designationrGrr\rWr)zexpression_opt -> emptyrrp_expression_optrWr)zexpression_opt -> expressionrrr]rWr)z$id_init_declarator_list_opt -> emptyrKrp_id_init_declarator_list_optrWr)z6id_init_declarator_list_opt -> id_init_declarator_listrKrr^rWr)zidentifier_list_opt -> emptyr:rp_identifier_list_optrWr)z&identifier_list_opt -> identifier_listr:rr_rWr)z!init_declarator_list_opt -> emptyrrp_init_declarator_list_optrWr)z0init_declarator_list_opt -> init_declarator_listrrr`rWr)zinitializer_list_opt -> emptyr%rp_initializer_list_optrWr)z(initializer_list_opt -> initializer_listr%rrarWr)z parameter_type_list_opt -> emptyrrp_parameter_type_list_optrWr)z.parameter_type_list_opt -> parameter_type_listrrrbrWr)z#struct_declarator_list_opt -> emptyrrp_struct_declarator_list_optrWr)z4struct_declarator_list_opt -> struct_declarator_listrrrcrWr)z type_qualifier_list_opt -> emptyrrp_type_qualifier_list_optrWr)z.type_qualifier_list_opt -> type_qualifier_listrrrdrWr)zdirect_id_declarator -> IDrrp_direct_id_declarator_1rWrB)z3direct_id_declarator -> LPAREN id_declarator RPARENrrp_direct_id_declarator_2rWrB)zpdirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrrp_direct_id_declarator_3rWrB)zsdirect_id_declarator -> direct_id_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETrrp_direct_id_declarator_4rWrB)zodirect_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETrrrhrWr)z\direct_id_declarator -> direct_id_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETrrp_direct_id_declarator_5rWrB)zNdirect_id_declarator -> direct_id_declarator LPAREN parameter_type_list RPARENrrp_direct_id_declarator_6rWrB)zNdirect_id_declarator -> direct_id_declarator LPAREN identifier_list_opt RPARENrrrjrWr)z"direct_typeid_declarator -> TYPEIDr'rp_direct_typeid_declarator_1rWrB)z;direct_typeid_declarator -> LPAREN typeid_declarator RPARENr'rp_direct_typeid_declarator_2rWrB)zxdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETr'rp_direct_typeid_declarator_3rWrB)z{direct_typeid_declarator -> direct_typeid_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETr'rp_direct_typeid_declarator_4rWrB)zwdirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETr'rrnrWr)zddirect_typeid_declarator -> direct_typeid_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETr'rp_direct_typeid_declarator_5rWrB)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN parameter_type_list RPARENr'rp_direct_typeid_declarator_6rWrB)zVdirect_typeid_declarator -> direct_typeid_declarator LPAREN identifier_list_opt RPARENr'rrprWr)z*direct_typeid_noparen_declarator -> TYPEIDr>r$p_direct_typeid_noparen_declarator_1rWrB)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETr>r$p_direct_typeid_noparen_declarator_3rWrB)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKETr>r$p_direct_typeid_noparen_declarator_4rWrB)zdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKETr>rrsrWr)ztdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKETr>r$p_direct_typeid_noparen_declarator_5rWrB)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN parameter_type_list RPARENr>r$p_direct_typeid_noparen_declarator_6rWrB)zfdirect_typeid_noparen_declarator -> direct_typeid_noparen_declarator LPAREN identifier_list_opt RPARENr>rrurWr)z%id_declarator -> direct_id_declaratorr?rp_id_declarator_1rWrB)z-id_declarator -> pointer direct_id_declaratorr?rp_id_declarator_2rWrB)z-typeid_declarator -> direct_typeid_declaratorrrp_typeid_declarator_1rWrB)z5typeid_declarator -> pointer direct_typeid_declaratorrrp_typeid_declarator_2rWrB)z=typeid_noparen_declarator -> direct_typeid_noparen_declaratorrrp_typeid_noparen_declarator_1rWrB)zEtypeid_noparen_declarator -> pointer direct_typeid_noparen_declaratorrrp_typeid_noparen_declarator_2rWrB)z-translation_unit_or_empty -> translation_unitr$rp_translation_unit_or_emptyc_parser.pyr)z"translation_unit_or_empty -> emptyr$rr|r}r)z(translation_unit -> external_declarationrrp_translation_unit_1r}r
)z9translation_unit -> translation_unit external_declarationrrp_translation_unit_2r}r)z+external_declaration -> function_definitionr(rp_external_declaration_1r}r)z#external_declaration -> declarationr(rp_external_declaration_2r}r)z$external_declaration -> pp_directiver(rp_external_declaration_3r}r)z*external_declaration -> pppragma_directiver(rrr}r)zexternal_declaration -> SEMIr(rp_external_declaration_4r}r)z%external_declaration -> static_assertr(rp_external_declaration_5r}r)z^static_assert -> _STATIC_ASSERT LPAREN constant_expression COMMA unified_string_literal RPARENrrp_static_assert_declarationr}r)zAstatic_assert -> _STATIC_ASSERT LPAREN constant_expression RPARENrrrr}r)zpp_directive -> PPHASHrrp_pp_directiver}r)zpppragma_directive -> PPPRAGMAr,rp_pppragma_directiver}r)z*pppragma_directive -> PPPRAGMA PPPRAGMASTRr,rrr}r)zLfunction_definition -> id_declarator declaration_list_opt compound_statementrOrp_function_definition_1r}iJ)zcfunction_definition -> declaration_specifiers id_declarator declaration_list_opt compound_statementrOrp_function_definition_2r}i\)zstatement -> labeled_statementr-rp_statementr}ik)z!statement -> expression_statementr-rrr}il)zstatement -> compound_statementr-rrr}im)z statement -> selection_statementr-rrr}in)z statement -> iteration_statementr-rrr}io)zstatement -> jump_statementr-rrr}ip)zstatement -> pppragma_directiver-rrr}iq)zstatement -> static_assertr-rrr}ir)z7pragmacomp_or_statement -> pppragma_directive statementr)rp_pragmacomp_or_statementr}i)z$pragmacomp_or_statement -> statementr)rrr}i)z<decl_body -> declaration_specifiers init_declarator_list_optrRrp_decl_bodyr}i)zGdecl_body -> declaration_specifiers_no_type id_init_declarator_list_optrRrrr}i)zdeclaration -> decl_body SEMIr4r
p_declarationr}i)zdeclaration_list -> declarationrrp_declaration_listr}i)z0declaration_list -> declaration_list declarationrrrr}i)zSdeclaration_specifiers_no_type -> type_qualifier declaration_specifiers_no_type_optr5r"p_declaration_specifiers_no_type_1r}i)z\declaration_specifiers_no_type -> storage_class_specifier declaration_specifiers_no_type_optr5r"p_declaration_specifiers_no_type_2r}i)zWdeclaration_specifiers_no_type -> function_specifier declaration_specifiers_no_type_optr5r"p_declaration_specifiers_no_type_3r}i)zUdeclaration_specifiers_no_type -> atomic_specifier declaration_specifiers_no_type_optr5r"p_declaration_specifiers_no_type_4r}i)zXdeclaration_specifiers_no_type -> alignment_specifier declaration_specifiers_no_type_optr5r"p_declaration_specifiers_no_type_5r}i)z?declaration_specifiers -> declaration_specifiers type_qualifierrLrp_declaration_specifiers_1r}i")zHdeclaration_specifiers -> declaration_specifiers storage_class_specifierrLrp_declaration_specifiers_2r}i')zCdeclaration_specifiers -> declaration_specifiers function_specifierrLrp_declaration_specifiers_3r}i,)zIdeclaration_specifiers -> declaration_specifiers type_specifier_no_typeidrLrp_declaration_specifiers_4r}i1)z(declaration_specifiers -> type_specifierrLrp_declaration_specifiers_5r}i6)zGdeclaration_specifiers -> declaration_specifiers_no_type type_specifierrLrp_declaration_specifiers_6r}i;)zDdeclaration_specifiers -> declaration_specifiers alignment_specifierrLrp_declaration_specifiers_7r}i@)zstorage_class_specifier -> AUTOr"rp_storage_class_specifierr}iE)z#storage_class_specifier -> REGISTERr"rrr}iF)z!storage_class_specifier -> STATICr"rrr}iG)z!storage_class_specifier -> EXTERNr"rrr}iH)z"storage_class_specifier -> TYPEDEFr"rrr}iI)z(storage_class_specifier -> _THREAD_LOCALr"rrr}iJ)zfunction_specifier -> INLINErSrp_function_specifierr}iO)zfunction_specifier -> _NORETURNrSrrr}iP)z type_specifier_no_typeid -> VOIDr<rp_type_specifier_no_typeidr}iU)z!type_specifier_no_typeid -> _BOOLr<rrr}iV)z type_specifier_no_typeid -> CHARr<rrr}iW)z!type_specifier_no_typeid -> SHORTr<rrr}iX)ztype_specifier_no_typeid -> INTr<rrr}iY)z type_specifier_no_typeid -> LONGr<rrr}iZ)z!type_specifier_no_typeid -> FLOATr<rrr}i[)z"type_specifier_no_typeid -> DOUBLEr<rrr}i\)z$type_specifier_no_typeid -> _COMPLEXr<rrr}i])z"type_specifier_no_typeid -> SIGNEDr<rrr}i^)z$type_specifier_no_typeid -> UNSIGNEDr<rrr}i_)z$type_specifier_no_typeid -> __INT128r<rrr}i`)ztype_specifier -> typedef_namerrp_type_specifierr}ie)z type_specifier -> enum_specifierrrrr}if)z+type_specifier -> struct_or_union_specifierrrrr}ig)z*type_specifier -> type_specifier_no_typeidrrrr}ih)z"type_specifier -> atomic_specifierrrrr}ii)z3atomic_specifier -> _ATOMIC LPAREN type_name RPARENr/rp_atomic_specifierr}io)ztype_qualifier -> CONSTrrp_type_qualifierr}iv)ztype_qualifier -> RESTRICTrrrr}iw)ztype_qualifier -> VOLATILErrrr}ix)ztype_qualifier -> _ATOMICrrrr}iy)z'init_declarator_list -> init_declaratorrrp_init_declarator_listr}i~)zBinit_declarator_list -> init_declarator_list COMMA init_declaratorrrrr}i)zinit_declarator -> declaratorrrp_init_declaratorr}i)z0init_declarator -> declarator EQUALS initializerrrrr}i)z-id_init_declarator_list -> id_init_declaratorrrp_id_init_declarator_listr}i)zHid_init_declarator_list -> id_init_declarator_list COMMA init_declaratorrrrr}i)z#id_init_declarator -> id_declaratorrrp_id_init_declaratorr}i)z6id_init_declarator -> id_declarator EQUALS initializerrrrr}i)zMspecifier_qualifier_list -> specifier_qualifier_list type_specifier_no_typeidrTrp_specifier_qualifier_list_1r}i)zCspecifier_qualifier_list -> specifier_qualifier_list type_qualifierrTrp_specifier_qualifier_list_2r}i)z*specifier_qualifier_list -> type_specifierrTrp_specifier_qualifier_list_3r}i)z>specifier_qualifier_list -> type_qualifier_list type_specifierrTrp_specifier_qualifier_list_4r}i)z/specifier_qualifier_list -> alignment_specifierrTrp_specifier_qualifier_list_5r}i)zHspecifier_qualifier_list -> specifier_qualifier_list alignment_specifierrTrp_specifier_qualifier_list_6r}i)z/struct_or_union_specifier -> struct_or_union IDrrp_struct_or_union_specifier_1r}i)z3struct_or_union_specifier -> struct_or_union TYPEIDrrrr}i)z[struct_or_union_specifier -> struct_or_union brace_open struct_declaration_list brace_closerrp_struct_or_union_specifier_2r}i)zCstruct_or_union_specifier -> struct_or_union brace_open brace_closerrrr}i)z^struct_or_union_specifier -> struct_or_union ID brace_open struct_declaration_list brace_closerrp_struct_or_union_specifier_3r}i)zFstruct_or_union_specifier -> struct_or_union ID brace_open brace_closerrrr}i)zbstruct_or_union_specifier -> struct_or_union TYPEID brace_open struct_declaration_list brace_closerrrr}i)zJstruct_or_union_specifier -> struct_or_union TYPEID brace_open brace_closerrrr}i)zstruct_or_union -> STRUCTrDrp_struct_or_unionr}i)zstruct_or_union -> UNIONrDrrr}i)z-struct_declaration_list -> struct_declarationrrp_struct_declaration_listr}i)zEstruct_declaration_list -> struct_declaration_list struct_declarationrrrr}i)zNstruct_declaration -> specifier_qualifier_list struct_declarator_list_opt SEMIr=rp_struct_declaration_1r}i)zstruct_declaration -> SEMIr=rp_struct_declaration_2r}i#)z(struct_declaration -> pppragma_directiver=rp_struct_declaration_3r}i()z+struct_declarator_list -> struct_declaratorr0rp_struct_declarator_listr}i-)zHstruct_declarator_list -> struct_declarator_list COMMA struct_declaratorr0rrr}i.)zstruct_declarator -> declaratorrrp_struct_declarator_1r}i6)z9struct_declarator -> declarator COLON constant_expressionrrp_struct_declarator_2r}i;)z.struct_declarator -> COLON constant_expressionrrrr}i<)zenum_specifier -> ENUM IDrQrp_enum_specifier_1r}iD)zenum_specifier -> ENUM TYPEIDrQrrr}iE)z=enum_specifier -> ENUM brace_open enumerator_list brace_closerQrp_enum_specifier_2r}iJ)z@enum_specifier -> ENUM ID brace_open enumerator_list brace_closerQrp_enum_specifier_3r}iO)zDenum_specifier -> ENUM TYPEID brace_open enumerator_list brace_closerQrrr}iP)zenumerator_list -> enumeratorr7rp_enumerator_listr}iU)z(enumerator_list -> enumerator_list COMMAr7rrr}iV)z3enumerator_list -> enumerator_list COMMA enumeratorr7rrr}iW)z7alignment_specifier -> _ALIGNAS LPAREN type_name RPARENrrp_alignment_specifierr}ib)zAalignment_specifier -> _ALIGNAS LPAREN constant_expression RPARENrrrr}ic)zenumerator -> IDrrp_enumeratorr}ih)z+enumerator -> ID EQUALS constant_expressionrrrr}ii)zdeclarator -> id_declaratorrrp_declaratorr}ix)zdeclarator -> typeid_declaratorrrrr}iy)z(pointer -> TIMES type_qualifier_list_optrr	p_pointerr}i)z0pointer -> TIMES type_qualifier_list_opt pointerrrrr}i)z%type_qualifier_list -> type_qualifierrIrp_type_qualifier_listr}i)z9type_qualifier_list -> type_qualifier_list type_qualifierrIrrr}i)z%parameter_type_list -> parameter_listrHrp_parameter_type_listr}i
)z4parameter_type_list -> parameter_list COMMA ELLIPSISrHrrr}i)z'parameter_list -> parameter_declarationrrp_parameter_listr}i)z<parameter_list -> parameter_list COMMA parameter_declarationrrrr}i)z=parameter_declaration -> declaration_specifiers id_declaratorr2rp_parameter_declaration_1r}i*)zIparameter_declaration -> declaration_specifiers typeid_noparen_declaratorr2rrr}i+)zGparameter_declaration -> declaration_specifiers abstract_declarator_optr2rp_parameter_declaration_2r}i6)zidentifier_list -> identifierrMrp_identifier_listr}iV)z3identifier_list -> identifier_list COMMA identifierrMrrr}iW)z$initializer -> assignment_expressionrrp_initializer_1r}i`)z:initializer -> brace_open initializer_list_opt brace_closerrp_initializer_2r}ie)z<initializer -> brace_open initializer_list COMMA brace_closerrrr}if)z/initializer_list -> designation_opt initializerrBrp_initializer_listr}in)zFinitializer_list -> initializer_list COMMA designation_opt initializerrBrrr}io)z%designation -> designator_list EQUALSrr
p_designationr}iz)zdesignator_list -> designatorr	rp_designator_listr}i)z-designator_list -> designator_list designatorr	rrr}i)z3designator -> LBRACKET constant_expression RBRACKETrJrp_designatorr}i)zdesignator -> PERIOD identifierrJrrr}i)z=type_name -> specifier_qualifier_list abstract_declarator_optr*rp_type_namer}i)zabstract_declarator -> pointerrrp_abstract_declarator_1r}i)z9abstract_declarator -> pointer direct_abstract_declaratorrrp_abstract_declarator_2r}i)z1abstract_declarator -> direct_abstract_declaratorrrp_abstract_declarator_3r}i)z?direct_abstract_declarator -> LPAREN abstract_declarator RPARENrrp_direct_abstract_declarator_1r}i)zddirect_abstract_declarator -> direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKETrrp_direct_abstract_declarator_2r}i)zadirect_abstract_declarator -> LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKETrrp_direct_abstract_declarator_3r}i)zPdirect_abstract_declarator -> direct_abstract_declarator LBRACKET TIMES RBRACKETrrp_direct_abstract_declarator_4r}i)z5direct_abstract_declarator -> LBRACKET TIMES RBRACKETrrp_direct_abstract_declarator_5r}i)z^direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list_opt RPARENrrp_direct_abstract_declarator_6r}i)zCdirect_abstract_declarator -> LPAREN parameter_type_list_opt RPARENrrp_direct_abstract_declarator_7r}i)zblock_item -> declarationr8rp_block_itemr}i)zblock_item -> statementr8rrr}i)zblock_item_list -> block_itemrrp_block_item_listr}i)z-block_item_list -> block_item_list block_itemrrrr}i)z@compound_statement -> brace_open block_item_list_opt brace_closerrp_compound_statement_1r}i)z5labeled_statement -> ID COLON pragmacomp_or_statementrrp_labeled_statement_1r}i)zKlabeled_statement -> CASE constant_expression COLON pragmacomp_or_statementrrp_labeled_statement_2r}i)z:labeled_statement -> DEFAULT COLON pragmacomp_or_statementrrp_labeled_statement_3r}i)zJselection_statement -> IF LPAREN expression RPAREN pragmacomp_or_statementr@rp_selection_statement_1r}i)zYselection_statement -> IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statementr@rp_selection_statement_2r}i)zNselection_statement -> SWITCH LPAREN expression RPAREN pragmacomp_or_statementr@rp_selection_statement_3r}i)zMiteration_statement -> WHILE LPAREN expression RPAREN pragmacomp_or_statementrrp_iteration_statement_1r}i!)zUiteration_statement -> DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMIrrp_iteration_statement_2r}i%)zwiteration_statement -> FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrr/p_iteration_statement_3r}i))zoiteration_statement -> FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statementrrp_iteration_statement_4r}i-)zjump_statement -> GOTO ID SEMIr6rp_jump_statement_1r}i2)zjump_statement -> BREAK SEMIr6rp_jump_statement_2r}i6)zjump_statement -> CONTINUE SEMIr6rp_jump_statement_3r}i:)z(jump_statement -> RETURN expression SEMIr6rp_jump_statement_4r}i>)zjump_statement -> RETURN SEMIr6rrr}i?)z+expression_statement -> expression_opt SEMIrrp_expression_statementr}iD)z#expression -> assignment_expressionr!rp_expressionr}iK)z4expression -> expression COMMA assignment_expressionr!rrr}iL)z9assignment_expression -> LPAREN compound_statement RPARENrFr#p_parenthesized_compound_expressionr}iX)ztypedef_name -> TYPEIDr+rp_typedef_namer}i\)z/assignment_expression -> conditional_expressionrFrp_assignment_expressionr}i`)zSassignment_expression -> unary_expression assignment_operator assignment_expressionrFrrr}ia)zassignment_operator -> EQUALSr rp_assignment_operatorr}in)zassignment_operator -> XOREQUALr rrr}io)z!assignment_operator -> TIMESEQUALr rrr}ip)zassignment_operator -> DIVEQUALr rrr}iq)zassignment_operator -> MODEQUALr rrr}ir)z assignment_operator -> PLUSEQUALr rrr}is)z!assignment_operator -> MINUSEQUALr rrr}it)z"assignment_operator -> LSHIFTEQUALr rrr}iu)z"assignment_operator -> RSHIFTEQUALr rrr}iv)zassignment_operator -> ANDEQUALr rrr}iw)zassignment_operator -> OREQUALr rrr}ix)z-constant_expression -> conditional_expressionr9rp_constant_expressionr}i})z+conditional_expression -> binary_expressionrUrp_conditional_expressionr}i)zZconditional_expression -> binary_expression CONDOP expression COLON conditional_expressionrUrrr}i)z$binary_expression -> cast_expressionrPrp_binary_expressionr}i)z>binary_expression -> binary_expression TIMES binary_expressionrPrrr}i)z?binary_expression -> binary_expression DIVIDE binary_expressionrPrrr}i)z<binary_expression -> binary_expression MOD binary_expressionrPrrr}i)z=binary_expression -> binary_expression PLUS binary_expressionrPrrr}i)z>binary_expression -> binary_expression MINUS binary_expressionrPrrr}i)z?binary_expression -> binary_expression RSHIFT binary_expressionrPrrr}i)z?binary_expression -> binary_expression LSHIFT binary_expressionrPrrr}i)z;binary_expression -> binary_expression LT binary_expressionrPrrr}i)z;binary_expression -> binary_expression LE binary_expressionrPrrr}i)z;binary_expression -> binary_expression GE binary_expressionrPrrr}i)z;binary_expression -> binary_expression GT binary_expressionrPrrr}i)z;binary_expression -> binary_expression EQ binary_expressionrPrrr}i)z;binary_expression -> binary_expression NE binary_expressionrPrrr}i)z<binary_expression -> binary_expression AND binary_expressionrPrrr}i)z;binary_expression -> binary_expression OR binary_expressionrPrrr}i)z<binary_expression -> binary_expression XOR binary_expressionrPrrr}i)z=binary_expression -> binary_expression LAND binary_expressionrPrrr}i)z<binary_expression -> binary_expression LOR binary_expressionrPrrr}i)z#cast_expression -> unary_expressionr.rp_cast_expression_1r}i)z:cast_expression -> LPAREN type_name RPAREN cast_expressionr.rp_cast_expression_2r}i)z&unary_expression -> postfix_expressionrrp_unary_expression_1r}i)z-unary_expression -> PLUSPLUS unary_expressionrrp_unary_expression_2r}i)z/unary_expression -> MINUSMINUS unary_expressionrrrr}i)z2unary_expression -> unary_operator cast_expressionrrrr}i)z+unary_expression -> SIZEOF unary_expressionrrp_unary_expression_3r}i)z2unary_expression -> SIZEOF LPAREN type_name RPARENrrrr}i)z4unary_expression -> _ALIGNOF LPAREN type_name RPARENrrrr}i)zunary_operator -> ANDrCrp_unary_operatorr}i)zunary_operator -> TIMESrCrrr}i)zunary_operator -> PLUSrCrrr}i)zunary_operator -> MINUSrCrrr}i)zunary_operator -> NOTrCrrr}i)zunary_operator -> LNOTrCrrr}i)z(postfix_expression -> primary_expressionrArp_postfix_expression_1r}i)zEpostfix_expression -> postfix_expression LBRACKET expression RBRACKETrArp_postfix_expression_2r}i)zOpostfix_expression -> postfix_expression LPAREN argument_expression_list RPARENrArp_postfix_expression_3r}i)z6postfix_expression -> postfix_expression LPAREN RPARENrArrr}i)z2postfix_expression -> postfix_expression PERIOD IDrArp_postfix_expression_4r}i)z6postfix_expression -> postfix_expression PERIOD TYPEIDrArrr}i)z1postfix_expression -> postfix_expression ARROW IDrArrr}i)z5postfix_expression -> postfix_expression ARROW TYPEIDrArrr}i)z1postfix_expression -> postfix_expression PLUSPLUSrArp_postfix_expression_5r}i)z3postfix_expression -> postfix_expression MINUSMINUSrArrr}i)zUpostfix_expression -> LPAREN type_name RPAREN brace_open initializer_list brace_closerArp_postfix_expression_6r}i)z[postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list COMMA brace_closerArrr}i)z primary_expression -> identifierr3rp_primary_expression_1r}i)zprimary_expression -> constantr3rp_primary_expression_2r}i)z,primary_expression -> unified_string_literalr3rp_primary_expression_3r}i)z-primary_expression -> unified_wstring_literalr3rrr}i)z.primary_expression -> LPAREN expression RPARENr3rp_primary_expression_4r}i)zWprimary_expression -> OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPARENr3rp_primary_expression_5r}i)z(offsetof_member_designator -> identifierrrp_offsetof_member_designatorr}i)zJoffsetof_member_designator -> offsetof_member_designator PERIOD identifierrrrr}i	)zUoffsetof_member_designator -> offsetof_member_designator LBRACKET expression RBRACKETrrrr}i
)z1argument_expression_list -> assignment_expressionrrp_argument_expression_listr}i)zPargument_expression_list -> argument_expression_list COMMA assignment_expressionrrrr}i)zidentifier -> IDr
rp_identifierr}i )zconstant -> INT_CONST_DECr;rp_constant_1r}i$)zconstant -> INT_CONST_OCTr;rrr}i%)zconstant -> INT_CONST_HEXr;rrr}i&)zconstant -> INT_CONST_BINr;rrr}i')zconstant -> INT_CONST_CHARr;rrr}i()zconstant -> FLOAT_CONSTr;rp_constant_2r}i;)zconstant -> HEX_FLOAT_CONSTr;rrr}i<)zconstant -> CHAR_CONSTr;rp_constant_3r}iL)zconstant -> WCHAR_CONSTr;rrr}iM)zconstant -> U8CHAR_CONSTr;rrr}iN)zconstant -> U16CHAR_CONSTr;rrr}iO)zconstant -> U32CHAR_CONSTr;rrr}iP)z(unified_string_literal -> STRING_LITERALrrp_unified_string_literalr}i[)z?unified_string_literal -> unified_string_literal STRING_LITERALrrrr}i\)z*unified_wstring_literal -> WSTRING_LITERALr#rp_unified_wstring_literalr}if)z+unified_wstring_literal -> U8STRING_LITERALr#rrr}ig)z,unified_wstring_literal -> U16STRING_LITERALr#rrr}ih)z,unified_wstring_literal -> U32STRING_LITERALr#rrr}ii)zBunified_wstring_literal -> unified_wstring_literal WSTRING_LITERALr#rrr}ij)zCunified_wstring_literal -> unified_wstring_literal U8STRING_LITERALr#rrr}ik)zDunified_wstring_literal -> unified_wstring_literal U16STRING_LITERALr#rrr}il)zDunified_wstring_literal -> unified_wstring_literal U32STRING_LITERALr#rrr}im)zbrace_open -> LBRACErrp_brace_openr}iw)zbrace_close -> RBRACEr&r
p_brace_closer}i})zempty -> <empty>r1rp_emptyr}iN)_tabversion
_lr_method
_lr_signature_lr_action_items
_lr_actionitems_k_vzip_x_y_lr_goto_items_lr_goto_lr_productionsq/builddir/build/BUILD/imunify360-venv-2.6.3/opt/imunify360/venv/lib/python3.11/site-packages/pycparser/yacctab.py<module>rs?

SP
LO$'}
'}
'}
~
Z~
Z~
Z&[LO\bdn dn dn o ],o ],o ],c^,LO_,i,k,c6k,c6k,c6d6DCd6DCd6DCj,ECLOFCSCUCkMUCkMUCkMlMHYlMHYlMHYTCIYLOJYWYYYocYYocYYocpcLopcLopcLoXYMoLONoUoWoM~WoM~WoM~N~DON~DON~DOVoEOLOFONOPOU^POU^POU^V^{pV^{pV^{pOO|pLO}pEqGqixGqixGqixjxSAjxSAjxSAFqTALOUA[A]AgK]AgK]AgKhK|WhK|WhK|W\A}WLO~WDXFX|fFX|fFX|f}fsw}fsw}fswEXtwLOuwwBxExAxGxIxLxHxNx@xOxLOPxcxex_Cex_Cex_C`ChO`ChO`ChOdxiOLOjOnOpOVTpOVTpOVTWT~YWT~YWT~YoOYLO@ZFZHZX]HZX]HZX]Y]BaY]BaY]BaGZCaLODaJaLanhLanhLanhohXqohXqohXqKaYqLOZqbqdqMudqMudqMuNukyNukyNukycqlyLOmyqysyY~syY~syY~Z~ADZ~ADZ~ADryBDLOLOCDRDTDjNTDjNTDjNkNGZkNGZkNGZSDHZLOIZPZRZD]RZD]RZD]E]b`E]b`E]b`QZc`LOd`t`v`odv`odv`odpd~hpd~hpd~hu`hLO@iFiHiRsHiRsHiRsSsgSsgSsgGihLOiz|RJ|RJ|RJSJoUSJoUSJoU{pULOqUyU{UE`{UE`{UE`F`ZlF`ZlF`ZlzU[lLO\lhljl@pjl@pjl@pApKtApKtApKtilLtLOMt\t^tt~^tt~^tt~u~QJu~QJu~QJ]tRJLOSJ_JaJwMaJwMaJwMxMBRxMBRxMBR`JCRLODRHRJRpVJRpVJRpVqV]\qV]\qV]\IR^\LO_\f\h\rfh\rfh\rfsfarsfarsfarg\brLOcrkrmr}umr}umr}u~ugy~ugy~ugylrhyLOiyvyxyN}xyN}xyN}O}YAO}YAO}YAwyZALO[AeAgACKgACKgACKDKpUDKpUDKpUfAqULOrU|U~UU`~UU`~UU`V`\lV`\lV`\l}U]lLO^lflhl{thl{thl{t|tL|tL|tLglMLONVXnI	XnI	XnI	oI	KU	oI	KU	oI	KU	WLU	LOLOLOMU	WU	YU	c_	YU	c_	YU	c_	d_	xk	d_	xk	d_	xk	XU	yk	LOzk	Al	Cl	es	Cl	es	Cl	es	fs	O|	fs	O|	fs	O|	Bl	P|	LOQ|	X|	Z|	[E
Z|	[E
Z|	[E
\E
{P
\E
{P
\E
{P
Y|	|P
LO}P
CQ
EQ
PR
EQ
PR
EQ
PR
QR
lS
QR
lS
QR
lS
DQ
mS
LOnS
S
AT
{^
AT
{^
AT
{^
|^
Dk
|^
Dk
|^
Dk
@T
Ek
LOFk
Nk
Pk
vo
Pk
vo
Pk
vo
wo
Vu
wo
Vu
wo
Vu
Ok
Wu
LOXu
]u
_u
ox
_u
ox
_u
ox
px
Y|
px
Y|
px
Y|
^u
Z|
LO[|
e|
g|
iIg|
iIg|
iIjI\XjI\XjI\Xf|
]XLO^XfXhXr]hXr]hXr]s]@ds]@ds]@dgXAdLOBdHdJdSfJdSfJdSfTfphTfphTfphIdqhLOrh|h~hTl~hTl~hTlUl_pUl_pUl_p}h`pLOapepgpMugpMugpMuNuwzNuwzNuwzfpxzLOyz~z@{vI@{vI@{vIwIvZwIvZwIvZzwZLOxZ@[B[EfB[EfB[EfFf[sFf[sFf[sA[\sLO]sesgsTygsTygsTyUySUySUySfsTLOU]_e@
_e@
_e@
f@
xA
f@
xA
f@
xA
^yA
LOzA
A
AB
KL
AB
KL
AB
KL
LL
`X
LL
`X
LL
`X
@B
aX
LOLOLObX
jX
lX
vb
lX
vb
lX
vb
wb
Ko
wb
Ko
wb
Ko
kX
Lo
LOMo
Wo
Yo
ir
Yo
ir
Yo
ir
jr
Sv
jr
Sv
jr
Sv
Xo
Tv
LOUv
Zv
\v
r@\v
r@\v
r@s@OLs@OLs@OL[v
PLLOQLZL\LrO\LrO\LrOsO}SsO}SsO}S[L~SLOSDTFTlXFTlXFTlXmXL^mXL^mXL^ETM^LON^V^X^~bX^~bX^~bbbhbbhbbhW^chLOdhmhohkohkohk@lio@lio@lionhjoLOkovoxokwxokwxokwlwZAlwZAlwZAwo[ALO\AfAhArKhArKhArKsKGXsKGXsKGXgAHXLOIXPXRXf[RXf[RXf[g[T_g[T_g[T_QXU_LOV_d_f_|if_|if_|i}iYu}iYu}iYue_ZuLO[ueugu}gu}gu}~ZK~ZK~ZKfu[KLO\KdKfKYSfKYSfKYSZSH]ZSH]ZSH]eKI]LOJ]P]R]b`R]b`R]b`c`Ldc`Ldc`LdQ]MdLONdTdVd|hVd|hVd|h}hjn}hjn}hjnUdknLOlnvnxnkvxnkvxnkvlvZ@lvZ@lvZ@wn[@LO\@f@h@~Ch@~Ch@~CCIHCIHCIHg@JHLOLOLOKHOHQHwLQHwLQHwLxLaRxLaRxLaRPHbRLOcRkRmR}UmR}UmR}U~UgY~UgY~UgYlRhYLOiYxYzYPdzYPdzYPdQdmoQdmoQdmoyYnoLOooyo{oEz{oEz{oEzFzZFFzZFFzZFzo[FLO\FiFlFnFkFpFrFuFqFwFjFxFLOyFDGFG\JFG\JFG\J]JgN]JgN]JgNEGhNLOiNxNzNPYzNPYzNPYQYmdQYmdQYmdyNndLOodwdyd_iyd_iyd_i`iNo`iNo`iNoxdOoLOPobodo^zdo^zdo^z_zgF_zgF_zgFcohFLOiFpFrFBJrFBJrFBJCJlMCJlMCJlMqFmMLOnMxMzMQXzMQXzMQXRXXdRXXdRXXdyMYdLOZdddfdJifdJifdJiKiDnKiDnKiDnedEnLOFnNnPnCvPnCvPnCvDvrDvrDvrOnsLOtC@E@[JE@[JE@[J\JxU\JxU\JxUD@yULOzU~U@VPY@VPY@VPYQYz\QYz\QYz\U{\LO|\B]D]ZgD]ZgD]Zg[gwr[gwr[gwrC]xrLOyr@sBsY}BsY}BsY}Z}jHZ}jHZ}jHAskHLOLOLOlHtHvH\MvH\MvH\M]M@S]M@S]M@SuHASLOBSGSISoWISoWISoWpW^]pW^]pW^]HS_]LO`]l]n]Dhn]Dhn]DhEhasEhasEhasm]bsLOcsvsxsr~xsr~xsr~s~{Js~{Js~{Jws|JLO}JEKGKbTGKbTGKbTcTs_cTs_cTs_FKt_LOu_|_~_Hj~_Hj~_HjIj]vIj]vIj]v}_^vLO_vcvevK{evK{evK{L{s@L{s@L{s@dvt@LOu@{@}@WR}@WR}@WRXRXhXRXhXRXh|@YhLOZhihkh^pkh^pkh^p_pMz_pMz_pMzjhNzLOOzSzUz{~Uz{~Uz{~|~cD|~cD|~cDTzdDLOeDlDnDbSnDbSnDbScSHfcSHfcSHfmDIfLOJfYf[fqp[fqp[fqprpN|rpN|rpN|ZfO|LOP|Z|\|rF\|rF\|rFsFORsFORsFOR[|PRLOQRZR\RU]\RU]\RU]V]CjV]CjV]Cj[RDjLOEjNjPjCrPjCrPjCrDrY{DrY{DrY{OjZ{LO[{`{b{H@b{H@b{H@I@tEI@tEI@tEa{uELOvE|E~EqM~EqM~EqMrM`WrM`WrM`W}EaWLOLOnWD[nWD[nWD[E[O_E[O_E[O_mWP_Z_ZsZ_ZsZ_Zs[sHKHKHKY_IKTKn`TKn`TKn`o`yyo`yyo`yySKzyIzKGIzKGIzKGLG~ULG~ULG~UHzUFVtfFVtfFVtfufazufazufazEVbzizy}izy}izy}z}cAz}cAz}cAhzdAwAaLwAaLwAaLbLTXbLTXbLTXvAUX_Xib_Xib_Xibjb~njb~njb~n^XnLobrLobrLobrcrmvcrmvcrmvKonv~vTz~vTz~vTzUz_~Uz_~Uz_~}v`~m~JFm~JFm~JFKFIOKFIOKFIOl~JOLOLOLO

$$&&FBBqE"Q%  ur"
:


2jnRhN(*`*`*`bXbXbX*YhNZuwrwrwrswswswvxhNyORSTVQXZ\]_YaPbhNc}@ABDFHJKMGO~PhNQfh^h^h^_U	_U	_U	gV	hNW	f	h	c
h	c
h	c
d
`d
`d
`g	ahNbz|E|E|EFPFPFP{QhNRmoEoEoEF\F\F\n]hN^jlalalab[b[b[k\hN]ik}k}k}~P~P~PjQhNRmpsouwzv|n}hN~WYzYzYz{]{]{]X^hN_CE[E[E[\v\v\vDwhNxH J T!J T!J T!U!_"U!_"U!_"I `"hNa"n"p"B#p"B#p"B#C#U#C#U#C#U#o"V#hNW#g#i#C$i#C$i#C$D$^$D$^$D$^$h#_$hN`$u$w$I'w$I'w$I'J'W)J'W)J'W)v$X)hNhNY)l)n)d*n)d*n)d*e*[+e*[+e*[+m)\+hN]+r+t+F,t+F,t+F,G,Y,G,Y,G,Y,s+Z,hN[,m,p,q,o,s,u,w,t,y,n,z,hN{,L-N-]-N-]-N-]-^-n-^-n-^-n-M-o-hNp-L.N.l.N.l.N.l.m.K/m.K/m.K/M.L/hNM/^/`/r/`/r/`/r/s/E0s/E0s/E0_/F0hNG0S0U0v5U0v5U0v5w5Y;w5Y;w5Y;T0Z;hN[;w;z;};y;;A<D<@<F<x;G<hNH<Z<\<aA\<aA\<aAbAhFbAhFbAhF[<iFhNjFCGFGIGJGMGEGOGQGTGUGXGPGZGDG[GhN\GiGkG}GkG}GkG}G~GPH~GPH~GPHjGQHhNRHhHjHhIjHhIjHhIiIaJiIaJiIaJiHbJhNcJ|J~JKK~JKK~JKKLKZKLKZKLKZK}J[KhN\KjKmKnKoKqKlKsKuKwKxKzKtK|KkK}KhN~KPLSLULVLXLRLZL\L^L_LaL[LcLQLdLhNeLyL|L~LLAM{LCMEMHMIMLMDMNMzLOMhNPM`MbM]ObM]ObM]O^OUQ^OUQ^OUQaMVQhNhNhNWQkQmQnRmQnRmQnRoRqSoRqSoRqSlQrShNsS|S~SzT~SzT~SzT{TuU{TuU{TuU}SvUhNwUJVLVfVLVfVLVfVgVVgVVgVVKV@WhNAWZW]W_W`WbW\WdWfWiWjWmWeWoW[WpWhNqW}WWVXWVXWVXWXmXWXmXWXmX~WnXhNoXIYLYOYKYQYSYVYRYXYJYYYhNZYvYyY|YxY~Y@ZCZYEZwYFZhNGZXZ[Z^ZZZ`ZbZeZaZgZYZhZhNiZB[D[R[D[R[D[R[S[a[S[a[S[a[C[b[hNc[v[y[|[}[@\x[B\D\G\H\K\C\M\w[N\hNO\_\a\f_a\f_a\f_g_hbg_hbg_hb`\ibhNjbbBcEcAcGcIcLcHcNc@cOchNPc\c^cXe^cXe^cXeYeSgYeSgYeSg]cTghNUgngpgEipgEipgEiFi}iFi}iFi}iog~ihNiXjZj_oZj_oZj_o`oft`oft`oftYjgthNhtCuFuGuEuIuKuLuJuNuDuOuhNPufuiuluhunupusuouuuguvuhNhNhNwuDvFvvFvvFvv@wzw@wzw@wzwEv{whN|wVxXxuxXxuxXxuxvxQyvxQyvxQyWxRyhNSyiylymynypykyrytyvywyzysy|yjy}yhN~yWzYzC{YzC{YzC{D{n{D{n{D{n{Xzo{hNp{{{}{]|}{]|}{]|^|@}^|@}^|@}|{A}hNB}P}R}MR}MR}MNs@Ns@Ns@Q}t@hNu@IAKA]BKA]BKA]B^BrC^BrC^BrCJAsChNtCCADwDADwDADwDxDnExDnExDnE@DoEhNpEAFCF|JCF|JCF|J}JwO}JwO}JwOBFxOhNyOKPMP\RMP\RMP\R]RiT]RiT]RiTLPjThNkTCUFUIUEUKUMUPULURUDUSUhNTU[U]UuX]UuX]UuXvXT\vXT\vXT\\UU\hNV\m\o\M]o\M]o\M]N]l]N]l]N]l]n\m]hNn]B^D^IcD^IcD^IcJcPhJcPhJcPhC^QhhNRh_hah}hah}hah}h~h\i~h\i~h\i`h]ihN^i~i@jLk@jLk@jLkMkXlMkXlMkXliYlhNZljlllbmllbmllbmcmYncmYncmYnklZnhNhNhN[nlnnn|nnn|nnn|n}nKo}nKo}nKomnLohNMoYo\o_o`oco[oeogojokonofopoZoqohNroGpIpfpIpfpIpfpgpEqgpEqgpEqHpFqhNGq\q^qlq^qlq^qlqmq{qmq{qmq{q]q|qhN}qGrIrNwIrNwIrNwOwU|OwU|OwU|HrV|hNW|q|s|~s|~s|~@v@@v@@v@r|w@hNx@LANAgANAgANAgAhABBhABBhABBMACBhNDBfBiBlBmBpBhBrBtBwBxB{BsB}BgB~BhNBNCPC@DPC@DPC@DADxDADxDADxDOCyDhNzDOEQEGFQEGFQEGFHF~FHF~FHF~FPEFhN@GTGVG[LVG[LVG[L\LbQ\LbQ\LbQUGcQhNdQvQyQ|Q}Q@RxQBRDRGRHRKRCRMRwQNRhNOR_RaRfWaRfWaRfWgWm\gWm\gWm\`Rn\hNo\@]B]}^B]}^B]}^~^c`~^c`~^c`A]d`hNe`z`}`@a|`BaDaGaCaIa{`JahNKabadajddajddajdkdqgkdqgkdqgcarghNsgDhFhXhFhXhFhXhYhkhYhkhYhkhEhlhhNhNDi^iDi^iDi^i_iyi_iyi_iyiCiziRjhkRjhkRjhkikCmikCmikCmQjDmSmimSmimSmimjm@njm@njm@nRmAnbndnengnaninknnnonrnjntn`nunPoHpPoHpPoHpIp}pIp}pIp}pOo~pRq`qRq`qRq`qaqoqaqoqaqoqQqpqJrLrMrOrIrQrSrUrVrYrRr[rHr\rurvrwryrtr{r}rr@sBs|rDssrEs[sHx[sHx[sHxIxw|Ixw|Ixw|Zsx|K}FK}FK}FGl@Gl@Gl@J}m@{@WA{@WA{@WAXArAXArAXArAz@sAJB_CJB_CJB_C`CmD`CmD`CmDIBnDKEBFKEBFKEBFCF}FCF}FCF}FJE~FYG~JYG~JYG~JJeNJeNJeNXGfNhNhNhN
""$$FBRUBqE""vr2HnnRhrlx|BSSSr
Back to Directory File Manager