
    ?e                    "   d Z dZdZi dg dg dfdg dg dfdg dg d	fd
g dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfd g dg d!fd"g dg d#fd$g dg d%fi d&g dg d'fd(g dg d)fd*g dg d+fd,g dg d-fd.g dg d/fd0g dg d1fd2g dg d3fd4g dg d5fd6g d7g d8fd9g dg d:fd;g dg d<fd=g dg d>fd?g d@g dAfdBg d@g dCfdDg dEg dFfdGg dHg dIfdJg dKg dLfi dMg dKg dNfdOg dPg dQfdRg dKg dSfdTg dPg dUfdVg dWg dXfdYg dZg d[fd\g dKg d]fd^g d_g d`fdag dbg dcfddg deg dffdgg deg dhfdig djg dkfdlg dmg dnfdog dmg dpfdqg deg drfdsg deg dtfdug deg dvfi dwg dxg dyfdzg deg d{fd|g deg d}fd~g deg dfdg deg dfdg deg dfdg deg dfdg deg dfdg deg dfdg deg dfdg deg dfdg deg dfdg deg dfdg deg dfdg deg dfdg deg dfdg deg dfi dg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg d¢g dâfdg dŢg dƢfdg dȢg dɢfdg dˢg d̢fi dg d΢g dϢfdg dѢg dҢfdg dԢg dբfdg dעg dآfdg dڢg dۢfdg dݢg dޢfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfi dg dg dfdg dg dfdg dg d fdg dg dfdg dg dfdg dg dfdg dg d	fd
g dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfi dg dg d fd!g d"g d#fd$g d%g d&fd'g d%g d(fd)g d%g d*fd+g d,g d-fd.g d/g d0fd1d2gd3gfd4d2gd5gfd6g d7g d8fd9g d:g d;fd<d=d>gd?d?gfd@d=d>gdAdAgfdBg dCg dDfdEdFdGgdHdHgfdIdJdKgdLdLgfdMg dNg dOfi dPdJdKgdQdQgfdRdJdKgdSdSgfdTdUdVgdWdWgfdXdUdVgdYdYgfdZdUdVgd[d[gfd\dUdVgd]d]gfd^dUdVgd_d_gfd`dUdVgdadagfdbdUdVgdcdcgfdddUdVgdedegfdfg dgg dhfdig djg dkfdlg dmg dnfdog dmg dpfdqg drg dsfdtg dug dvfdwg dug dxfi dyg dug dzfd{g dug d|fd}g d~g dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdddgddgfddgdgfdddgddgfdddgddgfZi Ze                                D ]9\  ZZ eed         ed                   D ]\  Z	Z
e	evri ee	<   e
ee	         e<   :[i ddgdgfdddgddgfdddgddgfdg dg dfdddgddgfdddgddgfdddgddgfdddgddgfdddgddgfdddgddgfdddgddgfdddgddgfdddgddgfdddgdÐdgfdĐddgdŐdgfdƐddgdǐdgfdȐddgdɐdgfi dʐddgdːdgfd̐ddgd͐dgfdΐddgdϐdgfdАddgdѐdgfdҐddgdӐdgfdԐddgdՐdgfd֐ddgdאdgfdؐddgdِdgfdڐddgdېdgfdܐddgdݐdgfdސddgdߐdgfdddgddgfdddgddgfdg dg dfdddgddgfdddgddgfdddgddgfi dg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfd g dg dfdg dg dfdg dg dfdg dg dfdg d	g d
fdg dg dfdg dg dfdddgddgfdddgddgfdg dg dfi dg dg dfdg dg dfdg dg dfdg dg dfdg dg d fd!g d"g d#fd$g d"g d%fd&g d'g d(fd)g d*g d+fd,g d-g d.fd/d0d1gd2d3gfd4d5gd6gfd7d8gd9gfd:g d;g d<fd=d>gd?gfd@dAgdBgfdCdDgdEgfi dFdGdHgdIdJgfdKdLdMgdNdOgfdPg dQg dRfdSd2gdTgfdUg dVg dWfdXd3gdYgfdZd[d\gd]d^gfd_g d`g dafdbg dcg ddfdeg dcg dffdgg dcg dhfdig d`g djfdkg d`g dlfdmg dcg dnfdodpdqgdrdsgfdtdudvgdwdxgfdydzgd{gfi d|dzgd}gfd~g dg dfdg dg dfdddgddgfddgdgfdd?gdgfdg dg dfdd2gdgfddIdJgddgfddgdgfdddgddgfdg dg dfddgdgfdddgddgfdd=gdgfdd=d>gddgfddgdgfi dddgddgfddgdgfddgdgfdddgddgfddFgdgfddFgdgfddFdGgddgfddJgdgfdĐdJdKgdŐdgfdǐdgdgfdʐdȐdgdːdgfd͐dȐdgdΐdgfdϐdUgdgfdѐdUdVgdҐdgfdԐdgdgfdאdՐdgdِdgfdېdgdgfi dސdgdgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgddgfddܐdgd d gfi ddܐdgddgfdg dg dfddܐdgddgfdg d	g d
fdg dg dfddgdgfdddgddgfdddgddgfddgdgfddgdgfdddgdd gfd!d"gd#gfd$g d%g d&fd'g d%g d(fd)g d*g d+fd,g d*g d-fd.d/gd0gfi d1g d2g d3fd4g dmg d5fd6d7gd8gfd9d7d8gd:d;gfd<d=gd>gfd?g d@g dAfdBdCgdDgfdEdCgdFgfdGdCdFgdHdIgfdJdKgdLgfdMdKdLgdNdOgfdPdQgdRgfdSg dTg dUfdVg dWg dXfdYg dZg d[fd\g d]g d^fd_g d]g d`fi dadgdbgfdcddgdddegfdfdgdggfdhddgdidjgfdkdlgdmgfdng dog dpfdqg d[g drfdsdtgdugfdvg dwg dxfdydugdzgfd{dugd|gfd}dugd~gfddugdgfddugdgfddugdgfddugdgfddugdgfi ddugdgfddgdgfdg dg dfddgdgfddgdgfddgdgfddgdgfddgdgfddgdgfddgdgfdddgddgfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfZi Ze                                D ]9\  ZZ eed         ed                   D ]\  Z	Z
e	evri ee	<   e
ee	         e<   :[g dZdS (  z3.10LALRaoE  specificationleftSCOPEAccessCode AutoPyName BIGetBufferCode BIGetCharBufferCode BIGetReadBufferCode BIGetSegCountCode BIGetWriteBufferCode BIReleaseBufferCode CODE_BLOCK CompositeModule ConvertFromTypeCode ConvertToSubClassCode ConvertToTypeCode Copying DOTTED_NAME DefaultDocstringFormat DefaultDocstringSignature DefaultEncoding DefaultMetatype DefaultSupertype Docstring ELLIPSIS EOF EOL End Exception ExportedHeaderCode ExportedTypeHintCode Extract FILE_PATH False Feature FinalisationCode GCClearCode GCTraverseCode GetCode HideNamespace If Import Include InitialisationCode InstanceCode LOGICAL_OR License MappedType MethodCode Module ModuleCode ModuleHeaderCode NAME NULL NUMBER PickleCode Platforms Plugin PostInitialisationCode PreInitialisationCode PreMethodCode Property Py_hash_t Py_ssize_t QUOTED_CHAR Q_SIGNAL Q_SIGNALS Q_SLOT Q_SLOTS REAL RaiseCode ReleaseCode SCOPE SIP_PYBUFFER SIP_PYCALLABLE SIP_PYDICT SIP_PYENUM SIP_PYLIST SIP_PYOBJECT SIP_PYSLICE SIP_PYTUPLE SIP_PYTYPE SIP_SSIZE_T STRING SetCode Timeline True TypeCode TypeHeaderCode TypeHintCode UnitCode UnitPostIncludeCode VirtualCallCode VirtualCatcherCode VirtualErrorHandler all_raise_py_exception bool call_super_init char class const default_VirtualErrorHandler double enum explicit false final float format get id int keyword_arguments language licensee long name namespace noexcept operator optional order private protected public py_ssize_t_clean remove_leading set short signals signature signed size_t slots static struct template throw timestamp true type typedef union unsigned use_argument_names use_limited_api virtual void wchar_tspecification : statement
        | specification statementstatement : eof
        | namespace_statement
        | composite_module
        | copying
        | defdocstringfmt
        | defdocstringsig
        | defencoding
        | defmetatype
        | defsupertype
        | exported_header_code
        | exported_type_hint_code
        | extract
        | feature
        | hidden_ns
        | import
        | include
        | init_code
        | license
        | mapped_type
        | mapped_type_template
        | module
        | module_code
        | module_header_code
        | platforms
        | plugin
        | preinit_code
        | postinit_code
        | timeline
        | type_hint_code
        | unit_code
        | unit_postinclude_code
        | virtual_error_handlernamespace_statement : if_start
        | if_end
        | class_decl
        | class_template
        | enum_decl
        | exception
        | function
        | namespace_decl
        | struct_decl
        | typedef_decl
        | union_decl
        | variable
        | type_header_codeeof : EOFbegin_args :end_args :need_eol :autopyname : AutoPyName begin_args '(' remove_leading '=' STRING end_args ')'get_buffer_code : BIGetBufferCode CODE_BLOCKrelease_buffer_code : BIReleaseBufferCode CODE_BLOCKcomposite_module : CompositeModule dotted_name c_module_body
        | CompositeModule begin_args '(' c_module_args end_args ')' c_module_bodyc_module_args : c_module_arg
        | c_module_args ',' c_module_argc_module_arg : name '=' dotted_namec_module_body : '{' c_module_body_directives '}' ';'
        | emptyc_module_body_directives : c_module_body_directive
        | c_module_body_directives c_module_body_directivec_module_body_directive : if_start
        | if_end
        | docstringconvert_from_type_code : ConvertFromTypeCode CODE_BLOCKconvert_to_subclass_code : ConvertToSubClassCode CODE_BLOCKconvert_to_type_code : ConvertToTypeCode CODE_BLOCKcopying : Copying CODE_BLOCKdefdocstringfmt : DefaultDocstringFormat STRING
        | DefaultDocstringFormat begin_args '(' name '=' STRING end_args ')'defdocstringsig : DefaultDocstringSignature STRING
        | DefaultDocstringSignature begin_args '(' name '=' STRING end_args ')'defencoding : DefaultEncoding STRING
        |  DefaultEncoding begin_args '(' name '=' STRING end_args ')'defmetatype : DefaultMetatype dotted_name
        | DefaultMetatype begin_args '(' name '=' dotted_name end_args ')'defsupertype : DefaultSupertype dotted_name
        | DefaultSupertype begin_args '(' name '=' dotted_name end_args ')'docstring : Docstring docstring_args CODE_BLOCKdocstring_args : empty
    | STRING
    | begin_args '(' docstring_arg_list end_args ')'docstring_arg_list : docstring_arg
        | docstring_arg_list ',' docstring_argdocstring_arg : format '=' STRING
    | signature '=' STRINGexported_header_code : ExportedHeaderCode CODE_BLOCKexported_type_hint_code : ExportedTypeHintCode CODE_BLOCKextract : Extract NAME CODE_BLOCK
        | Extract begin_args '(' extract_args end_args ')' CODE_BLOCKextract_args : extract_arg
        | extract_args ',' extract_argextract_arg : id '=' NAME
        | order '=' NUMBERfeature : Feature NAME
        | Feature begin_args '(' name '=' NAME end_args ')'finalisation_code : FinalisationCode CODE_BLOCKgc_clear_code : GCClearCode CODE_BLOCKgc_traverse_code : GCTraverseCode CODE_BLOCKhidden_ns : HideNamespace scoped_name
        | HideNamespace begin_args '(' hidden_ns_args end_args ')'hidden_ns_args : hidden_ns_arg
        | hidden_ns_args ',' hidden_ns_arghidden_ns_arg : name '=' scoped_nameif_start : If '(' qualifiers ')'if_end : Endimport : Import need_eol import_simple EOL
        | Import begin_args '(' import_compound end_args ')'import_simple : file_pathimport_compound : import_argsimport_args : import_arg
        | import_args ',' import_argimport_arg : name '=' file_pathinclude : Include need_eol include_simple EOL
        | Include begin_args '(' include_compound end_args ')'include_simple : file_pathinclude_compound : include_argsinclude_args : include_arg
        | include_args ',' include_arginclude_arg : name '=' file_path
        | optional '=' bool_valueinit_code : InitialisationCode CODE_BLOCKinstance_code : InstanceCode CODE_BLOCKlicense : License STRING
        | License begin_args '(' license_args end_args ')'license_args : license_arg
        | license_args ',' license_arglicense_arg : licensee '=' STRING
        | signature '=' STRING
        | timestamp '=' STRING
        | type '=' STRINGmapped_type : mapped_type_head '{' mapped_type_body '}' ';'mapped_type_template : mapped_type_template_head '{' mapped_type_body '}' ';'mapped_type_head : MappedType base_type opt_annosmapped_type_template_head : template_decl MappedType base_type opt_annosmapped_type_body : mapped_type_line
        | mapped_type_body mapped_type_linemapped_type_line : if_start
        | if_end
        | convert_from_type_code
        | convert_to_type_code
        | enum_decl
        | instance_code
        | mapped_type_function
        | release_code
        | type_code
        | type_header_codemapped_type_function : static cpp_type NAME '(' opt_arg_list ')' opt_const opt_exceptions opt_annos opt_signature ';' opt_docstring premethod_code method_codemodule_header_code : ModuleHeaderCode CODE_BLOCKmodule : Module dotted_name module_body
        | Module begin_args '(' module_args end_args ')' module_bodymodule_args : module_arg
        | module_args ',' module_argmodule_arg : all_raise_py_exception '=' bool_value
        | call_super_init '=' bool_value
        | default_VirtualErrorHandler '=' NAME
        | keyword_arguments '=' STRING
        | language '=' STRING
        | name '=' dotted_name
        | py_ssize_t_clean '=' bool_value
        | use_argument_names '=' bool_value
        | use_limited_api '=' bool_valuemodule_body : '{' module_body_directives '}' ';'
        | emptymodule_body_directives : module_body_directive
        | module_body_directives module_body_directivemodule_body_directive : if_start
        | if_end
        | autopyname
        | docstringmodule_code : ModuleCode CODE_BLOCKpickle_code : PickleCode CODE_BLOCKplatforms : Platforms '{' qualifier_list '}'plugin : Plugin NAMEpostinit_code : PostInitialisationCode CODE_BLOCKpreinit_code : PreInitialisationCode CODE_BLOCKproperty : Property begin_args '(' property_args end_args ')' opt_property_bodyproperty_args : property_arg
        | property_args ',' property_argproperty_arg : get '=' NAME
        | name '=' NAME
        | set '=' NAMEopt_property_body : empty
        | '{' property_body '}' ';'property_body : property_line
        | property_body property_lineproperty_line : if_start
        | if_end
        | docstringrelease_code : ReleaseCode CODE_BLOCKtimeline : Timeline '{' qualifier_list '}'type_code : TypeCode CODE_BLOCKtype_header_code : TypeHeaderCode CODE_BLOCKtype_hint_code : TypeHintCode CODE_BLOCKunit_code : UnitCode CODE_BLOCKunit_postinclude_code : UnitPostIncludeCode CODE_BLOCKvirtual_error_handler : VirtualErrorHandler NAME CODE_BLOCK
        | VirtualErrorHandler begin_args '(' veh_args end_args ')' CODE_BLOCKveh_args : veh_arg
        | veh_args ',' veh_argveh_arg : name '=' NAMEcpp_type : const base_type derefs opt_ref
        | base_type derefs opt_refbase_type : pod_type
        | scoped_name
        | scoped_name '<' cpp_types '>'
        | struct scoped_name
        | union scoped_namepod_type : unsigned long long
        | signed char
        | long long
        | unsigned char
        | unsigned short
        | unsigned int
        | unsigned long
        | unsigned
        | short
        | int
        | long
        | float
        | double
        | bool
        | char
        | wchar_t
        | void
        | SIP_PYOBJECT
        | SIP_PYTUPLE
        | SIP_PYLIST
        | SIP_PYDICT
        | SIP_PYCALLABLE
        | SIP_PYSLICE
        | SIP_PYTYPE
        | SIP_PYBUFFER
        | SIP_PYENUM
        | SIP_SSIZE_T
        | Py_hash_t
        | Py_ssize_t
        | size_t
        | ELLIPSIScpp_types : cpp_type
        | cpp_types ',' cpp_typederefs : empty
        | derefs '*'
        | derefs '*' constopt_ref : '&'
        | emptyclass_template : template_decl class_declclass_docstring : docstringclass_decl : class class_head opt_class_definition ';'class_head : scoped_name superclasses opt_annosstruct_decl : struct struct_head opt_class_definition ';'struct_head : scoped_name superclasses opt_annossuperclasses : ':' superclass_list
        | emptysuperclass_list : superclass
        | superclass_list ',' superclasssuperclass : class_access scoped_nameclass_access : empty
        | public
        | protected
        | privateopt_class_definition : '{' opt_class_body '}'
        | emptyopt_class_body : class_body
        | emptyclass_body : class_line
        | class_body class_lineclass_line : if_start
        | if_end
        | class_decl
        | class_docstring
        | class_template
        | ctor
        | dtor
        | enum_decl
        | exception
        | typedef_decl
        | method_variable
        | namespace_decl
        | struct_decl
        | union_decl
        | public_specifier
        | protected_specifier
        | private_specifier
        | signals_specifier
        | convert_from_type_code
        | convert_to_subclass_code
        | convert_to_type_code
        | finalisation_code
        | gc_clear_code
        | gc_traverse_code
        | get_buffer_code
        | instance_code
        | pickle_code
        | property
        | release_buffer_code
        | type_code
        | type_header_code
        | type_hint_code
        | BIGetReadBufferCode CODE_BLOCK
        | BIGetWriteBufferCode CODE_BLOCK
        | BIGetSegCountCode CODE_BLOCK
        | BIGetCharBufferCode CODE_BLOCKctor : explicit ctor_decl
        | ctor_declctor_decl : NAME '(' opt_arg_list ')' opt_exceptions opt_annos opt_ctor_signature ';' opt_docstring premethod_code method_codeopt_ctor_signature : '[' '(' opt_arg_list ')' ']'
        | emptydtor : opt_virtual '~' NAME '(' ')' opt_exceptions opt_abstract opt_annos ';' premethod_code method_code virtual_catcher_codemethod_variable : Q_SIGNAL simple_method_variable
        | Q_SLOT simple_method_variable
        | simple_method_variablesimple_method_variable : virtual function
        | static plain_method_variable
        | plain_method_variableplain_method_variable : function
        | variablepublic_specifier : public opt_slots ':'protected_specifier : protected opt_slots ':'private_specifier : private opt_slots ':'signals_specifier : signals ':'
        | Q_SIGNALS ':'opt_slots : slots
        | Q_SLOTS
        | emptyenum_decl : enum opt_enum_key opt_name opt_annos '{' opt_enum_body '}' ';'opt_enum_key : class
        | struct
        | union
        | emptyopt_enum_body : enum_body
        | emptyenum_body : enum_line
        | enum_body enum_lineenum_line : if_start
        | if_end
        | NAME opt_enum_assign opt_annos opt_commaopt_enum_assign : '=' value
        | emptyopt_comma : empty
        | ','exception : Exception scoped_name opt_base_exception opt_annos '{' exception_body '}' ';'opt_base_exception : '(' scoped_name ')'
        | emptyexception_body : exception_line
        | exception_body exception_lineexception_line : if_start
        | if_end
        | RaiseCode CODE_BLOCK
        | TypeHeaderCode CODE_BLOCKfunction : function_decl
        | assignment_operator_decl
        | operator_decl
        | operator_cast_declfunction_decl : cpp_type NAME '(' opt_arg_list ')' opt_const opt_final opt_exceptions opt_abstract opt_annos opt_signature ';' opt_docstring premethod_code method_code virtual_catcher_code virtual_call_codeassignment_operator_decl : cpp_type operator '=' '(' cpp_type ')' ';'operator_decl : cpp_type operator operator_name '(' opt_arg_list ')' opt_const opt_final opt_exceptions opt_abstract opt_annos opt_signature ';' premethod_code method_code virtual_catcher_code virtual_call_codeoperator_cast_decl : operator cpp_type '(' opt_arg_list ')' opt_const opt_final opt_exceptions opt_abstract opt_annos opt_signature ';' premethod_code method_code virtual_catcher_code virtual_call_codeopt_arg_list : arg_list
        | emptyarg_list : arg_value
        | arg_list ',' arg_valuearg_value : arg_type opt_assignarg_type : cpp_type opt_name opt_annosopt_assign : '=' expr
        | emptyexpr : value
        | expr binop valuevalue : opt_cast opt_unop simple_valuesimple_value : empty_value
        | function_call_value
        | null_value
        | number_value
        | quoted_char_value
        | real_value
        | scoped_name_value
        | string_valueempty_value : '{' '}'function_call_value : base_type '(' opt_expr_list ')'null_value : NULLnumber_value : NUMBER
        | bool_valuequoted_char_value : QUOTED_CHARreal_value : REALscoped_name_value : scoped_namestring_value : STRINGopt_expr_list : expr_list
        | emptyexpr_list : expr
        | expr_list ',' expropt_cast : '(' scoped_name ')'
        | emptybinop : '-'
        | '+'
        | '*'
        | '/'
        | '&'
        | '|'opt_unop : empty
        | '!'
        | '~'
        | '-'
        | '+'
        | '*'
        | '&'opt_exceptions : empty
        | noexcept
        | throw '(' opt_exception_list ')'opt_exception_list : exception_list
        | emptyexception_list : scoped_name
        | exception_list ',' scoped_nameopt_abstract : '=' NUMBER
        | emptyopt_signature : '[' cpp_type '(' opt_arg_list ')' ']'
        | emptyoperator_name : '+'
        | '-'
        | '*'
        | '/'
        | '%'
        | '&'
        | '|'
        | '^'
        | '<' '<'
        | '>' '>'
        | '+' '='
        | '-' '='
        | '*' '='
        | '/' '='
        | '%' '='
        | '&' '='
        | '|' '='
        | '^' '='
        | '<' '<' '='
        | '>' '>' '='
        | '~'
        | '(' ')'
        | '[' ']'
        | '<'
        | '<' '='
        | '=' '='
        | '!' '='
        | '>'
        | '>' '='method_code : MethodCode CODE_BLOCK
        | emptypremethod_code : PreMethodCode CODE_BLOCK
        | emptyvirtual_call_code : VirtualCallCode CODE_BLOCK
        | emptyvirtual_catcher_code : VirtualCatcherCode CODE_BLOCK
        | emptynamespace_decl : namespace namespace_head opt_namespace_body ';'namespace_head : scoped_name opt_annosopt_namespace_body : '{' namespace_body '}'
        | emptynamespace_body : namespace_statement
        | namespace_body namespace_statementtypedef_decl : typedef cpp_type NAME opt_annos ';' opt_docstring
        | typedef cpp_type '(' '*' NAME ')' '(' cpp_types ')' opt_annos ';' opt_docstringunion_decl : union union_head opt_class_definition ';'union_head : scoped_name opt_annosvariable : cpp_type NAME opt_annos variable_body ';'variable_body : '{' variable_body_directives '}'
        | emptyvariable_body_directives : variable_body_directive
        | variable_body_directives variable_body_directivevariable_body_directive : if_start
        | if_end
        | AccessCode CODE_BLOCK
        | GetCode CODE_BLOCK
        | SetCode CODE_BLOCKopt_annos : '/' annotations '/'
        | emptyannotations : annotation
        | annotations ',' annotationannotation : NAME
        | NAME '=' annotation_valueannotation_value : dotted_name
        | STRING
        | NUMBERscoped_name : SCOPE relative_scoped_name
        | relative_scoped_namerelative_scoped_name : NAME
        | relative_scoped_name SCOPE NAMEtemplate_decl : template '<' cpp_types '>'bool_value : true
        | True
        | false
        | Falsedotted_name : NAME
        | DOTTED_NAMEfile_path : NAME
        | DOTTED_NAME
        | FILE_PATHempty :opt_const : const
        | emptyopt_docstring : docstring
        | emptyopt_final : final
        | emptyopt_name : NAME
        | emptyopt_virtual : virtual
        | emptyored_qualifiers : NAME
        | '!' NAME
        | ored_qualifiers LOGICAL_OR NAME
        | ored_qualifiers LOGICAL_OR '!' NAMEqualifier_list : NAME
        | qualifier_list NAMEqualifiers : ored_qualifiers
        | opt_name '-' opt_nameEOF)                            	   
                                                                      !   "   #   $   %   &   '   (   )   *   +   ,   -   .   /   0   ;   R   W   X   Y   Z                                                                                                       
  G  `  e                4  6  v  x                                   %  ,  -  .  /  0  1  >  A                                                      )r'   r'   r   SiPNO<;:=hZ9Q?80zyr   .r   [r   2
	g8r   1r   r   =r   r   r   ?>r   r   r   9@r   r   r   :r   r   ;<CompositeModule)1   r'  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  Copying)2   r)  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  DefaultDocstringFormat)3   r+  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  DefaultDocstringSignature)4   r-  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  DefaultEncoding)5   r/  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  DefaultMetatype)6   r1  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  DefaultSupertype)7   r3  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  ExportedHeaderCode)8   r5  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  ExportedTypeHintCode)9   r7  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  Extract):   r9  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  Feature)<   r;  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  HideNamespace)=   r=  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  Import)?   r?  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  Include)@   rA  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  InitialisationCode)A   rC  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  License)B   rE  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  Module)E   rG  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  
ModuleCode)F   rI  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  ModuleHeaderCode)G   rK  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  	Platforms)H   rM  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  Plugin)I   rO  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  PreInitialisationCode)J   rQ  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  PostInitialisationCode)K   rS  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  Timeline)L   rU  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  TypeHintCode)r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]     r^   r_   r`   s  t  u  x  ra   rb   rc   rd                                                                                   re   rf   rg   rh   ri   L  N  O  P  Q  R  V  X  _  `  a  b  c  d  e  f  h  i  k  rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt         ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   c  }  ~    r       r   r   r     r       r   r   r     r   r     r   r   r     r   r   r   r   r   r   r   r   r   r   r   r   r   )M   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   >r   r   r   r   r  r   r   r   r   r  Rr   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   MGr   r   r   r   r  r   r   r   r  r   Fr   r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  UnitCode)N   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  UnitPostIncludeCode)O   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  VirtualErrorHandler)P   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  If(Q  r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK         rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX      rY   rZ                                         r[     r\   r]   rW    #  r^   H  I  J  K  L  r_   r`   r  rX  rY  rZ  w  r[  z  {  |  }  ~    ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  re       rf     rg     rh   ri   8  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  n  o  r  s  rj   rk   y  z  {  |  rl   rm   rn   ro   rp   rq           rr   rs   rt   r  r  r                    ru   rv   rw           rx   ry   rz   r{   	  
          r|   r}   r~   r   r   r   r   r   ?  @  r   E  F  G  H  I  J  K  L  M  P  Q  R  S  T  U  V  r  h  i  j  o  r  r      r            r     r  r    r   r   r     r  r   r  r  r   r   r     r  r   r   r  r   r   r     r  r   r   r   r   r     r   r   r   r   r   r   r   r   (Q  Q   r[  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r[  r[  r   r   r   r   r   r   r   r   r   r   r   r   r   r[  r   r   r[  vtsrqponmlkr[  r   r[  r   r   r[  r[  #r   r[  r   r   ur  r  r  @r  r[  YWVUTr   r   r   r   r[  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r[  4r   r[  r   r   r  Xr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r[  r[  3$r   r  r[  +)(r  r  r   r  r  r  r  r	  r   r  r  r  r[  r   r[  r
  r  r  *'&%r  r  r  r  r   r  r  r  r  r  r  r  r  r   r  ~}|r   r  r  r[  r   r[  ECBAr   r   r   Dr  r   r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r   r  r  r  r   r   r   jr   r   r   r!  r"  r#  r$  r%  End(Q  r6   r6   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r6   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r   r   r6   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  r6   r   r6   r   r   r6   r6   rg  r   r6   rh  ri  rj  rk  r   r   rl  r  r  r  rm  r  r6   rn  ro  rp  rq  rr  r   r   r   r   r6   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r6   rs  r   r6   r   rt  r   r  ru  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r6   r6   rv  rw  r   r  r6   rx  ry  rz  r  r  r   r  r  r  r{  r|  r}  r~  r  r	  r   r  r  r  r6   r  r  r  r   r6   r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r6   r  r   r6   r  r  r  r  r   r  r   r   r  r  r   r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r   r  r  r  r   r   r   r  r   r   r   r!  r"  r#  r$  r%  class)r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   T   U   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   rW  r  r^   r_   r`   rX  rY  rZ  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~    r  r  r  r  r  re   r  r  rf   rg     rh   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   r  r  r  ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r  r  r  r  r   r  r  r   r   r   r  r   r  r  r   r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   )S   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r     r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rv  r   r  r  r  r   r  r  r  r  r	  r   r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  enum(  r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   r  r  rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r  r  r  r  r  r  r  r  r  r   r  r  r  r[   r\   r]   rW  r  r^   r_   r`   r  rX  rY  rZ  r  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  re   r  r  rf   rg   rh   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   r  r  r  ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r  r  r  r  r   r  r  r   r   r   rW  r  r   r  r  r   r   r   rX  r  r   r   r  r   r   r   rY  r  r   r   r   r   r   rZ  r   r   r   r   r   r   r   r   (  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  r  r   r   r   r  r  r   r   r   rl  r  r  r  rm  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rv  r   r  r  r  r   r  r  r  r  r	  r   r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r   r  r  r  r   r   r   r  r   r   r   r!  r"  r#  r$  r%  	Exception)r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   rW  r  r^   r_   r`   rX  rY  rZ  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  re   r  r  rf   rg   rh   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   r  r  r  ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r  r  r  r  r   r  r  r   r   r   r  r   r  r  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   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rv  r   r  r  r  r   r  r  r  r  r	  r   r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  	namespace)[   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rv  r   r  r  r  r   r  r  r  r  r	  r   r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  struct(  r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r  r7   r8   r9   r:   ]   a   d   e   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI      rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU      rV      rW   rX   rY   rZ      r[   r\   r]   rW  r  +  D  r^   _  r_   r`   rX  rY  rZ  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r    r      r    r  r  re   r  r  rf       rg   rh   ri   r  r  r  r  r  r  U  r  W  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk       rl   rm   rn   ro   rp   rq   rr     rs   rt   r  r  r  ru   rv   rw       rx   ry   rz   r{                                !  "  #  r|   r}   r~   r   r   r   r   r   r   W  r  p  r  r    r    r       r  r  r   r   r   r  r   r  r  r     r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   (  \   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      r   r   r   r      r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   vr  r  r  r  r   r  r   utsrqpr  onmlkjir  r  r  r  r  r  r  r  r  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  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  typedef)r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rv  r   r  r  r  r   r  r  r  r  r	  r   r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  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   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      r   r   r   r      r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r   r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r  r  r   r  rs  r   r   r   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  r   r  r   r   r  r  r   r  r  r  r  r   r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r   r   r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r   r   r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  TypeHeaderCode(  r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   r  r  rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r  r  r  r  r  r  r  r  r  r   r  r  r  r[   r\   r]   rW  r  r^   r_   r`   r  rX  rY  rZ  r  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  re   r  r  rf   rg   rh   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   r  r  r  r*  r+  r,  r-  ru   rv   rw   rx   ry   rz   r{   r5  r6  r7  r|   r}   r~   r   r   r   r   r   r   r  r  r  r  r   r  r  r   r   r   rW  r  r   r  r  r   r   r   rX  r  r   r   r  r   r   r   rY  r  r   r   r   r   r   rZ  r   r   r   r   r   r   r   r   (  `   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  r  r   r   r   r  r  r   r   r   rl  r  r  r  rm  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r    rv  r   r  r  r  r   r  r  r  r  r	  r   r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r   r  r  r  r   r   r   r  r   r   r   r!  r"  r#  r$  r%  
MappedType)r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r  r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   r  rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  template)c   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rv  r   r  r  r  r   r  r  r  r  r	  r   r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  operator('  r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   >   r6   r7   r8   r9   r:   ^   b   f   g   h   j   k   l   m   n   o   p   q   r   s   t   u   v   w   x   y   z   {   |   }   ~      r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU         rV                              rW   rX   rY   rZ   r[   r\   r]   rW  r  (  )  ?  @  A  B  E  F  r^   ^  r_   r`   rX  rY  rZ  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r    r  r  r  r  r  r  r  r  re   r  r  rf   rg       rh   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  j  r  r  rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   r  r  r  ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r  r  r  r  r   r  r  r   r   r   r  r   r  r  r   r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   ('  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   1r   r   r   r   r      r   2&#%$"! r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   /.r   r   r   '*)(+,r   r   r   r   r   r   r   r  r  rW  rX  3	r   -r   0r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r   r  rs  r   r   
4r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r=  r  rv  r   r  r  r  r   r  r  r  r  r	  r   r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  const(	  r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r  r  r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   r  rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   r  rW   rX   rY   rZ   r  r[   r\   r]   rW  r  r  r2  r  r^   r  r_   r`   rX  rY  rZ  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  re   r  r  rf   r  r  rg   rh   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk     r    rl   rm   rn   ro   rp   rq   rr   r  rs   rt   r  r  r  ru   rv   rw     rx   ry   rz   r{   r  r|   r}   r~   r   r   r   r   2  r   r   r  r  r  r  r  r   r  r  r  r   r   r   r  r   r  r  r   r  r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   (	  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r  r   r   r   r  r  r  r9  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r    r  rm  r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  rm  r  r  r  r  r  r  r  r  r  r  r  r  rm  r  r  r   r  r  r   r  r   r  r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  unsigned(  r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r  r  r  r  r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   r  rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   r  rV   r  rW   rX   rY   rZ   r  r[   r\   r]   rW  r  r  r  r^   r  r_   r`   rX  rY  rZ  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  re   r  r  rf   r  r  rg   rh   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   r  r  rl   rm   rn   ro   rp   rq   rr   r  rs   rt   r  r  r  ru   rv   rw   r  r  rx   ry   rz   r{   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r|   r}   r~   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r   r  r  r  r  r   r   r   r  r   r  r  r   r  r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   (  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  signed(  i   rp  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rp  rp  rp  rp  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rp  r   r   r   r   r   r   r   r   r   r   r   r   rp  r   rp  r   r   r   r   rp  r   r   r   rp  rp  rp  rp  r   rp  r   r   r  r  r  r  r   r   r   r   rp  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rp  r  rp  rp  r  rp  r  r  r   rp  rs  r   rp  rp  r   r   r  r  r  r  r  r  r  rp  r  rp  r  r  r  r  r  r  r  r  r  r  r  r  rv  r   r  rp  r   r  r  r   r  r  r  r  rp  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   rp  r   r  r  r  r  r  r  rp  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   rp  r   rp  r   r   r   r  r   r   r   r  r   r  r   rp  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  long(!  r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r  r  r  r  r  r  r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   r  rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   r  rV   r  r)  rW   rX   rY   rZ   r  r[   r\   r]   rW  r  r  r  r^   r  r_   r`   rX  rY  rZ  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  re   r  r  rf   r  r  rg   rh   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   r  r  rl   rm   rn   ro   rp   rq   rr   r  rs   rt   r  r  r  ru   rv   rw   r  r  rx   ry   rz   r{   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r|   r}   r~   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r   r  r  r  r  r   r   r   r  r   r  r  r   r  r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   (!  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r)  r-  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r6  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  short(  r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r  r  r  r  r  r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   r  rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   r  rV   r  rW   rX   rY   rZ   r  r[   r\   r]   rW  r  r  r  r^   r  r_   r`   rX  rY  rZ  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  re   r  r  rf   r  r  rg   rh   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   r  r  rl   rm   rn   ro   rp   rq   rr   r  rs   rt   r  r  r  ru   rv   rw   r  r  rx   ry   rz   r{   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r|   r}   r~   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r   r  r  r  r  r   r   r   r  r   r  r  r   r  r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   (  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r+  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  int(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r,  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  float(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  double(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  bool(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  char(   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r  r  r  r  r  rp  r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   r  rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   r  rV   r  rW   rX   rY   rZ   r  r[   r\   r]   rW  r  r  r  r^   r  r_   r`   rX  rY  rZ  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  re   r  r  rf   r  r  rg   rh   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   r  r  rl   rm   rn   ro   rp   rq   rr   r  rs   rt   r  r  r  ru   rv   rw   r  r  rx   ry   rz   r{   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r|   r}   r~   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r   r  r  r  r  r   r   r   r  r   r  r  r   r  r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   (   r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r*  r.  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  wchar_t(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  void(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  SIP_PYOBJECT(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  SIP_PYTUPLE(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  
SIP_PYLIST(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  
SIP_PYDICT(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  SIP_PYCALLABLE(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  SIP_PYSLICE(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  
SIP_PYTYPE(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  SIP_PYBUFFER(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  
SIP_PYENUM(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  SIP_SSIZE_T(  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r   r   r   r  r   r   r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  	Py_hash_t(  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r  r  r   r   rs  r   r   r   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  r   r  r   r   r  r  r   r  r  r  r  r   r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r   r   r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r   r   r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  
Py_ssize_t(  r!  r!  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r!  r!  r!  r!  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r!  r   r   r   r   r   r   r   r   r   r   r   r   r!  r   r!  r   r   r   r   r!  r   r   r   r!  r!  r!  r!  r   r!  r   r   r  r  r  r  r   r   r   r   r!  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r  r!  r!  r  r!  r  r  r   r!  rs  r   r!  r!  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  r   r  r!  r   r  r  r   r  r  r  r  r!  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r!  r   r  r  r  r  r  r  r!  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r!  r   r!  r   r   r   r  r   r   r   r  r   r  r   r!  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  size_t(  r"  r"  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r"  r"  r"  r"  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r"  r   r   r   r   r   r   r   r   r   r   r   r   r"  r   r"  r   r   r   r   r"  r   r   r   r"  r"  r"  r"  r   r"  r   r   r  r  r  r  r   r   r   r   r"  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r  r"  r"  r  r"  r  r  r   r"  rs  r   r"  r"  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  r   r  r"  r   r  r  r   r  r  r  r  r"  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r"  r   r  r  r  r  r  r  r"  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r"  r   r"  r   r   r   r  r   r   r   r  r   r  r   r"  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  ELLIPSIS(  r#  r#  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r#  r#  r#  r#  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r#  r   r   r   r   r   r   r   r   r   r   r   r   r#  r   r#  r   r   r   r   r#  r   r   r   r#  r#  r#  r#  r   r#  r   r   r  r  r  r  r   r   r   r   r#  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r  r#  r#  r  r#  r  r  r   r#  rs  r   r#  r#  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  r   r  r#  r   r  r  r   r  r  r  r  r#  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r   r#  r   r  r  r  r  r  r  r#  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r#  r   r#  r   r   r   r  r   r   r   r  r   r  r   r#  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  SCOPE(3  r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r=  r6   r  r  r7   r8   r9   r:   r  r  r  r  r  r  r  r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   r  rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   r  r  r   rV   r  rW   rX   rY   rZ   r  r[   r\   r]   rW      r  r  r  r^   r  r_   r`   rX  rY  rZ  r[  ra   rb   rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r8  r  r  r  r  r  r  r  r            re   r  r  rf   r  r  rg   %  rh   ri   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  l  r  rj   rk   r  r  rl   rm   rn   ro   rp   rq   rr   r  rs   rt   r  r  r  ru   rv   rw   r    r  rx   ry   rz   r{   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r|   r}   r~   r   r   r   r   r   r   r  b  r  r  r  r  r  r  r    r   r  r  r  r  r   r   r   r  r   r  r  r   r  r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   (3     r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r   r   r   r   r  r  r  r  r  r  r     r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r   r  r   r   r   r   r  r   r   r   r  r   r  r  r  r  r   r  r   r   r  r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r   r  rs  r   r  r  r   r  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  r   r  r  r   r  r  r   r  r  r  r  r  r	  r   r  r  r  r
  r  r  r   r  r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r  r   r  r   r   r   r  r   r   r   r  r   r  r   r  r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  NAME(  r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r'  r1  r3  r9  r5   r;  r=  r  r?  rA  rG  rO  r  r6   r  r  r  r7   r8   r9   r:   r  r  r  r	  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r  r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   r        rJ   rK   rL   rM   rN      rO   rP   rQ      rR   rS   rT      rU   r     r  r  r     r$     r  r   r%  rV   r&  r'  r  r(  r)  r*  r+  r,  r-  r.  rW   r  rX   rY   rZ   r  r[   r\       	  r]     rW  r  r  r  "  r  r/  r0  r  r1  r2  r3  r4  r  r5  r6  r^   r7  r  r_   r`   rX  rY  rZ  v  r[  ra     rb   rc       rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~    r  r8  r  r  r  r  r  r  r  r  r  r  r  r  r  re   r  r  rf       r  r  rg   r9  r:           "  r  )  ,  rh   ri   >  A  G  I  r  r  r  r  r  r  T  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r;  r  r  r  r  r  t  u  rj   rk   r  r  rl   rm   rn   ro   rp   rq   r!  r"  r#  r$  rr   r  rs   rt   r  r  r  r%  r&  r'  r(  r)  ru   rv   rw   r  r  r  rx   ry   rz   r{   r2  r3  r  r4  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r|   r}   r~   r   r   r   r   ;  <  =  r   r8  r9  r   r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  r  r  r  rJ  rK  rL  rM  r  r  r  r  r  r  r  r   r  rU  r  r  r  r   r   r   r  r   r  r  r   r  r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   (  r5   r5   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r>   r>   r>      r   rH   r5   r<  r  r>   rO      r   r5   r   r5   r   r   r   r   r5   r5   r5      r5   r5   r   r5   r5   r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  r5   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r5      r  r   r   r   r   r   r  r   r   r   r  r   r   r     r   r5     rW  &  r5   r5   rX  r   r   rY  r5   r   rZ  r[  r\  r]  r^  r_  r   r^   r   r   r   r5   r   r   r  r  r     r8  r   r5   r5     rg  rW  rX  r5   r`  ra  rb  rc  r5   r   rd  r   re  r5   r   r   r  r  r  5  r  r   r   r   H  r  r   r8  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  S  r  r   r5   r  r5   r5   r  r5   r  r  r5   r  r  r  r  r   r5   rs  r   w  r  r5   r5   r   rf  rg  r>   r>   r>       r5   r  r  r   r    r>       r  r  r  r  r  r    r5   r  r5   r  r  r  r  r  r  r  r  r  r  r    r  r   r)  rv  rw  r  r>   r   r  r5   r   r  r  r   r  r  r  r{  r|  r}  r~  r  r5   r	  r   r  r  r  r)  r  r  r  r   r
  r  r  r   r5   r  r  r  r  r  r  r   r   r  r5   r   r  r  r  r  r  r  r5   r  r  r  r  r  r  r  r  r  r  r  r  r  r  e  f  g  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r5   r   r  r  r  r  r   r  r  r  r   r5   r5   r   r5   r  r   r   r   r  r   r   r   r  r   r  r   r5   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  z$end)r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r  r  r	  r   r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  })r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   rR   rU   rV   rW   r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  rW  r  r^   r  r  r	  r
  r  r  rX  rY  rZ  r  r[  r  r  r  r  r  r  r  rc   rd     r\    r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  re   r  r  rf   rg   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   r  r  r  r   rm   r!  r"  r#  r$  r  r  r    r%    r&  r'  r(  r)  r*  r+  r,  r-  ru   rv   rw   r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r|   r   r8  r9  r   r:  r;  r<  r=  r>  r?  r@  rA  rB  N  rC  rD  rE  rF  rG  rH  rI  r  rJ  rK  rL  rM  r  r  rO  r  rP  rQ  rR  rS  rT  r   rU  r  r  rV  r   r   r   rW  r  r   r  r  r   r   r   rX  r  r   r   r  r   r   r   rY  r  r   r   r   r   r   rZ  r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   q  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  y  ra   r  rb   r   rg  r     rh  ri  rj  rk  rl  r  r  r  rm  r  7  rn  ro  rp  rq  rr  r  r   r   K  iir  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   q  rs  r   r   rt  ru  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   rv  rw  r   r    rx  ry  rz  r  r{  r|  r}  r~  r  r  r    iir  r  r  r     r  r  r  r
  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  rM  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r     r  r  r  r  r   r  r   r   r  r  r   r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r   r  r  r  r   r   r   r  r   r   r   r!  r"  r#  r$  r%  DOTTED_NAME)r'  r1  r3  r?  rA  rG  r  r  r  r  r  r  r  r  r  )r?   r?   r?   r  r  r?      r  r?   r?   r?   r  r  r?   r?   ()r'  r+  r-  r/  r1  r3  r9  r5   r;  r=  r  r?  rA  rE  rG  r  r[  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r;                                                r  r  r=  r&  r'     r(  r)  r*  r+  r,  r-  r.  rW   r/  r0  ,  .  /  0  1  2  3  4  5  6  7  8  9  r1  r2  r3  r4  r5  r6  r^   M  r7    r8                                 	  
  r9  r:    r  9  r  g  r      r  r    r  r  r  r  r  r  r  r  8  O  rH  r  w  r    )r,  r,  r,  r,  r,  r,  r   r,  r,  r<  r,  r,  r,  r,  r,  r  r   r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  r                                           r  '  r  -  r   rY  r  r   rZ  r[  r\  r]  r^  r_  r   rW  rX  r  r  i]i\i[iZiYiXiWiViFiBiIr`  ra  rb  rc  r   rd  r   r,  re  r,  r  r,  iDiHiSiRiQiPiOiNiMiLiUiEiTiAiGiCrf  rg    r    r    r  iKiJ  r  r  r  r  r  r  r  r  r  r  r  r  r<  r  r  r  r  
CODE_BLOCK).r)  r5  r7  rC  rI  rK  rQ  rS  r  r  r  r  r  r                r                              }  ~          r  Z          ).r@   rF   rG   rJ   rM   rN   rP   rQ   rR   rS   rT   rV   rZ   r]   rX  rY  rZ  r  r[  r   r  r  r  r  r  r  r  r  r  r  r  rm   iir/  r0  r1  ry   r{   r6  r7  ir   r   r   r   STRING))r+  r-  r/  rE  r        0  1  2  3  ?  @  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  *  +  3  r  r  r  r  ))rA   rB   rC   rK   rT                      r   r   r  r   r   r  r  r  r  r  r  rI  r  r  r  r  r  r  r  \  ]  _  r  r   r  r   <)
r5   r  r  r;   r=  rW   r  r^   r8  rH  )
r   r  r  r   r  r   r  r   r   r  *)^r5   r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r;   r$  r=  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  rW   r;  r/  r0  r2  r5  r6  r^   r7  r8  r9  r  r!  r"  r#  r$      r  r  r  r  r  r  r  r  r  r  D  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  r  rM  r  r    rU  r    )^r   r<  r   r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  r   rW  r  rX  r2  rY  r   rZ  r[  r\  r]  r^  r_  r   r  rW  rX  ra  r2  rd  r   re  r   rf  r   r{  r|  r}  r~  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r   r  &)]r5   r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r;   r$  r=  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  rW   r/  r0  r2  r5  r6  r^   r7  r8  r9  r  r!  r"  r#  r$  r|  r}  r  r  r  r  r  r  r  r  r  r  r~  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  r  rM  r  r  r  rU  r  r  )]r   r<  r   r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  r   rW  r	  rX  r3  rY  r   rZ  r[  r\  r]  r^  r_  r   rW  rX  ra  r3  rd  r   re  r   rf  r   r{  r|  r}  r~  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r   r  :)r5   r;      r$  rW   r^             Y  Z  [  \  ]  ^  )r   r   r  r  r   r   r   r   r   r  r  r  iiir  r  /)r5   r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r;   r>   r?   r  r  r  r  r  r  r      r$  r  r=  r%     r&  r'  r(  r)  r*  r+  r,  r-  r.  rW             r      %  r  r/  r0  r1  r2  r3  r4  r5  r6  r^   r7          r  r  r9  r:  m  p    ri  rj  r!  r"  r#  r$    r)        rv      rm    r|  r}  rk      r3  r4        &  '  rl  4  5  6  7  r9  C  r~  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  X  Y  ^  `  k  l  n  rM  q  r  s  u    r      rU  r  )r   r<  r   r   r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  r   r   r   r   r   r  r  r  r  r   r  r   r  r  r  r  r   rY  r   rZ  r[  r\  r]  r^  r_  r   r   r  r  r  r  r  rW  rX  r`  ra  rb  rc  r   rd  r   re  r  " r   rf  rg  r  r   r   r{  r|  r}  r~  r   !r   r  r  r   r   r   r  r  r   r   r   r   r   r  hgr  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   r  r  `r  r   r  r  r  ar  r  fr  r  {)tr5   r  C   D   rM  rU  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r;   r=   r>   r?   rL      r  r  r  r  r  r  r      r     r$  r     r%  r  r)  r*  r+  r,  r-  r.  rW   r  r  r  r  r  r  r  r  !  r  r  r/  r0  *  =  >  r6  r^   r7    r  r          r  r  r  r  rn   rt   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  )tr   r<  r  r  r  r  r   r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  r   r  r   r   r  rW  r   r   r  r  r  r  r   r  r   rW  r   r   rW  r   r   rZ  r[  r\  r]  r^  r_  r   r  r   r  r   r   r  r   r  7rg  r   rW  rX  r  /ixrd  r   re  r  r  iwr  r  r  r  rw  r   r  r  r  r   r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rN  r   r  r   ;)ar5   r;   r  r  r  r  r  r$  r  r  r%  rW       r  r       r  r  $  r  r  r  <  r  r^   r  r  r  r  r  r        r  r  r  r  r  r  ri  rj  r  r  r  rm  r    rk  r  r  r  r  r  r  r  r  r  rl  r  r  r  r  r  r  r  r  r  a  r  r  r  r  r  r  r  v  x      r  r        r            r        )ar   r   r   r   r   r   r   r   r   r   r   r   rd   ir   r  re   i5r  rg  rf   r   r   r   rg   r  r   rh   ri   r  r  r  r  rj   rk   i,rl   rs   ir  i6rw  r   r   r  i-r   r  r  r|   r   r   r   r   r   r   r  r  r   r   r   r   r   r  r  r   r   r   r   r   r   r   r   r  r   r   r   r   r  ir   r   r  r   r   r   r  r  r   i^r   r   rW  r  r   ii_>)9r5   r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r;   r=  r&  r'  r(  r)  r*  r+  r,  r-  r.  rW         r/  r0  r  r1  r2  r3  r4  C  r5  r6  r^   r7  r9  r:  &  )9r   r<  r   r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  r   r  r   rY  r   rZ  r[  r\  r]  r^  r_  r   r7  rW  rX  r  r`  ra  rb  rc  r  r   rd  r   re  rf  rg  ,)r5   r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r;   r>   r?   r&  r'  r(  r)  r*  r+  r,  r-  r.  rW   r  r  r  r     r  r  r  r/  r0  r1  r2  r3  r4  r  r5  r6  r^   N  O  V  W  [  \  r7  b  c  g  h  k  l          r  r  r  r  r  r        r9  r:  r  r  r  r            r                  r!  r"  r#  r$    rp  rq  rr  rs        r  rt  ru            r  r  r)  r  r  r  rv  r      r|  r}          r3  r4  r8  r9  B  r~  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  [  rw  rx  d  r  r  r  rM  z  |    r  rU    r  )r   r<  r   r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  r   r   r   r   rY  r   rZ  r[  r\  r]  r^  r_  r   r  r  r  r  rg  rW  rX  r`  ra  rb  rc  r  r   rd  r       $  re  (  +  /  ;  fF  7r  r  r  r  r  r   r  r   rf  rg  r  r  rw  r   r{  r|  r}  r~  ~}|{edcba`_^]\65r  r   r  r  r  r  r  r  )  :  Lr   r  rL  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  KJIHr  r  cr  yr  bx=)r5   r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r;   r=  r&  r'  r(  r)  r*  r+  r,  r-  r.  rW   r  r  r  r/  r0  r  r  r  r  r  r  r	  r
  r  r  r  ;  r1  r2  r3  r4  r5  r6  r^   P  Q  R  S  T  U  X  Y  Z  ]  r7  d  i  j  m  n  o  p                      r  r  r'  r  r  r9  r:  r  r  ri  rj  r)  r>  r  rm  r  rk  r              r  r  r  r  r  r  r  r  r  r  r  r  r  r  )r   r<  r   r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  r   r  r   rY  r   rZ  r[  r\  r]  r^  r_  r   r  r  rg  rW  rX  r  r  r  r  r  r  r  r  r  r  r  r!  r`  ra  rb  rc  r   rd  r   r  ra  rb  rc  r  r  r  !  r  r  re  r  r  -  rd  re  rf  rg  <  =  r  rh  ri  r  B  C  D  r  r  r   r  r%  r&  rf  rg  rw  r   r   r   r  r~  r   r  r  r   r   rj  rk  rl  r  r  r  r   r  r  r   r   r   r  r  m  r   r  r  r  r  ))r5   r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r;   r>   r?   r&  r'  r(  r)  r*  r+  r,  r-  r.  rW   r  r  r  r      r  r  r  r  r/  r0  r  r<  r1  r2  r3  r4  r  r5  r6  r^   r  r  r  r  r  r  r7  a  r  r  f  r  r  r  r   r!  r"  r#  r$  r  r    r    r%    r&  r'  r  r9    r:      #  r  '  *  .  :  E  r  J  r  r  r  r  r(  r)      r*  r+  rm  rn  ro      r,  r  r-  r  r.  r/  r0  r1  r2  r3  r4  r!  r"  r#  r$  r5  rp  rq  rr  rs  r  r6  r7  r8  r  rt  ru  r9  r:  r;  r<  r=  r  r    r>  r?  r|  r}  r@  rA                r@  rB  rC  $  (  9  rD  r~  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rE  rw  rx  ry  r  rF  r  r  r  rM  r  t  y  rG  {  rH    rI  r  r  r  rU    rJ  r  r    )r   r<  r   r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  r   r   r   r   rY  r   rZ  r[  r\  r]  r^  r_  r   r  rK  rL  rM  rc   ir  r  rg  rW  rX  r   r  r`  ra  rb  rc  r   r   rd  r   rO  r  rQ  r  rS  re  r  irU  r  irW  r  rY  r  r[  r  r]  r   r  r   ri  iir^  r   r   rf  rj  rg  rn   rX  ro   r  rp   rq   rr   rt   rY   ir   rw  r'  r   r_  r`  r  rk  ra  rb  r  r  r  r  r  rc  rd  re  r  rf  rg  rh  ri  rj  rk  rl  r{  r|  r}  r~  rm  rn  ro  rp  rq  r   rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r  r~  r  r  r  r  r  r}   r~   r   r   r   r   rl  r  r  r  r  r[  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r   rO  r  ieidr  rU  i{izr  r   r    r  r  r     -)3r5   r;   r  r=  rW     r  r  r^   r  r!  r"  r#  r$  r|  r}  r  r  r  r  r  r  r  r  r  r  r~  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  r  rM  r  r  r  rU  r  r  )3r   r   r   r  r   r  r  r  r   r   r{  r|  r}  r~  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r   r  +)/r5   r;   r=  rW   r^   r  r!  r"  r#  r$  r|  r}  r  r  r  r  r  r  r  r  r  r  r~  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  r  rM  r  r  r  rU  r  r  )/r   r   r  r   r   r   r{  r|  r}  r~  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r   r  |) r5   r;   r=  rW   r^   r!  r"  r#  r$  r|  r}  r~  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rM  r  rU  r  ) r   r   r
  r   r   r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  	FILE_PATH)r?  rA  r  r  r  r  )r  r  r  r  r  r  ConvertFromTypeCode)r6   r7   r8   r9   r:   r  r  rR   rU   rV   r  r  r  r  r  r  r  r  r  r   r  r  r  rW  r  rX  rY  rZ  r  r[  rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  re   rf   rg   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   rm   r  r  r  ru   rv   rw   r|   r   r   r  r  r  r  r   r  r  r   r   r   rW  r  r   r  r  r   r   r   rX  r  r   r   r  r   r   r   rY  r  r   r   r   r   r   rZ  r   r   r   r   r   r   r   r   )r   r   r   r   r   rB  rB  r   r   r   rB  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rB  rB  rl  r  r  r  rm  r  r   r   rB  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r   r  r  r  r   r   r   r  r   r   r   r!  r"  r#  r$  r%  ConvertToTypeCode)r   r   r   r   r   rC  rC  r   r   r   rC  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rC  rC  rl  r  r  r  rm  r  r   r   rC  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r   r  r  r  r   r   r   r  r   r   r   r!  r"  r#  r$  r%  InstanceCode)r   r   r   r   r   rD  rD  r   r   r   rD  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rD  rD  rl  r  r  r  rm  r  r   r   rD  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r   r  r  r  r   r   r   r  r   r   r   r!  r"  r#  r$  r%  static)r6   r7   r8   r9   r:   r  r  rR   rU   rV   r  r  r  r  r  r  r  r  r  r   r  r  r  rW  r  rX  rY  rZ  r  r[  rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  re   rf   rg   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   rm   r  r  r  ru   rv   rw   r|   r   r   r  r  r  r  r   r  r  r   r   r   rW  r  r   r  r  r   r   r   rX  r  r   r   r  r   r   r   rY  r  r   r   r   r   r   rZ  r   r   r   r   r   r   r   r   )r   r   r   r   r   r  r  r   r   r   r  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  r  r  rl  r  r  r  rm  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r   r  r  r  r   r   r   r  r   r   r   r!  r"  r#  r$  r%  ReleaseCode)$r6   r  r  rV   r  r  r  r  r  r  r  r  r  r   r  r  r  r  rX  rY  rZ  r  r[  rc   rm   rv   rw   r   rW  r   rX  r   r   rY  r   rZ  )$r   rE  rE  r   rE  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rE  rl  r  r  r  rm  r  r   r  r  r  r  r   r  r   r  r  r   r  r  TypeCode)r   r   r   r   r   rF  rF  r   r   r   rF  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rF  rF  rl  r  r  r  rm  r  r   r   rF  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r   r  r   r  r   r   r   r   r   r  r  r  r   r   r   r   r  r  r  r   r   r   r  r   r   r   r!  r"  r#  r$  r%  	Docstring)r6   r7   r8   r9   r:   rR   rU   rV   r  r  rW  r  r  r	  r
  r  rX  rY  rZ  r[  r  r  r  r  r  r  rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  re   rf   rg   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   rm   r  r  r  ru   rv   rw   r|   r   r   r  r  r  rN  rO  r  rP  rQ  rR  rS  rT  r   r  r  rV  r   r   r   rW  r  r   r  r  r   r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r  r  r  r  rh  ri  rj  rk  r  r  r  r  r  rn  ro  rp  rq  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   rt  ru  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r  r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  
AutoPyName)r6   r  r  r  r  r  r  r  rc   r  rm   rO  )r   r  r  rn  ro  rp  rq  rr  r   ru  r  r  BIGetReadBufferCode)r6   r7   r8   r9   r:   rR   rU   rV   rW  rX  rY  rZ  r[  rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  re   rf   rg   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   rm   r  r  r  ru   rv   rw   r|   r   r   r  r  r  r  r   r  r  r   r   r   r  r   r  r  r   r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   rG  r  r  r  r  r   r   rG  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  BIGetWriteBufferCode)r   r   r   r   r   r   r   r   rH  r  r  r  r  r   r   rH  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  BIGetSegCountCode)r   r   r   r   r   r   r   r   rI  r  r  r  r  r   r   rI  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  BIGetCharBufferCode)r   r   r   r   r   r   r   r   rJ  r  r  r  r  r   r   rJ  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  explicit)r   r   r   r   r   r   r   r   r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  Q_SIGNAL)r   r   r   r   r   r   r   r   r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  Q_SLOT)r   r   r   r   r   r   r   r   r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  public)r6   r7   r8   r9   r:   rR   rU   rV   rW  r  rX  rY  rZ  r[  rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  re   rf   rg   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   rm   r  r  r  ru   rv   rw   r|   r   r   r  r  r  r  r   r  r  r   r   r   r  r   r  r  r   r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r  r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  	protected)r   r   r   r   r   r   r   r   r  r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  private)r   r   r   r   r   r   r   r   r  r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  signals)r   r   r   r   r   r   r   r   r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  	Q_SIGNALS)r   r   r   r   r   r   r   r   r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  ConvertToSubClassCode)r   r   r   r   r   r   r   r   rK  r  r  r  r  r   r   rK  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  FinalisationCode)r   r   r   r   r   r   r   r   rL  r  r  r  r  r   r   rL  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  GCClearCode)r   r   r   r   r   r   r   r   rM  r  r  r  r  r   r   rM  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  GCTraverseCode)r   r   r   r   r   r   r   r   rN  r  r  r  r  r   r   rN  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  BIGetBufferCode)r   r   r   r   r   r   r   r   rO  r  r  r  r  r   r   rO  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  
PickleCode)r   r   r   r   r   r   r   r   rP  r  r  r  r  r   r   rP  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  Property)r   r   r   r   r   r   r   r   r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  BIReleaseBufferCode)r   r   r   r   r   r   r   r   rQ  r  r  r  r  r   r   rQ  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  virtual)r6   r7   r8   r9   r:   rR   rU   rV   rW  rX  rY  rZ  r[  rc   rd   r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  re   rf   rg   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   rm   r  r  r  ru   rv   rw   r|   r   r   r  r  r  r  r   r  r  r   r   r   r  r   r  r  r   r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r
  r  r  r  r  r  r   r  r  r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  ~)r6   r7   r8   r9   r:   rR   rU   r=  rV   rW  rX  rY  rZ  r[  rc   rd   r\  r  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r}  r~  r    r  r  r  r  r  re   rf   rg   r  M  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rj   rk   r  rm   r  r  r  ru   rv   rw   r  r  r  r  r  r  r  r  r  r  r|   r   r   r  r  r  r  r  r  r  r   r  r  r  r   r   r   r  r   r  r  r   r   r   r  r   r   r  r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r  r   r   r  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  ir  r  r  r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   r  r  r  r  r
  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r   r   r   r   r   r  r   r   r   r  r   r  r   r   r   r   r  r  r  r   r   r   r  r  r  r   r   r   r   r   r   r!  r"  r#  r$  r%  
AccessCode)r6   rc   r  r  r  r  r   r.  r/  r0  r1  )r   r   rU  rU  rx  ry  rz  r  r  r  r  GetCode)r   r   rV  rV  rx  ry  rz  r  r  r  r  SetCode)r   r   rW  rW  rx  ry  rz  r  r  r  r  	RaiseCode)
r6   rc   r  r*  r+  r,  r-  r5  r6  r7  )
r   r   rZ  rZ  r  r  r  r  r  r  !)r  r=  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  )r  r  r  r   r  r  r   r   r  r  r  r  r  r  r  r   r  r   %r=  r  ^r  [)%r=  r  r  ri  rj  r  rm  r  rk  r  r  r  r  r  r  r  rl  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  )%:  rg  rw  r   r   r   r  r  r   r   r   r   r  r  r   r   r   r   r  r  r   r   r   r   r*  r   r  r   r   r   r  r  r   r  r  r  r  name)r-  r.  r/  r0  r1  r2  r4  r5  r6  r7  r9  r:  rN  rR  rT  rV  rZ  r\  r?  r  )r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  idr3  rP  r  orderr  EOL)      r  r  r        )r_   irK  rL  rM  r`   ioptionalr7  rV  r  licenseer8  rX  r  	signature)r8  rX  r=  r  )r  r  r  r  	timestampr  typer  all_raise_py_exceptionr9  rZ  r  call_super_initr  default_VirtualErrorHandlerr  keyword_argumentsr  languager  py_ssize_t_cleanr  use_argument_namesr  use_limited_apir  
LOGICAL_OR)r  r  r  r  r  )r  r  r  r  r  ])r  r  r  )r   r
  r  slots)r  r  r  )r  r  r  Q_SLOTS)r  r  r  NUMBER)r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  )r-  r  r   r   r  r   r   r  r  r  r  r  r  rD  r  r  r  r  r  r  r  r  r  r   r  r   true)r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  )r!  r!  r!  r!  r!  r!  r   r   r  r   r   r  r  r  r  r  r  r!  r  r  r  r  r  r  r  r  r   r  r   True)r"  r"  r"  r"  r"  r"  r   r   r  r   r   r  r  r  r  r  r  r"  r  r  r  r  r  r  r  r  r   r  r   false)r#  r#  r#  r#  r#  r#  r   r   r  r   r   r  r  r  r  r  r  r#  r  r  r  r  r  r  r  r  r   r  r   False)r$  r$  r$  r$  r$  r$  r   r   r  r   r   r  r  r  r  r  r  r$  r  r  r  r  r  r  r  r  r   r  r   final)ri  rj  r  rm  r  rk  r  r  )r   r   r  r  r  r   r  r  noexcept)ri  rj  r  rm  r  rk  r  r  r  r  r  r  r  rl  r  r  r  )r   r   r   r  r  r   r   r  r  r  r  r   r  r   r  r  r  throw)r   r   r   r  r  r   r   r(  r(  r  r  r   r(  r   r(  r(  r(  NULL)r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  )r   r   r  r   r   r  r  r  r  r  r  rC  r  r  r  r  r  r  r  r  r   r  r   QUOTED_CHAR)r   r   r  r   r   r  r  r  r  r  r  rF  r  r  r  r  r  r  r  r  r   r  r   REAL)r   r   r  r   r   r  r  r  r  r  r  rG  r  r  r  r  r  r  r  r  r   r  r   PreMethodCode)rm   rv   rw   r  r  r  r   r   rW  r   r   rX  )r  r  r  r   r\  r\  r   r\  r   r\  r\  r\  
MethodCode)rm   rv   rw   r  r  r  r   r   rW  r  r   r  r   r   r   rX  r   r   r   rY  )r  r  r  r   r   r   r   r   r   r]  r  r]  r   r   r]  r   r  r]  r]  r]  VirtualCatcherCode)rm   rv   rw   r  r   r   r  r   r   r   r   r  r   r   r   r   r   r   r   r   )r  r  r  r   r   r   r   r  r   r   r   r^  r  r  r   r   r^  r  r^  r^  VirtualCallCode)rm   rv   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r  r  r  r   r   r  r   r   r   r  r  r   r   r   r  r  r   r   r_  r   r_  r_  formatr=  r  r  remove_leadingr>  r  getr?  r  r  setr  r   r   specification	statementr   r<   eofr   namespace_statement)r   r   r  r  )r   r   r  r  composite_moduler	   copyingr
   defdocstringfmtr   defdocstringsigr   defencodingr   defmetatyper   defsupertyper   exported_header_coder   exported_type_hint_coder   extractr   featurer   	hidden_nsr   importr   includer   	init_coder   licenser   mapped_typer   mapped_type_templater   moduler   module_coder   module_header_coder   	platformsr   pluginr   preinit_coder    postinit_coder!   timeliner"   type_hint_code)r   r   rW  r\  )r#   r#   r}  r}  	unit_coder$   unit_postinclude_coder%   virtual_error_handlerr&   if_start)r   r   r  r  r  r  r  r  rW  r  r  r  r\  r  r  r  r  r  r%  r*  rN  rP  )r(   r(   r  r  r	  r  r  r  r^  r(   r	  r  r^  r(   r  r'  r,  r  r'  r,  rR  rR  if_end)r)   r)   r  r  r
  r  r  r  r_  r)   r
  r  r_  r)   r   r(  r-  r   r(  r-  rS  rS  
class_decl)r   r   r  rW  r  r\  r  r  )r*   r*   rU   r`  r*   r`  rU   r*   class_template)r   r   rW  r  r\  r  )r+   r+   rb  r+   rb  r+   	enum_decl)
r   r   r  r  r  r  rW  r  r\  r  )
r,   r,   r  r  r  r  re  r,   re  r,   	exception)r-   r-   rf  r-   rf  r-   function)r   r   rW  r  r\  r  r  r  r  r  r  )r.   r.   r  r.   r  r  r  r  r  r.   r  namespace_decl)r/   r/   ri  r/   ri  r/   struct_decl)r0   r0   rj  r0   rj  r0   typedef_decl)r1   r1   rg  r1   rg  r1   
union_decl)r2   r2   rk  r2   rk  r2   variable)	r   r   rW  r  r\  r  r  r  r  )	r3   r3   r  r3   r  r  r  r  r3   type_header_code)
r4   r4   r  r  r  r  r|  r4   r|  r4   scoped_name).r   r   r=  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  rW  r  r  r  r  r  r\  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  ).r  r  rI   r  r   r  r$  r  r%  r  r  r  r  r  r/  r0  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r/  r  r  r  r  r  r  rH  rH  r  rJ  r  r  mapped_type_headr  mapped_type_template_headr  template_decl)r  r  r  r  r  r  function_decl)r7   r7   r7   r7   r7   r7   r7   r7   r7   r7   r7   assignment_operator_decl)r8   r8   r8   r8   r8   r8   r8   r8   r8   r8   r8   operator_decl)r9   r9   r9   r9   r9   r9   r9   r9   r9   r9   r9   operator_cast_decl)r:   r:   r:   r:   r:   r:   r:   r:   r:   r:   r:   cpp_type)r   r   r  r  r  r  r  rW  r  r  r  r  r\  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  )r	  r	  r  r  r  r  r  r	  r	  r  r  r  r	  r	  r	  r;  r	  r	  r  r  r  r;  r  r  r  r  r+  r  	base_type) r   r   r  r  r  r  r  r  r  r  rW  r  r  r  r  r\  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  ) r
  r
  r
  r  r
  r(  r
  r  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r)  r
  r
  r
  pod_type) r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  relative_scoped_name)/r   r   r=  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  rW  r  r  r  r  r  r\  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  )/r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   rW   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   r;   dotted_name)	r'  r1  r3  rG  r  r  r  r  r  )	r=   rD   rE   rL   r+  r  r  r9  r  
begin_args)r'  r+  r-  r/  r1  r3  r9  r;  r=  r?  rA  rE  rG  r  r  r  r  )r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r#  r$  need_eolr?  rA  r  r  
class_headr  r  opt_enum_keyr  r  empty)qr  r
  r=   rL   r  r  r  r  r   r  r  r  r$  r  r  r%  r  r&  r(  rW  r  r  r  r  r  r  r  r  r  r  r5  r  r  r\  r  r  r  r  r'  r  r  r  r  rj   r  ri  r  rj  rn   r  rt   r)  r  r  rk  r  r  r3  r  r  r  r  r  rl  r  r  r8  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r   r  r  r  r  r   r   rW  r  r  r   r  r   r   rX  r  r   r   r   rY  r   r   r   r   r   )qr  r'  rY   r\   r  r  r  r  r  r  r  r  r  r  r  r  r  r4  r'  r  r  r  r  r  r  r  r  r  r  r  r4  rS  r  r  r  r  r  r  r)  r  r  r  r  rw   r  r  r  r  rY   r  r\   r4  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rK  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rw   r  rw   r  r  r   r   rw   r   rw   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   namespace_headr  r  struct_headr  r  
union_headr  r  derefsr
  r(  r&  r5  c_module_bodyr=   rn   rX   rx   	cpp_types)r  r  r  )r  r  rD  import_simpler  	file_path)r  r  r  r  )r  r  r1  r3  include_simpler  mapped_type_bodyr  r  r  r  mapped_type_line)r  r  r  r  )r  r  r  r  convert_from_type_code)r  r  r  r  rW  r\  )r  r  r  r  rp  rp  convert_to_type_code)r  r  r  r  rr  rr  instance_code)r  r  r  r  rw  rw  mapped_type_function)r  r  r  r  release_code)r   r   r   r   	type_code)r  r  r  r  r{  r{  module_bodyrL   rt   r[   rz   qualifier_listr  r  r  r  
qualifiersr  r  ored_qualifiersr  opt_name)r  r  r  r  )r  r  r  r  opt_class_definition)r  r  r  )r  r  r  superclassesr  r$  r  r  opt_base_exceptionr   r  opt_namespace_bodyr  	opt_annos)r  r  r%  r  r  r  r  r  r  r  r  r3  r  r  r  r  r  r  r  )r  r  r  r  r  r  r  r  r  r  r>  r8  r  r  r   r  r  r  r  operator_namer  opt_refr1  r:  c_module_body_directivesr  r  c_module_body_directiver  r  	docstring)r  r  rW  r  r  r\  rj   rN  r  rP  r   r   rW  )r  r  r~  r  r  r~  rv   rT  rv   rT  rv   rv   rv   c_module_argsr-  r  c_module_argrN  r  r*  extract_argsr  extract_argr  r,  hidden_ns_argsr5  r  hidden_ns_argrR  r  r.  import_compoundr6  r  import_argsr  
import_argrT  r  r0  include_compoundr  include_argsr  include_argr  r2  license_argsr  license_argr   r5  module_body_directivesr  r  module_body_directiver  r  
autopynamer  module_argsr!  
module_argr"  r6  veh_argsr:  r#  veh_argr\  r$  r=  opt_class_bodyrW  r  
class_bodyr\  
class_liner]  r  class_docstringra  ctorrc  dtorrd  method_variablerh  public_specifierrl  protected_specifierrm  private_specifierrn  signals_specifierro  convert_to_subclass_coderq  finalisation_coders  gc_clear_codert  gc_traverse_coderu  get_buffer_coderv  pickle_coderx  propertyry  release_buffer_coderz  	ctor_decl)rW  r\  r  )r  r  r  opt_virtualr  simple_method_variable)rW  r\  r  r  )r  r  r  r  plain_method_variable)rW  r\  r  r  r  )r  r  r  r  r  superclass_listr  r  
superclassr  r  r  class_accessr  namespace_bodyr  r  annotationsr  r  
annotationr  r  r  variable_bodyr  r  opt_arg_list)r  r  r  r  r  r  r  )r  r  r  r  r  r  r  arg_list)r%  r%  r%  r%  r%  r%  r%  	arg_value)r  r  r  r  r  r  r  r  )r&  r&  r&  r&  r?  r&  r&  r&  arg_type)r'  r'  r'  r'  r'  r'  r'  r'  docstring_argsr  rR  end_args)r  r  r  r  r  r  r!  r#  rm  rn  ro  r  r  r  r@  rB  ry  )r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  	opt_slots)r  r  r  variable_body_directivesr  r  variable_body_directiver  r.  
opt_assignr'  r(  
bool_value)r  r  r  r  r  r  r  )r4  r7  r8  r:  r;  r<  rE  opt_enum_bodyr  r  	enum_bodyr%  	enum_liner&  r2  exception_bodyr  r*  exception_liner+  r5  annotation_valuer  r  opt_docstring)rj   r  r   r   rW  )ru   r  r   r   rX  	opt_const)ri  rj  rk  rl  )r  r  r  r  expr)r  r  r  )r|  r  r  value)r  r  r  r  r  )r}  r9  r~  r}  r}  opt_cast)r  r  r  r  r  docstring_arg_listr@  docstring_argrA  rE  property_argsrB  property_argrC  rF  opt_enum_assignr)  r3  	opt_final)r  r  r  )r  r  r  binop)r  r  r  opt_unopr  r  opt_exceptions)r  r  r  r  r  r  )r  r  r  r  r  r  simple_valuer:  empty_valuer;  function_call_valuer<  
null_valuer=  number_valuer>  quoted_char_valuer?  
real_valuer@  scoped_name_valuerA  string_valuerB  	opt_commar8  rJ  opt_abstract)r  r  r  r  )r  r  r  r  opt_ctor_signaturer  r  opt_exception_listr  r  exception_listrG  opt_property_bodyr  r  opt_expr_listr  r  	expr_listrI  property_bodyrN  rP  property_linerQ  rV  opt_signature)r   r  r  r  )r  r  r  r	  premethod_code)r  r  r   r   r   rX  )r  r  r   r   r   rY  method_code)r  r  r   r   r   rZ  virtual_catcher_code)r  r   r   r   )r  r   r   r   virtual_call_code)r   r   r   )r   r   r   (  )zS' -> specificationzS'r   NNN)zspecification -> statementrD  r   p_specificationrules.pyr  )z(specification -> specification statementrD  r   r  r  r  )zstatement -> eofrE  r   p_statementr  rM  )z statement -> namespace_statementrE  r   r  r  rO  )zstatement -> composite_modulerE  r   r  r  rQ  )zstatement -> copyingrE  r   r  r  rS  )zstatement -> defdocstringfmtrE  r   r  r  rU  )zstatement -> defdocstringsigrE  r   r  r  r  )zstatement -> defencodingrE  r   r  r  r  )zstatement -> defmetatyperE  r   r  r  r  )zstatement -> defsupertyperE  r   r  r  r  )z!statement -> exported_header_coderE  r   r  r  r[  )z$statement -> exported_type_hint_coderE  r   r  r  r6   )zstatement -> extractrE  r   r  r  r  )zstatement -> featurerE  r   r  r  r  )zstatement -> hidden_nsrE  r   r  r  r  )zstatement -> importrE  r   r  r  r  )zstatement -> includerE  r   r  r  r7   )zstatement -> init_coderE  r   r  r  r8   )zstatement -> licenserE  r   r  r  r9   )zstatement -> mapped_typerE  r   r  r  r:   )z!statement -> mapped_type_templaterE  r   r  r  r  )zstatement -> modulerE  r   r  r  r  )zstatement -> module_coderE  r   r  r  r  )zstatement -> module_header_coderE  r   r  r  r	  )zstatement -> platformsrE  r   r  r  r  )zstatement -> pluginrE  r   r  r  r  )zstatement -> preinit_coderE  r   r  r  r  )zstatement -> postinit_coderE  r   r  r  r
  )zstatement -> timelinerE  r   r  r  r  )zstatement -> type_hint_coderE  r   r  r  r  )zstatement -> unit_coderE  r   r  r  r  )z"statement -> unit_postinclude_coderE  r   r  r  r  )z"statement -> virtual_error_handlerrE  r   r  r  r  )znamespace_statement -> if_startrG  r   p_namespace_statementr  r  )znamespace_statement -> if_endrG  r   r  r  r  )z!namespace_statement -> class_declrG  r   r  r  r  )z%namespace_statement -> class_templaterG  r   r  r  r  )z namespace_statement -> enum_declrG  r   r  r  r  )z namespace_statement -> exceptionrG  r   r  r  r  )znamespace_statement -> functionrG  r   r  r  r  )z%namespace_statement -> namespace_declrG  r   r  r  r  )z"namespace_statement -> struct_declrG  r   r  r  r  )z#namespace_statement -> typedef_declrG  r   r  r  r  )z!namespace_statement -> union_declrG  r   r  r  r  )znamespace_statement -> variablerG  r   r  r  r  )z'namespace_statement -> type_header_coderG  r   r  r  r  )z
eof -> EOFrF  r   p_eofr  r  )zbegin_args -> <empty>r  r   p_begin_argsr  r=   )zend_args -> <empty>r  r   
p_end_argsr  r  )zneed_eol -> <empty>r  r   
p_need_eolr  r  )zHautopyname -> AutoPyName begin_args ( remove_leading = STRING end_args )r  r   p_autopynamer  r  )z-get_buffer_code -> BIGetBufferCode CODE_BLOCKr  r   p_get_buffer_coder  r  )z5release_buffer_code -> BIReleaseBufferCode CODE_BLOCKr  r   p_release_buffer_coder  r  )z=composite_module -> CompositeModule dotted_name c_module_bodyrH  r   p_composite_moduler  r   )zWcomposite_module -> CompositeModule begin_args ( c_module_args end_args ) c_module_bodyrH  r   r  r  r  )zc_module_args -> c_module_argr  r   p_c_module_argsr  r  )z-c_module_args -> c_module_args , c_module_argr  r   r  r  r  )z"c_module_arg -> name = dotted_namer  r   p_c_module_argr  r7  )z/c_module_body -> { c_module_body_directives } ;r  r   p_c_module_bodyr  r  )zc_module_body -> emptyr  r   r  r  r  )z3c_module_body_directives -> c_module_body_directiver  r   p_c_module_body_directivesr  r  )zLc_module_body_directives -> c_module_body_directives c_module_body_directiver  r   r  r  rB  )z#c_module_body_directive -> if_startr  r   p_c_module_body_directiver  r  )z!c_module_body_directive -> if_endr  r   r  r  r  )z$c_module_body_directive -> docstringr  r   r  r  r  )z8convert_from_type_code -> ConvertFromTypeCode CODE_BLOCKr  r   p_convert_from_type_coder  r  )z<convert_to_subclass_code -> ConvertToSubClassCode CODE_BLOCKr  r   p_convert_to_subclass_coder  r;  )z4convert_to_type_code -> ConvertToTypeCode CODE_BLOCKr  r   p_convert_to_type_coder  r  )zcopying -> Copying CODE_BLOCKrI  r   	p_copyingr  r  )z0defdocstringfmt -> DefaultDocstringFormat STRINGrJ  r   p_defdocstringfmtr  r  )zOdefdocstringfmt -> DefaultDocstringFormat begin_args ( name = STRING end_args )rJ  r   r$  r  r  )z3defdocstringsig -> DefaultDocstringSignature STRINGrK  r   p_defdocstringsigr  r`   )zRdefdocstringsig -> DefaultDocstringSignature begin_args ( name = STRING end_args )rK  r   r%  r  r  )z%defencoding -> DefaultEncoding STRINGrL  r   p_defencodingr  rZ  )zDdefencoding -> DefaultEncoding begin_args ( name = STRING end_args )rL  r   r&  r  r  )z*defmetatype -> DefaultMetatype dotted_namerM  r   p_defmetatyper  r  )zIdefmetatype -> DefaultMetatype begin_args ( name = dotted_name end_args )rM  r   r'  r  r  )z,defsupertype -> DefaultSupertype dotted_namerN  r   p_defsupertyper  r^  )zKdefsupertype -> DefaultSupertype begin_args ( name = dotted_name end_args )rN  r   r(  r  r_  )z0docstring -> Docstring docstring_args CODE_BLOCKr  r   p_docstringr  rt  )zdocstring_args -> emptyr  r   p_docstring_argsr  r  )zdocstring_args -> STRINGr  r   r*  r  r  )z<docstring_args -> begin_args ( docstring_arg_list end_args )r  r	   r*  r  r  )z#docstring_arg_list -> docstring_argr  r   p_docstring_arg_listr  r  )z8docstring_arg_list -> docstring_arg_list , docstring_argr  r   r+  r  r  )z docstring_arg -> format = STRINGr  r   p_docstring_argr  r  )z#docstring_arg -> signature = STRINGr  r   r,  r  r  )z5exported_header_code -> ExportedHeaderCode CODE_BLOCKrO  r   p_exported_header_coder  r  )z:exported_type_hint_code -> ExportedTypeHintCode CODE_BLOCKrP  r   p_exported_type_hint_coder  r  )z"extract -> Extract NAME CODE_BLOCKrQ  r   	p_extractr  r:  )zBextract -> Extract begin_args ( extract_args end_args ) CODE_BLOCKrQ  r   r/  r  r  )zextract_args -> extract_argr  r   p_extract_argsr  rV  )z*extract_args -> extract_args , extract_argr  r   r0  r  r  )zextract_arg -> id = NAMEr  r   p_extract_argr  r  )zextract_arg -> order = NUMBERr  r   r1  r  ri   )zfeature -> Feature NAMErR  r   	p_featurer  r  )z6feature -> Feature begin_args ( name = NAME end_args )rR  r   r2  r  rh  )z0finalisation_code -> FinalisationCode CODE_BLOCKr  r   p_finalisation_coder  r  )z'gc_clear_code -> GCClearCode CODE_BLOCKr  r   p_gc_clear_coder  r  )z-gc_traverse_code -> GCTraverseCode CODE_BLOCKr  r   p_gc_traverse_coder  r;  )z&hidden_ns -> HideNamespace scoped_namerS  r   p_hidden_nsr  r  )zAhidden_ns -> HideNamespace begin_args ( hidden_ns_args end_args )rS  r
   r6  r  r  )zhidden_ns_args -> hidden_ns_argr  r   p_hidden_ns_argsr  rn  )z0hidden_ns_args -> hidden_ns_args , hidden_ns_argr  r   r7  r  ro  )z#hidden_ns_arg -> name = scoped_namer  r   p_hidden_ns_argr  r.  )zif_start -> If ( qualifiers )rf  r   
p_if_startr  r4  )zif_end -> Endrg  r   p_if_endr  r>  )z+import -> Import need_eol import_simple EOLrT  r   p_importr  r=  )z8import -> Import begin_args ( import_compound end_args )rT  r
   r;  r  r  )zimport_simple -> file_pathr  r   p_import_simpler  r  )zimport_compound -> import_argsr  r   p_import_compoundr  r(  )zimport_args -> import_argr  r   p_import_argsr  r'  )z'import_args -> import_args , import_argr  r   r>  r  r  )zimport_arg -> name = file_pathr  r   p_import_argr  r?  )z.include -> Include need_eol include_simple EOLrU  r   	p_includer  r  )z;include -> Include begin_args ( include_compound end_args )rU  r
   r@  r  r@  )zinclude_simple -> file_pathr  r   p_include_simpler  rx   )z include_compound -> include_argsr  r   p_include_compundr  r{   )zinclude_args -> include_argr  r   p_include_argsr  r7  )z*include_args -> include_args , include_argr  r   rC  r  r  )zinclude_arg -> name = file_pathr  r   p_include_argr  r  )z$include_arg -> optional = bool_valuer  r   rD  r  r  )z*init_code -> InitialisationCode CODE_BLOCKrV  r   p_init_coder  r  )z(instance_code -> InstanceCode CODE_BLOCKr  r   p_instance_coder  r   )zlicense -> License STRINGrW  r   	p_licenser  r9  )z7license -> License begin_args ( license_args end_args )rW  r
   rG  r  r   )zlicense_args -> license_argr  r   p_license_argsr  r  )z*license_args -> license_args , license_argr  r   rH  r  r  )z license_arg -> licensee = STRINGr  r   p_license_argr  rL  )z!license_arg -> signature = STRINGr  r   rI  r  r  )z!license_arg -> timestamp = STRINGr  r   rI  r  r  )zlicense_arg -> type = STRINGr  r   rI  r  r  )z6mapped_type -> mapped_type_head { mapped_type_body } ;rX  r	   p_mapped_typer  r  )zHmapped_type_template -> mapped_type_template_head { mapped_type_body } ;rY  r	   p_mapped_type_templater  r  )z2mapped_type_head -> MappedType base_type opt_annosrt  r   p_mapped_type_headr  r  )zImapped_type_template_head -> template_decl MappedType base_type opt_annosru  r   p_mapped_type_template_headr  r  )z$mapped_type_body -> mapped_type_liner  r   p_mapped_type_bodyr  r   )z5mapped_type_body -> mapped_type_body mapped_type_liner  r   rN  r  r   )zmapped_type_line -> if_startr  r   p_mapped_type_liner  r   )zmapped_type_line -> if_endr  r   rO  r  r   )z*mapped_type_line -> convert_from_type_coder  r   rO  r  i  )z(mapped_type_line -> convert_to_type_coder  r   rO  r  i  )zmapped_type_line -> enum_declr  r   rO  r  i  )z!mapped_type_line -> instance_coder  r   rO  r  i  )z(mapped_type_line -> mapped_type_functionr  r   rO  r  i  )z mapped_type_line -> release_coder  r   rO  r  i  )zmapped_type_line -> type_coder  r   rO  r  i  )z$mapped_type_line -> type_header_coder  r   rO  r  i  )zmapped_type_function -> static cpp_type NAME ( opt_arg_list ) opt_const opt_exceptions opt_annos opt_signature ; opt_docstring premethod_code method_coder  r   p_mapped_type_functionr  i  )z1module_header_code -> ModuleHeaderCode CODE_BLOCKr\  r   p_module_header_coder  i  )z(module -> Module dotted_name module_bodyrZ  r   p_moduler  i  )z@module -> Module begin_args ( module_args end_args ) module_bodyrZ  r   rR  r  i  )zmodule_args -> module_argr  r   p_module_argsr  iN  )z'module_args -> module_args , module_argr  r   rS  r  iO  )z1module_arg -> all_raise_py_exception = bool_valuer  r   p_module_argr  iX  )z*module_arg -> call_super_init = bool_valuer  r   rT  r  iY  )z0module_arg -> default_VirtualErrorHandler = NAMEr  r   rT  r  iZ  )z(module_arg -> keyword_arguments = STRINGr  r   rT  r  i[  )zmodule_arg -> language = STRINGr  r   rT  r  i\  )z module_arg -> name = dotted_namer  r   rT  r  i]  )z+module_arg -> py_ssize_t_clean = bool_valuer  r   rT  r  i^  )z-module_arg -> use_argument_names = bool_valuer  r   rT  r  i_  )z*module_arg -> use_limited_api = bool_valuer  r   rT  r  i`  )z+module_body -> { module_body_directives } ;r  r   p_module_bodyr  iu  )zmodule_body -> emptyr  r   rU  r  iv  )z/module_body_directives -> module_body_directiver  r   p_module_body_directivesr  i|  )zFmodule_body_directives -> module_body_directives module_body_directiver  r   rV  r  i}  )z!module_body_directive -> if_startr  r   p_module_body_directiver  i  )zmodule_body_directive -> if_endr  r   rW  r  i  )z#module_body_directive -> autopynamer  r   rW  r  i  )z"module_body_directive -> docstringr  r   rW  r  i  )z$module_code -> ModuleCode CODE_BLOCKr[  r   p_module_coder  i  )z$pickle_code -> PickleCode CODE_BLOCKr  r   p_pickle_coder  i  )z)platforms -> Platforms { qualifier_list }r]  r   p_platformsr  i  )zplugin -> Plugin NAMEr^  r   p_pluginr  i  )z2postinit_code -> PostInitialisationCode CODE_BLOCKr`  r   p_postinit_coder  i  )z0preinit_code -> PreInitialisationCode CODE_BLOCKr_  r   p_preinit_coder  i  )zLproperty -> Property begin_args ( property_args end_args ) opt_property_bodyr  r   
p_propertyr  i  )zproperty_args -> property_argr  r   p_property_argsr  i  )z-property_args -> property_args , property_argr  r   r_  r  i  )zproperty_arg -> get = NAMEr  r   p_property_argr  i!  )zproperty_arg -> name = NAMEr  r   r`  r  i"  )zproperty_arg -> set = NAMEr  r   r`  r  i#  )zopt_property_body -> emptyr  r   p_opt_property_bodyr  i)  )z(opt_property_body -> { property_body } ;r  r   ra  r  i*  )zproperty_body -> property_liner  r   p_property_bodyr  i0  )z,property_body -> property_body property_liner  r   rb  r  i1  )zproperty_line -> if_startr	  r   p_property_liner  iA  )zproperty_line -> if_endr	  r   rc  r  iB  )zproperty_line -> docstringr	  r   rc  r  iC  )z&release_code -> ReleaseCode CODE_BLOCKr  r   p_release_coder  iK  )z'timeline -> Timeline { qualifier_list }ra  r   
p_timeliner  i[  )z type_code -> TypeCode CODE_BLOCKr  r   p_type_coder  iy  )z-type_header_code -> TypeHeaderCode CODE_BLOCKrr  r   p_type_header_coder  i  )z)type_hint_code -> TypeHintCode CODE_BLOCKrb  r   p_type_hint_coder  i  )z unit_code -> UnitCode CODE_BLOCKrc  r   p_unit_coder  i  )z7unit_postinclude_code -> UnitPostIncludeCode CODE_BLOCKrd  r   p_unit_postinclude_coder  i  )z<virtual_error_handler -> VirtualErrorHandler NAME CODE_BLOCKre  r   p_virtual_error_handlerr  i  )zXvirtual_error_handler -> VirtualErrorHandler begin_args ( veh_args end_args ) CODE_BLOCKre  r   rk  r  i  )zveh_args -> veh_argr  r   
p_veh_argsr  i  )zveh_args -> veh_args , veh_argr  r   rl  r  i  )zveh_arg -> name = NAMEr  r   	p_veh_argr  i  )z*cpp_type -> const base_type derefs opt_refr{  r   
p_cpp_typer  i  )z$cpp_type -> base_type derefs opt_refr{  r   rn  r  i  )zbase_type -> pod_typer|  r   p_base_typer  i  )zbase_type -> scoped_namer|  r   ro  r  i  )z&base_type -> scoped_name < cpp_types >r|  r   ro  r  i  )zbase_type -> struct scoped_namer|  r   ro  r  i  )zbase_type -> union scoped_namer|  r   ro  r  i  )zpod_type -> unsigned long longr}  r   
p_pod_typer  i[  )zpod_type -> signed charr}  r   rp  r  i\  )zpod_type -> long longr}  r   rp  r  i]  )zpod_type -> unsigned charr}  r   rp  r  i^  )zpod_type -> unsigned shortr}  r   rp  r  i_  )zpod_type -> unsigned intr}  r   rp  r  i`  )zpod_type -> unsigned longr}  r   rp  r  ia  )zpod_type -> unsignedr}  r   rp  r  ib  )zpod_type -> shortr}  r   rp  r  ic  )zpod_type -> intr}  r   rp  r  id  )zpod_type -> longr}  r   rp  r  ie  )zpod_type -> floatr}  r   rp  r  if  )zpod_type -> doubler}  r   rp  r  ig  )zpod_type -> boolr}  r   rp  r  ih  )zpod_type -> charr}  r   rp  r  ii  )zpod_type -> wchar_tr}  r   rp  r  ij  )zpod_type -> voidr}  r   rp  r  ik  )zpod_type -> SIP_PYOBJECTr}  r   rp  r  il  )zpod_type -> SIP_PYTUPLEr}  r   rp  r  im  )zpod_type -> SIP_PYLISTr}  r   rp  r  in  )zpod_type -> SIP_PYDICTr}  r   rp  r  io  )zpod_type -> SIP_PYCALLABLEr}  r   rp  r  ip  )zpod_type -> SIP_PYSLICEr}  r   rp  r  iq  )zpod_type -> SIP_PYTYPEr}  r   rp  r  ir  )zpod_type -> SIP_PYBUFFERr}  r   rp  r  is  )zpod_type -> SIP_PYENUMr}  r   rp  r  it  )zpod_type -> SIP_SSIZE_Tr}  r   rp  r  iu  )zpod_type -> Py_hash_tr}  r   rp  r  iv  )zpod_type -> Py_ssize_tr}  r   rp  r  iw  )zpod_type -> size_tr}  r   rp  r  ix  )zpod_type -> ELLIPSISr}  r   rp  r  iy  )zcpp_types -> cpp_typer  r   p_cpp_typesr  i  )z!cpp_types -> cpp_types , cpp_typer  r   rq  r  i  )zderefs -> emptyr  r   p_derefsr  i  )zderefs -> derefs *r  r   rr  r  i  )zderefs -> derefs * constr  r   rr  r  i  )zopt_ref -> &r  r   	p_opt_refr  i  )zopt_ref -> emptyr  r   rs  r  i  )z*class_template -> template_decl class_declri  r   p_class_templater  i  )zclass_docstring -> docstringr  r   p_class_docstringr  i  )z5class_decl -> class class_head opt_class_definition ;rh  r   p_class_declr  i  )z0class_head -> scoped_name superclasses opt_annosr  r   p_class_headr  i  )z8struct_decl -> struct struct_head opt_class_definition ;rn  r   p_struct_declr  i
  )z1struct_head -> scoped_name superclasses opt_annosr  r   p_struct_headr  i  )z!superclasses -> : superclass_listr  r   p_superclassesr  i%  )zsuperclasses -> emptyr  r   rz  r  i&  )zsuperclass_list -> superclassr  r   p_superclass_listr  i,  )z/superclass_list -> superclass_list , superclassr  r   r{  r  i-  )z&superclass -> class_access scoped_namer  r   p_superclassr  i=  )zclass_access -> emptyr  r   p_class_accessr  iY  )zclass_access -> publicr  r   r}  r  iZ  )zclass_access -> protectedr  r   r}  r  i[  )zclass_access -> privater  r   r}  r  i\  )z*opt_class_definition -> { opt_class_body }r  r   p_opt_class_definitionr  ie  )zopt_class_definition -> emptyr  r   r~  r  if  )zopt_class_body -> class_bodyr  r   p_opt_class_bodyr  iq  )zopt_class_body -> emptyr  r   r  r  ir  )zclass_body -> class_liner  r   p_class_bodyr  iv  )z#class_body -> class_body class_liner  r   r  r  iw  )zclass_line -> if_startr  r   p_class_liner  i{  )zclass_line -> if_endr  r   r  r  i|  )zclass_line -> class_declr  r   r  r  i}  )zclass_line -> class_docstringr  r   r  r  i~  )zclass_line -> class_templater  r   r  r  i  )zclass_line -> ctorr  r   r  r  i  )zclass_line -> dtorr  r   r  r  i  )zclass_line -> enum_declr  r   r  r  i  )zclass_line -> exceptionr  r   r  r  i  )zclass_line -> typedef_declr  r   r  r  i  )zclass_line -> method_variabler  r   r  r  i  )zclass_line -> namespace_declr  r   r  r  i  )zclass_line -> struct_declr  r   r  r  i  )zclass_line -> union_declr  r   r  r  i  )zclass_line -> public_specifierr  r   r  r  i  )z!class_line -> protected_specifierr  r   r  r  i  )zclass_line -> private_specifierr  r   r  r  i  )zclass_line -> signals_specifierr  r   r  r  i  )z$class_line -> convert_from_type_coder  r   r  r  i  )z&class_line -> convert_to_subclass_coder  r   r  r  i  )z"class_line -> convert_to_type_coder  r   r  r  i  )zclass_line -> finalisation_coder  r   r  r  i  )zclass_line -> gc_clear_coder  r   r  r  i  )zclass_line -> gc_traverse_coder  r   r  r  i  )zclass_line -> get_buffer_coder  r   r  r  i  )zclass_line -> instance_coder  r   r  r  i  )zclass_line -> pickle_coder  r   r  r  i  )zclass_line -> propertyr  r   r  r  i  )z!class_line -> release_buffer_coder  r   r  r  i  )zclass_line -> type_coder  r   r  r  i  )zclass_line -> type_header_coder  r   r  r  i  )zclass_line -> type_hint_coder  r   r  r  i  )z,class_line -> BIGetReadBufferCode CODE_BLOCKr  r   r  r  i  )z-class_line -> BIGetWriteBufferCode CODE_BLOCKr  r   r  r  i  )z*class_line -> BIGetSegCountCode CODE_BLOCKr  r   r  r  i  )z,class_line -> BIGetCharBufferCode CODE_BLOCKr  r   r  r  i  )zctor -> explicit ctor_declr  r   p_ctorr  i  )zctor -> ctor_declr  r   r  r  i  )zyctor_decl -> NAME ( opt_arg_list ) opt_exceptions opt_annos opt_ctor_signature ; opt_docstring premethod_code method_coder  r   p_ctor_declr  i  )z*opt_ctor_signature -> [ ( opt_arg_list ) ]r  r	   p_opt_ctor_signaturer  i  )zopt_ctor_signature -> emptyr  r   r  r  i  )zvdtor -> opt_virtual ~ NAME ( ) opt_exceptions opt_abstract opt_annos ; premethod_code method_code virtual_catcher_coder  r   p_dtorr  i  )z2method_variable -> Q_SIGNAL simple_method_variabler  r   p_method_variabler  i  )z0method_variable -> Q_SLOT simple_method_variabler  r   r  r  i  )z)method_variable -> simple_method_variabler  r   r  r  i  )z*simple_method_variable -> virtual functionr  r   p_simple_method_variabler  i  )z6simple_method_variable -> static plain_method_variabler  r   r  r  i  )z/simple_method_variable -> plain_method_variabler  r   r  r  i  )z!plain_method_variable -> functionr  r   p_plain_method_variabler  i  )z!plain_method_variable -> variabler  r   r  r  i  )z&public_specifier -> public opt_slots :r  r   p_public_specifierr  i!  )z,protected_specifier -> protected opt_slots :r  r   p_protected_specifierr  i-  )z(private_specifier -> private opt_slots :r  r   p_private_specifierr  i9  )zsignals_specifier -> signals :r  r   p_signals_specifierr  iE  )z signals_specifier -> Q_SIGNALS :r  r   r  r  iF  )zopt_slots -> slotsr  r   p_opt_slotsr  iR  )zopt_slots -> Q_SLOTSr  r   r  r  iS  )zopt_slots -> emptyr  r   r  r  iT  )zEenum_decl -> enum opt_enum_key opt_name opt_annos { opt_enum_body } ;rj  r   p_enum_declr  ik  )zopt_enum_key -> classr  r   p_opt_enum_keyr  ix  )zopt_enum_key -> structr  r   r  r  iy  )zopt_enum_key -> unionr  r   r  r  iz  )zopt_enum_key -> emptyr  r   r  r  i{  )zopt_enum_body -> enum_bodyr  r   p_opt_enum_bodyr  i  )zopt_enum_body -> emptyr  r   r  r  i  )zenum_body -> enum_liner  r   p_enum_bodyr  i  )z enum_body -> enum_body enum_liner  r   r  r  i  )zenum_line -> if_startr  r   p_enum_liner  i  )zenum_line -> if_endr  r   r  r  i  )z5enum_line -> NAME opt_enum_assign opt_annos opt_commar  r   r  r  i  )zopt_enum_assign -> = valuer  r   p_opt_enum_assignr  i  )zopt_enum_assign -> emptyr  r   r  r  i  )zopt_comma -> emptyr   r   p_opt_commar  i  )zopt_comma -> ,r   r   r  r  i  )zTexception -> Exception scoped_name opt_base_exception opt_annos { exception_body } ;rk  r   p_exceptionr  i  )z%opt_base_exception -> ( scoped_name )r  r   p_opt_base_exceptionr  i  )zopt_base_exception -> emptyr  r   r  r  i  )z exception_body -> exception_liner  r   p_exception_bodyr  i	  )z/exception_body -> exception_body exception_liner  r   r  r  i	  )zexception_line -> if_startr  r   p_exception_liner  i	  )zexception_line -> if_endr  r   r  r  i	  )z&exception_line -> RaiseCode CODE_BLOCKr  r   r  r  i	  )z+exception_line -> TypeHeaderCode CODE_BLOCKr  r   r  r  i	  )zfunction -> function_declrl  r   
p_functionr  iF	  )z$function -> assignment_operator_declrl  r   r  r  iG	  )zfunction -> operator_declrl  r   r  r  iH	  )zfunction -> operator_cast_declrl  r   r  r  iI	  )zfunction_decl -> cpp_type NAME ( opt_arg_list ) opt_const opt_final opt_exceptions opt_abstract opt_annos opt_signature ; opt_docstring premethod_code method_code virtual_catcher_code virtual_call_coderw  r   p_function_declr  iO	  )z>assignment_operator_decl -> cpp_type operator = ( cpp_type ) ;rx  r   p_assignment_operator_declr  i`	  )zoperator_decl -> cpp_type operator operator_name ( opt_arg_list ) opt_const opt_final opt_exceptions opt_abstract opt_annos opt_signature ; premethod_code method_code virtual_catcher_code virtual_call_codery  r   p_operator_declr  io	  )zoperator_cast_decl -> operator cpp_type ( opt_arg_list ) opt_const opt_final opt_exceptions opt_abstract opt_annos opt_signature ; premethod_code method_code virtual_catcher_code virtual_call_coderz  r   p_operator_cast_declr  i	  )zopt_arg_list -> arg_listr  r   p_opt_arg_listr  i	  )zopt_arg_list -> emptyr  r   r  r  i	  )zarg_list -> arg_valuer  r   
p_arg_listr  i	  )z arg_list -> arg_list , arg_valuer  r   r  r  i	  )z arg_value -> arg_type opt_assignr  r   p_arg_valuer  i	  )z'arg_type -> cpp_type opt_name opt_annosr  r   
p_arg_typer  i
  )zopt_assign -> = exprr  r   p_opt_assignr  iL
  )zopt_assign -> emptyr  r   r  r  iM
  )zexpr -> valuer  r   p_exprr  iS
  )zexpr -> expr binop valuer  r   r  r  iT
  )z'value -> opt_cast opt_unop simple_valuer  r   p_valuer  ia
  )zsimple_value -> empty_valuer  r   p_simple_valuer  ik
  )z#simple_value -> function_call_valuer  r   r  r  il
  )zsimple_value -> null_valuer  r   r  r  im
  )zsimple_value -> number_valuer  r   r  r  in
  )z!simple_value -> quoted_char_valuer  r   r  r  io
  )zsimple_value -> real_valuer  r   r  r  ip
  )z!simple_value -> scoped_name_valuer  r   r  r  iq
  )zsimple_value -> string_valuer  r   r  r  ir
  )zempty_value -> { }r  r   p_empty_valuer  ix
  )z2function_call_value -> base_type ( opt_expr_list )r  r   p_function_call_valuer  i~
  )znull_value -> NULLr  r   p_null_valuer  i
  )znumber_value -> NUMBERr  r   p_number_valuer  i
  )znumber_value -> bool_valuer  r   r  r  i
  )z quoted_char_value -> QUOTED_CHARr  r   p_quoted_char_valuer  i
  )zreal_value -> REALr  r   p_real_valuer  i
  )z scoped_name_value -> scoped_namer  r   p_scoped_name_valuer  i
  )zstring_value -> STRINGr  r   p_string_valuer  i
  )zopt_expr_list -> expr_listr  r   p_opt_expr_listr  i
  )zopt_expr_list -> emptyr  r   r  r  i
  )zexpr_list -> exprr  r   p_expr_listr  i
  )zexpr_list -> expr_list , exprr  r   r  r  i
  )zopt_cast -> ( scoped_name )r  r   
p_opt_castr  i
  )zopt_cast -> emptyr  r   r  r  i
  )z
binop -> -r  r   p_binopr  i
  )z
binop -> +r  r   r  r  i
  )z
binop -> *r  r   r  r  i
  )z
binop -> /r  r   r  r  i
  )z
binop -> &r  r   r  r  i
  )z
binop -> |r  r   r  r  i
  )zopt_unop -> emptyr  r   
p_opt_unopr  i
  )zopt_unop -> !r  r   r  r  i
  )zopt_unop -> ~r  r   r  r  i
  )zopt_unop -> -r  r   r  r  i
  )zopt_unop -> +r  r   r  r  i
  )zopt_unop -> *r  r   r  r  i
  )zopt_unop -> &r  r   r  r  i
  )zopt_exceptions -> emptyr  r   p_opt_exceptionsr  i
  )zopt_exceptions -> noexceptr  r   r  r  i
  )z.opt_exceptions -> throw ( opt_exception_list )r  r   r  r  i
  )z$opt_exception_list -> exception_listr  r   p_opt_exception_listr  i
  )zopt_exception_list -> emptyr  r   r  r  i
  )zexception_list -> scoped_namer  r   p_exception_listr  i
  )z.exception_list -> exception_list , scoped_namer  r   r  r  i
  )zopt_abstract -> = NUMBERr  r   p_opt_abstractr  i
  )zopt_abstract -> emptyr  r   r  r  i
  )z.opt_signature -> [ cpp_type ( opt_arg_list ) ]r
  r
   p_opt_signaturer  i  )zopt_signature -> emptyr
  r   r  r  i  )zoperator_name -> +r  r   p_operator_namer  i6  )zoperator_name -> -r  r   r  r  i7  )zoperator_name -> *r  r   r  r  i8  )zoperator_name -> /r  r   r  r  i9  )zoperator_name -> %r  r   r  r  i:  )zoperator_name -> &r  r   r  r  i;  )zoperator_name -> |r  r   r  r  i<  )zoperator_name -> ^r  r   r  r  i=  )zoperator_name -> < <r  r   r  r  i>  )zoperator_name -> > >r  r   r  r  i?  )zoperator_name -> + =r  r   r  r  i@  )zoperator_name -> - =r  r   r  r  iA  )zoperator_name -> * =r  r   r  r  iB  )zoperator_name -> / =r  r   r  r  iC  )zoperator_name -> % =r  r   r  r  iD  )zoperator_name -> & =r  r   r  r  iE  )zoperator_name -> | =r  r   r  r  iF  )zoperator_name -> ^ =r  r   r  r  iG  )zoperator_name -> < < =r  r   r  r  iH  )zoperator_name -> > > =r  r   r  r  iI  )zoperator_name -> ~r  r   r  r  iJ  )zoperator_name -> ( )r  r   r  r  iK  )zoperator_name -> [ ]r  r   r  r  iL  )zoperator_name -> <r  r   r  r  iM  )zoperator_name -> < =r  r   r  r  iN  )zoperator_name -> = =r  r   r  r  iO  )zoperator_name -> ! =r  r   r  r  iP  )zoperator_name -> >r  r   r  r  iQ  )zoperator_name -> > =r  r   r  r  iR  )z$method_code -> MethodCode CODE_BLOCKr  r   p_method_coder  iX  )zmethod_code -> emptyr  r   r  r  iY  )z*premethod_code -> PreMethodCode CODE_BLOCKr  r   p_premethod_coder  i_  )zpremethod_code -> emptyr  r   r  r  i`  )z/virtual_call_code -> VirtualCallCode CODE_BLOCKr  r   p_virtual_call_coder  if  )zvirtual_call_code -> emptyr  r   r  r  ig  )z5virtual_catcher_code -> VirtualCatcherCode CODE_BLOCKr  r   p_virtual_catcher_coder  im  )zvirtual_catcher_code -> emptyr  r   r  r  in  )z?namespace_decl -> namespace namespace_head opt_namespace_body ;rm  r   p_namespace_declr  i|  )z'namespace_head -> scoped_name opt_annosr  r   p_namespace_headr  i  )z(opt_namespace_body -> { namespace_body }r  r   p_opt_namespace_bodyr  i  )zopt_namespace_body -> emptyr  r   r  r  i  )z%namespace_body -> namespace_statementr  r   p_namespace_bodyr  i  )z4namespace_body -> namespace_body namespace_statementr  r   r  r  i  )z?typedef_decl -> typedef cpp_type NAME opt_annos ; opt_docstringro  r
   p_typedef_declr  i  )zStypedef_decl -> typedef cpp_type ( * NAME ) ( cpp_types ) opt_annos ; opt_docstringro  r   r  r  i  )z5union_decl -> union union_head opt_class_definition ;rp  r   p_union_declr  i  )z#union_head -> scoped_name opt_annosr  r   p_union_headr  i  )z3variable -> cpp_type NAME opt_annos variable_body ;rq  r	   
p_variabler  i/  )z-variable_body -> { variable_body_directives }r  r   p_variable_bodyr  iY  )zvariable_body -> emptyr  r   r  r  iZ  )z3variable_body_directives -> variable_body_directiver  r   p_variable_body_directivesr  i`  )zLvariable_body_directives -> variable_body_directives variable_body_directiver  r   r  r  ia  )z#variable_body_directive -> if_startr  r   p_variable_body_directiver  ij  )z!variable_body_directive -> if_endr  r   r  r  ik  )z0variable_body_directive -> AccessCode CODE_BLOCKr  r   r  r  il  )z-variable_body_directive -> GetCode CODE_BLOCKr  r   r  r  im  )z-variable_body_directive -> SetCode CODE_BLOCKr  r   r  r  in  )zopt_annos -> / annotations /r  r   p_opt_annosr  iv  )zopt_annos -> emptyr  r   r  r  iw  )zannotations -> annotationr  r   p_annotationsr  i}  )z'annotations -> annotations , annotationr  r   r  r  i~  )zannotation -> NAMEr  r   p_annotationr  i  )z%annotation -> NAME = annotation_valuer  r   r  r  i  )zannotation_value -> dotted_namer  r   p_annotation_valuer  i  )zannotation_value -> STRINGr  r   r  r  i  )zannotation_value -> NUMBERr  r   r  r  i  )z)scoped_name -> SCOPE relative_scoped_namers  r   p_scoped_namer  i  )z#scoped_name -> relative_scoped_namers  r   r  r  i  )zrelative_scoped_name -> NAMEr~  r   p_relative_scoped_namer  i  )z7relative_scoped_name -> relative_scoped_name SCOPE NAMEr~  r   r  r  i  )z'template_decl -> template < cpp_types >rv  r   p_template_declr  i  )zbool_value -> truer  r   p_bool_valuer  i  )zbool_value -> Truer  r   r  r  i  )zbool_value -> falser  r   r  r  i  )zbool_value -> Falser  r   r  r  i  )zdotted_name -> NAMEr  r   p_dotted_namer  i  )zdotted_name -> DOTTED_NAMEr  r   r  r  i  )zfile_path -> NAMEr  r   p_file_pathr  i  )zfile_path -> DOTTED_NAMEr  r   r  r  i  )zfile_path -> FILE_PATHr  r   r  r  i  )zempty -> <empty>r  r   p_emptyr  i  )zopt_const -> constr  r   p_opt_constr  i  )zopt_const -> emptyr  r   r  r  i  )zopt_docstring -> docstringr  r   p_opt_docstringr  i  )zopt_docstring -> emptyr  r   r  r  i  )zopt_final -> finalr  r   p_opt_finalr  i  )zopt_final -> emptyr  r   r  r  i  )zopt_name -> NAMEr  r   
p_opt_namer  i  )zopt_name -> emptyr  r   r  r  i  )zopt_virtual -> virtualr  r   p_opt_virtualr  i  )zopt_virtual -> emptyr  r   r  r  i  )zored_qualifiers -> NAMEr  r   p_ored_qualifiersr  i  )zored_qualifiers -> ! NAMEr  r   r  r  i  )z2ored_qualifiers -> ored_qualifiers LOGICAL_OR NAMEr  r   r  r  i  )z4ored_qualifiers -> ored_qualifiers LOGICAL_OR ! NAMEr  r   r  r  i  )zqualifier_list -> NAMEr  r   p_qualifier_listr  i%  )z%qualifier_list -> qualifier_list NAMEr  r   r  r  i&  )zqualifiers -> ored_qualifiersr  r   p_qualifiersr  i2  )z!qualifiers -> opt_name - opt_namer  r   r  r  i3  N)_tabversion
_lr_method_lr_signature_lr_action_items
_lr_actionitems_k_vzip_x_y_lr_goto_items_lr_goto_lr_productions     Blib/python3.11/site-packages/sipbuild/generator/parser/parsetab.py<module>r     srl  
 
 |Z xs.E  I	  I	  I	  J	@  J	@  J	@  A  xs.  BS  UB  UB  UB  Cy'  Cy'  Cy'  Tz'  xs.  {'D(  F(s0  F(s0  F(s0  t0j;  t0j;  t0j;  E(k;  xs.  l;D<  F<sD  F<sD  F<sD  tDjO  tDjO  tDjO  E<kO  xs.  lOGP  IPvX  IPvX  IPvX  wXmc  wXmc  wXmc  HPnc  xs.  oc@d  Bdol  Bdol  Bdol  plfw  plfw  plfw  Adgw  xs.  hwyw  {wh@  {wh@  {wh@  i@_K  i@_K  i@_K  zw`K  xs.  aKsK  uKbT  uKbT  uKbT  cTY_  cTY_  cTY_  tKZ_  xs.  [_o_  q_^h  q_^h  q_^h  _hUs  _hUs  _hUs  p_Vs  xs.  Wsms  os\|  os\|  os\|  ]|SG  ]|SG  ]|SG  nsTG  xs.  UG^G  `GMP  `GMP  `GMP  NPD[  NPD[  NPD[  _GE[  xs.  F[O[  Q[~c  Q[~c  Q[~c  cun  cun  cun  P[vn  xs.  wnFo  Houw  Houw  Houw  vwlB  vwlB  vwlB  GomB  xs.  nBvB  xBeK  xBeK  xBeK  fK\V  fK\V  fK\V  wB]V  xs.  ^VgV  iVV_  iVV_  iVV_  W_Mj  W_Mj  W_Mj  hVNj  xs.  Ojcj  ejRs  ejRs  ejRs  SsI~  SsI~  SsI~  djJ~  xs.  K~T~  V~CG  V~CG  V~CG  DGzQ  DGzQ  DGzQ  U~{Q  xs.  xs.  |QDR  FRsZ  FRsZ  FRsZ  tZje  tZje  tZje  ERke  xs.  lexe  zegn  zegn  zegn  hn^y  hn^y  hn^y  ye_y  xs.  `yry  tyaB  tyaB  tyaB  bBXM  bBXM  bBXM  syYM  xs.  ZMeM  gMTV  gMTV  gMTV  UVKa  UVKa  UVKa  fMLa  xs.  MaUa  WaDj  WaDj  WaDj  Ej{t  Ej{t  Ej{t  Va|t  xs.  }tTu  VuC~  VuC~  VuC~  D~zH  D~zH  D~zH  Uu{H  xs.  |HTI  VICR  VICR  VICR  DRz\  DRz\  DRz\  UI{\  xs.  |\F]  H]ue  H]ue  H]ue  velp  velp  velp  G]mp  xs.  np|p  ~pg~  ~pg~  ~pg~  h~_O  h~_O  h~_O  }p`O  xs.  aOkO  mOZX  mOZX  mOZX  [XQc  [XQc  [XQc  lORc  xs.  Schc  jcWl  jcWl  jcWl  XlNw  XlNw  XlNw  icOw  xs.  Pwew  gwT@	  gwT@	  gwT@	  U@	KK	  U@	KK	  U@	KK	  fwLK	  xs.  MK	QK	  SK	X_	  SK	X_	  SK	X_	  Y_	iw	  Y_	iw	  Y_	iw	  RK	jw	  xs.  kw	pw	  rw	wK
  rw	wK
  rw	wK
  xK
Hd
  xK
Hd
  xK
Hd
  qw	Id
  xs.  Jd
Qd
  Sd
Zr
  Sd
Zr
  Sd
Zr
  [r
qC  [r
qC  [r
qC  Rd
rC  xs.  sCyC  {CHS  {CHS  {CHS  ISqe  ISqe  ISqe  zCre  xs.  se~e  @fys  @fys  @fys  zsAE  zsAE  zsAE  eBE  xs.  xs.  xs.  CENE  PEIS  PEIS  PEIS  JSQd  JSQd  JSQd  OERd  xs.  Sd[d  ]dWu  ]dWu  ]dWu  XuyI  XuyI  XuyI  \dzI  xs.  {IDJ  FJW  FJW  FJW  @XGi  @XGi  @XGi  EJHi  xs.  IiPi  RiLz  RiLz  RiLz  MznN  MznN  MznN  QioN  xs.  pN@O  BOo^  BOo^  BOo^  p^~q  p^~q  p^~q  AOq  xs.  @rLr  NrB{  NrB{  NrB{  C{BF  C{BF  C{BF  MrCF  xs.  DFNF  PFIT  PFIT  PFIT  JTQe  JTQe  JTQe  OFRe  xs.  Se]e  _eyv  _eyv  _eyv  zv]L  zv]L  zv]L  ^e^L  xs.  _LfL  hLL\  hLL\  hLL\  M\Fo  M\Fo  M\Fo  gLGo  xs.  HoRo  ToK@  ToK@  ToK@  L@oT  L@oT  L@oT  SopT  xs.  qTyT  {Tre  {Tre  {Tre  seVz  seVz  seVz  zTWz  xs.  Xz^z  `zcK  `zcK  `zcK  dKS`  dKS`  dKS`  _zT`  xs.  U`\`  ^`Yq  ^`Yq  ^`Yq  ZqAF  ZqAF  ZqAF  ]`BF  xs.  CFHF  JFEW  JFEW  JFEW  FWmk  FWmk  FWmk  IFnk  xs.  okvk  xko|  xko|  xko|  p|SQ  p|SQ  p|SQ  wkTQ  xs.  UQ]Q  _QVb  _QVb  _QVb  Wbzv  Wbzv  Wbzv  ^Q{v  xs.  |vBw  Dw{G  Dw{G  Dw{G  |G_\  |G_\  |G_\  Cw`\  xs.  xs.  xs.  a\g\  i\hm  i\hm  i\hm  imTB  imTB  imTB  h\UB  xs.  VB_B  aBXS  aBXS  aBXS  YS|g  YS|g  YS|g  `B}g  xs.  ~gDh  Fh}x  Fh}x  Fh}x  ~xaM  ~xaM  ~xaM  EhbM  xs.  cMqM  sMj^  sMj^  sMj^  k^Ns  k^Ns  k^Ns  rMOs  xs.  Ps]s  _sVD  _sVD  _sVD  WDzX  WDzX  WDzX  ^s{X  xs.  |XHY  JYAj  JYAj  JYAj  Bje~  Bje~  Bje~  IYf~  xs.  g~s~  u~lO  u~lO  u~lO  mOPd  mOPd  mOPd  t~Qd  xs.  Rdbd  dd[u  dd[u  dd[u  \uI  \uI  \uI  cd@J  xs.  AJNJ  PJG[  PJG[  PJG[  H[ko  H[ko  H[ko  OJlo  xs.  moyo  {or@  {or@  {or@  s@VU  s@VU  s@VU  zoWU  xs.  XUfU  hU_f  hU_f  hU_f  `fC{  `fC{  `fC{  gUD{  xs.  E{Q{  S{JL  S{JL  S{JL  KLn`  KLn`  KLn`  R{o`  xs.  p`}`  `vq  `vq  `vq  wqZF  wqZF  wqZF  ~`[F  xs.  \FgF  iF`W  iF`W  iF`W  aWDl  aWDl  aWDl  hFEl  xs.  FlRl  TlK}  TlK}  TlK}  L}oQ  L}oQ  L}oQ  SlpQ  xs.  qQyQ  {Qrb  {Qrb  {Qrb  sbVw  sbVw  sbVw  zQWw  xs.  Xwbw  dw[H  dw[H  dw[H  \H\  \H\  \H\  cw@]  xs.  xs.  xs.  A]H]  J]Oo  J]Oo  J]Oo  PoME   PoME   PoME   I]NE   xs.  OE UE   WE F`   WE F`   WE F`   G` l   G` l   G` l   VE m   xs.  n t   v aH!  v aH!  v aH!  bH!TS!  bH!TS!  bH!TS!  u US!  xs.  VS!YS!  [S!jb!  [S!jb!  [S!jb!  kb!^u!  kb!^u!  kb!^u!  ZS!_u!  xs.  `u!mu!  ou!gv!  ou!gv!  ou!gv!  hv!fw!  hv!fw!  hv!fw!  nu!gw!  xs.  hw!kw!  mw!]@"  mw!]@"  mw!]@"  ^@"wJ"  ^@"wJ"  ^@"wJ"  lw!xJ"  xs.  yJ"EK"  GK"uM"  GK"uM"  GK"uM"  vM"qP"  vM"qP"  vM"qP"  FK"rP"  xs.  sP"{P"  }P"_S"  }P"_S"  }P"_S"  `S"\V"  `S"\V"  `S"\V"  |P"]V"  xs.  ^V"aV"  cV"JW"  cV"JW"  cV"JW"  KW"zW"  KW"zW"  KW"zW"  bV"{W"  xs.  |W"W"  AX"x]"  AX"x]"  AX"x]"  y]"Ie"  y]"Ie"  y]"Ie"  @X"Je"  xs.  Ke"Ne"  Pe"Ck"  Pe"Ck"  Pe"Ck"  Dk"Pr"  Dk"Pr"  Dk"Pr"  Oe"Qr"  xs.  Rr"Ur"  Wr"\s"  Wr"\s"  Wr"\s"  ]s"mt"  ]s"mt"  ]s"mt"  Vr"nt"  xs.  ot"rt"  tt"b~"  tt"b~"  tt"b~"  c~"YJ#  c~"YJ#  c~"YJ#  st"ZJ#  xs.  [J#^J#  `J#kQ#  `J#kQ#  `J#kQ#  lQ#aZ#  lQ#aZ#  lQ#aZ#  _J#bZ#  xs.  cZ#fZ#  hZ#m`#  hZ#m`#  hZ#m`#  n`#@h#  n`#@h#  n`#@h#  gZ#Ah#  xs.  Bh#Eh#  Gh#jk#  Gh#jk#  Gh#jk#  kk#Fp#  kk#Fp#  kk#Fp#  Fh#Gp#  xs.  Hp#Kp#  Mp#T{#  Mp#T{#  Mp#T{#  U{#sH$  U{#sH$  U{#sH$  Lp#tH$  xs.  xs.  xs.  uH$xH$  zH$AQ$  zH$AQ$  zH$AQ$  BQ$WZ$  BQ$WZ$  BQ$WZ$  yH$XZ$  xs.  YZ$\Z$  ^Z$Mh$  ^Z$Mh$  ^Z$Mh$  Nh$^x$  Nh$^x$  Nh$^x$  ]Z$_x$  xs.  `x$cx$  ex$r{$  ex$r{$  ex$r{$  s{$n$  s{$n$  s{$n$  dx$o$  xs.  p$s$  u$rB%  u$rB%  u$rB%  sB%[F%  sB%[F%  sB%[F%  t$\F%  xs.  ]F%`F%  bF%cH%  bF%cH%  bF%cH%  dH%BK%  dH%BK%  dH%BK%  aF%CK%  xs.  DK%OK%  QK%iK%  QK%iK%  QK%iK%  jK%DL%  jK%DL%  jK%DL%  PK%EL%  xs.  FL%[L%  ]L%jU%  ]L%jU%  ]L%jU%  kU%Da%  kU%Da%  kU%Da%  \L%Ea%  xs.  Fa%Ya%  [a%hj%  [a%hj%  [a%hj%  ij%Bv%  ij%Bv%  ij%Bv%  Za%Cv%  xs.  Dv%Rv%  Tv%a%  Tv%a%  Tv%a%  b%{J&  b%{J&  b%{J&  Sv%|J&  xs.  }J&EK&  GK&\T&  GK&\T&  GK&\T&  ]T&~_&  ]T&~_&  ]T&~_&  FK&_&  xs.  @`&M`&  O`&`b&  O`&`b&  O`&`b&  ab&Pe&  ab&Pe&  ab&Pe&  N`&Qe&  xs.  Re&\e&  ^e&kn&  ^e&kn&  ^e&kn&  ln&Ez&  ln&Ez&  ln&Ez&  ]e&Fz&  xs.  Gz&Rz&  Tz&mC'  Tz&mC'  Tz&mC'  nC'IO'  nC'IO'  nC'IO'  Sz&JO'  xs.  KO'WO'  YO'JP'  YO'JP'  YO'JP'  KP'EQ'  KP'EQ'  KP'EQ'  XO'FQ'  xs.  GQ'\Q'  ^Q'WY'  ^Q'WY'  ^Q'WY'  XY'Lc'  XY'Lc'  XY'Lc'  ]Q'Mc'  xs.  Nc'dc'  fc'_k'  fc'_k'  fc'_k'  `k'Tu'  `k'Tu'  `k'Tu'  ec'Uu'  xs.  Vu'iu'  ku'd}'  ku'd}'  ku'd}'  e}'YG(  e}'YG(  e}'YG(  ju'ZG(  xs.  xs.  xs.  [G(pG(  rG(kO(  rG(kO(  rG(kO(  lO(`Y(  lO(`Y(  lO(`Y(  qG(aY(  xs.  bY(lY(  nY(ga(  nY(ga(  nY(ga(  ha(\k(  ha(\k(  ha(\k(  mY(]k(  xs.  ^k(hk(  jk(cs(  jk(cs(  jk(cs(  ds(X}(  ds(X}(  ds(X}(  ik(Y}(  xs.  Z}(b}(  d}(]E)  d}(]E)  d}(]E)  ^E)RO)  ^E)RO)  ^E)RO)  c}(SO)  xs.  TO)\O)  ^O)_W)  ^O)_W)  ^O)_W)  `W)\a)  `W)\a)  `W)\a)  ]O)]a)  xs.  ^a)ia)  ka)li)  ka)li)  ka)li)  mi)is)  mi)is)  mi)is)  ja)js)  xs.  ks)ts)  vs)w{)  vs)w{)  vs)w{)  x{)tE*  x{)tE*  x{)tE*  us)uE*  xs.  vE*E*  AF*zM*  AF*zM*  AF*zM*  {M*oW*  {M*oW*  {M*oW*  @F*pW*  xs.  qW*|W*  ~W*w_*  ~W*w_*  ~W*w_*  x_*li*  x_*li*  x_*li*  }W*mi*  xs.  ni*Ej*  Gj*@r*  Gj*@r*  Gj*@r*  Ar*u{*  Ar*u{*  Ar*u{*  Fj*v{*  xs.  w{*I|*  K|*DD+  K|*DD+  K|*DD+  ED+yM+  ED+yM+  ED+yM+  J|*zM+  xs.  {M+HN+  JN+CV+  JN+CV+  JN+CV+  DV+x_+  DV+x_+  DV+x_+  IN+y_+  xs.  z_+J`+  L`+Eh+  L`+Eh+  L`+Eh+  Fh+zq+  Fh+zq+  Fh+zq+  K`+{q+  xs.  |q+Mr+  Or+Hz+  Or+Hz+  Or+Hz+  Iz+}C,  Iz+}C,  Iz+}C,  Nr+~C,  xs.  C,KD,  MD,FL,  MD,FL,  MD,FL,  GL,{U,  GL,{U,  GL,{U,  LD,|U,  xs.  }U,GV,  IV,B^,  IV,B^,  IV,B^,  C^,wg,  C^,wg,  C^,wg,  HV,xg,  xs.  yg,Nh,  Ph,Ip,  Ph,Ip,  Ph,Ip,  Jp,~y,  Jp,~y,  Jp,~y,  Oh,y,  xs.  xs.  xs.  @z,Iz,  Kz,LB-  Kz,LB-  Kz,LB-  MB-IL-  MB-IL-  MB-IL-  Jz,JL-  xs.  KL-NL-  PL-YU-  PL-YU-  PL-YU-  ZU-q`-  ZU-q`-  ZU-q`-  OL-r`-  xs.  s`-`-  Aa-na-  Aa-na-  Aa-na-  oa-fb-  oa-fb-  oa-fb-  @a-gb-  xs.  hb-qb-  sb-`c-  sb-`c-  sb-`c-  ac-Xd-  ac-Xd-  ac-Xd-  rb-Yd-  xs.  Zd-cd-  ed-Re-  ed-Re-  ed-Re-  Se-Jf-  Se-Jf-  Se-Jf-  dd-Kf-  xs.  Lf-Wf-  Yf-Bg-  Yf-Bg-  Yf-Bg-  Cg-ug-  Cg-ug-  Cg-ug-  Xf-vg-  xs.  wg-zg-  |g-Fi-  |g-Fi-  |g-Fi-  Gi-_j-  Gi-_j-  Gi-_j-  {g-`j-  xs.  aj-dj-  gj-jj-  fj-lj-  nj-qj-  mj-sj-  ej-tj-  xs.  uj-xj-  {j-~j-  zj-@k-  Bk-Ek-  Ak-Gk-  yj-Hk-  xs.  Ik-Lk-  Nk-dm-  Nk-dm-  Nk-dm-  em-Zp-  em-Zp-  em-Zp-  Mk-[p-  xs.  \p-bp-  dp-vq-  dp-vq-  dp-vq-  wq-Is-  wq-Is-  wq-Is-  cp-Js-  xs.  Ks-Os-  Rs-Us-  Vs-Ys-  Qs-[s-  ]s-`s-  as-ds-  \s-fs-  Ps-gs-  xs.  hs-os-  rs-us-  vs-ys-  qs-{s-  }s-@t-  At-Dt-  |s-Ft-  ps-Gt-  xs.  Ht-Mt-  Ot-mt-  Ot-mt-  Ot-mt-  nt-Qu-  nt-Qu-  nt-Qu-  Nt-Ru-  xs.  Su-]u-  `u-cu-  du-gu-  _u-iu-  ku-nu-  ou-ru-  ju-tu-  ^u-uu-  xs.  vu-@v-  Cv-Fv-  Gv-Jv-  Bv-Lv-  Nv-Qv-  Rv-Uv-  Mv-Wv-  Av-Xv-  xs.  Yv-dv-  fv-xv-  fv-xv-  fv-xv-  yv-Kw-  yv-Kw-  yv-Kw-  ev-Lw-  xs.  xs.  xs.  Mw-Xw-  [w-^w-  _w-bw-  Zw-dw-  fw-iw-  jw-mw-  ew-ow-  Yw-pw-  xs.  qw-ww-  zw-}w-  ~w-Ax-  yw-Cx-  Ex-Hx-  Ix-Lx-  Dx-Nx-  xw-Ox-  xs.  Px-hx-  kx-nx-  ox-rx-  jx-tx-  vx-yx-  zx-}x-  ux-x-  ix-@y-  xs.  Ay-Ry-  Uy-Xy-  Yy-\y-  Ty-^y-  `y-cy-  dy-gy-  _y-iy-  Sy-jy-  xs.  ky-Hz-  Kz-Nz-  Oz-Rz-  Jz-Tz-  Vz-Yz-  Zz-]z-  Uz-_z-  Iz-`z-  xs.  az-tz-  wz-zz-  {z-~z-  vz-@{-  B{-E{-  F{-I{-  A{-K{-  uz-L{-  xs.  M{-W{-  Z{-]{-  ^{-a{-  Y{-c{-  e{-h{-  i{-l{-  d{-n{-  X{-o{-  xs.  p{-B|-  E|-H|-  I|-L|-  D|-N|-  P|-S|-  T|-W|-  O|-Y|-  C|-Z|-  xs.  [|-o|-  r|-u|-  v|-y|-  q|-{|-  }|-@}-  A}-D}-  ||-F}-  p|-G}-  xs.  H}-Y}-  \}-_}-  `}-c}-  [}-e}-  g}-j}-  k}-n}-  f}-p}-  Z}-q}-  xs.  r}-~}-  @~-V~-  @~-V~-  @~-V~-  W~-q~-  W~-q~-  W~-q~-  }-r~-  xs.  s~-v~-  x~-F-  x~-F-  x~-F-  G-U-  G-U-  G-U-  w~-V-  xs.  W-^-  `-n-  `-n-  `-n-  o-}-  o-}-  o-}-  _-~-  xs.  -H@.  J@.X@.  J@.X@.  J@.X@.  Y@.g@.  Y@.g@.  Y@.g@.  I@.h@.  xs.  i@.q@.  s@.]B.  s@.]B.  s@.]B.  ^B.^D.  ^B.^D.  ^B.^D.  r@._D.  xs.  `D.fD.  hD.^F.  hD.^F.  hD.^F.  _F.kH.  _F.kH.  _F.kH.  gD.lH.  xs.  mH.sH.  uH.kJ.  uH.kJ.  uH.kJ.  lJ.xL.  lJ.xL.  lJ.xL.  tH.yL.  xs.  xs.  xs.  zL.AM.  CM.yN.  CM.yN.  CM.yN.  zN.FQ.  zN.FQ.  zN.FQ.  BM.GQ.  xs.  HQ.OQ.  QQ.GS.  QQ.GS.  QQ.GS.  HS.TU.  HS.TU.  HS.TU.  PQ.UU.  xs.  VU.]U.  _U.AV.  _U.AV.  _U.AV.  BV.iV.  BV.iV.  BV.iV.  ^U.jV.  xs.  kV.uV.  wV.}W.  wV.}W.  wV.}W.  ~W.OY.  ~W.OY.  ~W.OY.  vV.PY.  xs.  QY.XY.  ZY.`Z.  ZY.`Z.  ZY.`Z.  aZ.r[.  aZ.r[.  aZ.r[.  YY.s[.  xs.  t[.z[.  |[.Z].  |[.Z].  |[.Z].  [].O_.  [].O_.  [].O_.  {[.P_.  xs.  Q_.^_.  `_.~`.  `_.~`.  `_.~`.  `.sb.  `.sb.  `.sb.  __.tb.  xs.  ub.{b.  }b.[d.  }b.[d.  }b.[d.  \d.Pf.  \d.Pf.  \d.Pf.  |b.Qf.  xs.  Rf.af.  cf.Ug.  cf.Ug.  cf.Ug.  Vg.Mh.  Vg.Mh.  Vg.Mh.  bf.Nh.  xs.  Oh.[h.  ]h.oi.  ]h.oi.  ]h.oi.  pi.Ok.  pi.Ok.  pi.Ok.  \h.Pk.  xs.  Qk.ek.  gk.yl.  gk.yl.  gk.yl.  zl.[n.  zl.[n.  zl.[n.  fk.\n.  xs.  ]n.nn.  pn.Jp.  pn.Jp.  pn.Jp.  Kp.wq.  Kp.wq.  Kp.wq.  on.xq.  xs.  yq.Ar.  Dr.Gr.  Hr.Kr.  Cr.Mr.  Or.Rr.  Sr.Vr.  Nr.Xr.  Br.Yr.  xs.  Zr.jr.  mr.pr.  lr.rr.  tr.wr.  sr.yr.  kr.zr.  xs.  {r.@s.  Cs.Fs.  Gs.Js.  Bs.Ls.  Ns.Qs.  Rs.Us.  Ms.Ws.  As.Xs.  xs.  Ys.^s.  as.ds.  es.hs.  `s.js.  ls.os.  ps.ss.  ks.us.  _s.vs.  xs.  xs. 
$$&&  FBBqE"Q%    ur":
2jnR  Zx/A4+  ZxkAa61S(:K  ZxETUVWSY[\]^Z`Ra  Zxbw  zH  zH  zH  IW  IW  IW  yX  Zx  Yk  no  pq  ms  uv  wx  tz  l{  Zx  |E  HI  JK  GM  OP  QR  NT  FU  Zx  Vg  jk  lm  io  qr  st  pv  hw  Zx  xI  LM  NO  KQ  ST  UV  RX  JY  Zx  Zg  jk  lm  io  qr  st  pv  hw  Zx  xE  HI  JK  GM  OQ  RT  NV  FW  Zx  Xf  ij  kl  hn  pr  su  ow  gx  Zx  yO  RS  TU  QW  Y[  \^  X`  Pa  Zx  b{  ~  @A  }C  EG  HJ  DL  |M  Zx  NW  Z[  \]  Y_  ac  df  `h  Xi  Zx  js  vw  xy  u{  }  @B  |D  tE  Zx  FQ  TU  VW  SY  []  ^`  Zb  Rc  Zx  dl  op  qr  nt  vx  y{  u}  m~  Zx  Zx  H	  K	L	  M	N	  J	P	  R	T	  U	W	  Q	Y	  I	Z	  Zx  [	f	  i	j	  k	l	  h	n	  p	r	  s	u	  o	w	  g	x	  Zx  y	B
  E
F
  G
H
  D
J
  L
N
  O
Q
  K
S
  C
T
  Zx  U
b
  e
f
  g
h
  d
j
  l
n
  o
q
  k
s
  c
t
  Zx  u
K  NO  PQ  MS  UW  XZ  T\  L]  Zx  ^f  ij  kl  hn  pr  su  ow  gx  Zx  yF  IJ  KL  HN  PR  SU  OW  GX  Zx  Ym  pq  rs  ou  wy  z|  v~  n  Zx  @K  NO  PQ  MS  UW  XZ  T\  L]  Zx  ^f  ij  kl  hn  pr  su  ow  gx  Zx  yG  JK  LM  IO  QS  TV  PX  HY  Zx  Zi  lm  no  kq  su  vx  rz  j{  Zx  |F  IJ  KL  HN  PR  SU  OW  GX  Zx  Yi  ky  ky  ky  zJ  zJ  zJ  jK  Zx  LW  Z[  \]  Y_  ac  df  `h  Xi  Zx  jA  DE  FG  CI  KM  NP  JR  BS  Zx  Tk  no  pq  ms  uw  xz  t|  l}  Zx  Zx  Zx  ~H  J`  J`  J`  aw  aw  aw  Ix  Zx  yA  CY  CY  CY  Zp  Zp  Zp  Bq  Zx  r~  @]  @]  @]  ^|  ^|  ^|  }  Zx  ~N  Pf  Pf  Pf  g}  g}  g}  O~  Zx  J  Lr  Lr  Lr  sY  sY  sY  KZ  Zx  [f  h~  h~  h~  U  U  U  gV  Zx  Wa  cM  cM  cM  Nx  Nx  Nx  by  Zx  zJ  Lb  Lb  Lb  cy  cy  cy  Kz  Zx  {H  J`  J`  J`  aw  aw  aw  Ix  Zx  yG   I _   I _   I _   ` v   ` v   ` v   H w   Zx  x D!  F!\!  F!\!  F!\!  ]!s!  ]!s!  ]!s!  E!t!  Zx  u!!  A"c"  A"c"  A"c"  d"F#  d"F#  d"F#  @"G#  Zx  H#Z#  \#B$  \#B$  \#B$  C$i$  C$i$  C$i$  [#j$  Zx  k$x$  z$h'  z$h'  z$h'  i'D*  i'D*  i'D*  y$E*  Zx  F*X*  [*\*  ]*^*  Z*`*  b*d*  e*g*  a*i*  Y*j*  Zx  k*F+  I+J+  K+L+  H+N+  P+R+  S+U+  O+W+  G+X+  Zx  Y+h+  j+@,  j+@,  j+@,  A,Y,  A,Y,  A,Y,  i+Z,  Zx  Zx  Zx  [,j,  l,V-  l,V-  l,V-  W-z-  W-z-  W-z-  k,{-  Zx  |-V.  X.B/  X.B/  X.B/  C/f/  C/f/  C/f/  W.g/  Zx  h/w/  y/c0  y/c0  y/c0  d0G1  d0G1  d0G1  x/H1  Zx  I1]1  _1I2  _1I2  _1I2  J2m2  J2m2  J2m2  ^1n2  Zx  o2y2  {2h4  {2h4  {2h4  i4R6  i4R6  i4R6  z2S6  Zx  T6_6  a6]8  a6]8  a6]8  ^8D:  ^8D:  ^8D:  `6E:  Zx  F:P:  R:N<  R:N<  R:N<  O<Q>  O<Q>  O<Q>  Q:R>  Zx  S>i>  k>]A  k>]A  k>]A  ^A\D  ^A\D  ^A\D  j>]D  Zx  ^DkD  mDOE  mDOE  mDOE  PEvE  PEvE  PEvE  lDwE  Zx  xEDF  FF~F  FF~F  FF~F  FEH  FEH  FEH  EFFH  Zx  GHQH  THVH  WHYH  SH[H  ]H`H  aHdH  \HfH  RHgH  Zx  hHtH  wHyH  vH{H  }H@I  |HBI  uHCI  Zx  DIRI  UIWI  TIYI  [I^I  ZI`I  SIaI  Zx  bIiI  kIoP  kIoP  kIoP  pPvW  pPvW  pPvW  jIwW  Zx  xWHX  KXMX  JXOX  QXTX  PXVX  IXWX  Zx  XXeX  hXjX  gXlX  nXqX  mXsX  fXtX  Zx  uXAY  DYFY  CYHY  JYMY  IYOY  BYPY  Zx  Zx  Zx  QYYY  \Y^Y  _YbY  [YdY  fYiY  jYmY  eYoY  ZYpY  Zx  qY@Z  CZFZ  GZJZ  BZLZ  NZQZ  RZUZ  MZWZ  AZXZ  Zx  YZdZ  fZtZ  fZtZ  fZtZ  uZC[  uZC[  uZC[  eZD[  Zx  E[T[  W[Z[  V[\[  ^[a[  ][c[  U[d[  Zx  e[p[  r[D\  r[D\  r[D\  E\W\  E\W\  E\W\  q[X\  Zx  Y\i\  l\o\  k\q\  s\v\  r\x\  j\y\  Zx  z\L]  O]R]  S]V]  N]X]  Z]]]  ^]a]  Y]c]  M]d]  Zx  e]w]  y]K^  y]K^  y]K^  L^^^  L^^^  L^^^  x]_^  Zx  `^x^  z^T_  z^T_  z^T_  U_o_  U_o_  U_o_  y^p_  Zx  q_G`  I`c`  I`c`  I`c`  d`~`  d`~`  d`~`  H``  Zx  @aOa  Qaka  Qaka  Qaka  laFb  laFb  laFb  PaGb  Zx  Hb^b  `brb  `brb  `brb  sbEc  sbEc  sbEc  _bFc  Zx  GcUc  Wcic  Wcic  Wcic  jc|c  jc|c  jc|c  Vc}c  Zx  ~cId  Kded  Kded  Kded  fd@e  fd@e  fd@e  JdAe  Zx  BeOe  ReUe  VeYe  Qe[e  ]e`e  aede  \efe  Pege  Zx  hexe  {e~e  eBf  zeDf  FfIf  JfMf  EfOf  yePf  Zx  Qf]f  `fcf  _fef  gfjf  fflf  ^fmf  Zx  Zx  Zx  nff  BgEg  AgGg  IgLg  HgNg  @gOg  Zx  PgZg  \gng  \gng  \gng  ogAh  ogAh  ogAh  [gBh  Zx  ChYh  [hih  [hih  [hih  jhxh  jhxh  jhxh  Zhyh  Zx  zhHi  KiNi  OiRi  JiTi  ViYi  Zi]i  Ui_i  Ii`i  Zx  aiui  xi{i  wi}i  iBj  ~iDj  viEj  Zx  FjZj  ]j`j  \jbj  djgj  cjij  [jjj  Zx  kjvj  xjFl  xjFl  xjFl  GlUm  GlUm  GlUm  wjVm  Zx  Wmfm  imlm  hmnm  pmsm  omum  gmvm  Zx  wm@n  CnFn  GnJn  BnLn  NnQn  RnUn  MnWn  AnXn  Zx  Ynsn  vnyn  un{n  }n@o  |nBo  tnCo  Zx  Do]o  `oco  dogo  _oio  kono  ooro  joto  ^ouo  Zx  voAp  Cpyp  Cpyp  Cpyp  zppq  zppq  zppq  Bpqq  Zx  rqAr  DrGr  CrIr  KrNr  JrPr  BrQr  Zx  Rr`r  crfr  grjr  brlr  nrqr  rrur  mrwr  arxr  Zx  yrGs  JsMs  IsOs  QsTs  PsVs  HsWs  Zx  Xses  hsks  lsos  gsqs  ssvs  wszs  rs|s  fs}s  Zx  ~sNt  QtTt  PtVt  Xt[t  Wt]t  Ot^t  Zx  Zx  Zx  _tnt  qttt  utxt  ptzt  |tt  @uCu  {tEu  otFu  Zx  GuXu  [u^u  Zu`u  bueu  augu  Yuhu  Zx  iuvu  yu|u  xu~u  @vCv  uEv  wuFv  Zx  GvSv  VvYv  Zv]v  Uv_v  avdv  evhv  `vjv  Tvkv  Zx  lv~v  AwDw  @wFw  HwKw  GwMw  vNw  Zx  Ow]w  `wcw  _wew  gwjw  fwlw  ^wmw  Zx  nw{w  ~wAx  BxEx  }wGx  IxLx  MxPx  HxRx  |wSx  Zx  Txbx  exhx  dxjx  lxox  kxqx  cxrx  Zx  sx@y  CyFy  GyJy  ByLy  NyQy  RyUy  MyWy  AyXy  Zx  Yyqy  tywy  syyy  {y~y  zy@z  ryAz  Zx  BzYz  \z_z  `zcz  [zez  gzjz  kznz  fzpz  Zzqz  Zx  rz~z  A{D{  E{H{  @{J{  L{O{  P{S{  K{U{  zV{  Zx  W{d{  g{j{  f{l{  n{q{  m{s{  e{t{  Zx  u{A|  D|G|  H|K|  C|M|  O|R|  S|V|  N|X|  B|Y|  Zx  Z|d|  g|j|  f|l|  n|q|  m|s|  e|t|  Zx  u|~|  A}D}  E}H}  @}J}  L}O}  P}S}  K}U}  |V}  Zx  W}g}  j}m}  i}o}  q}t}  p}v}  h}w}  Zx  Zx  Zx  x}D~  G~J~  F~L~  N~Q~  M~S~  E~T~  Zx  U~a~  d~g~  h~k~  c~m~  o~r~  s~v~  n~x~  b~y~  Zx  z~K  NQ  RU  MW  Y\  ]`  Xb  Lc  Zx  dj  mp  qt  lv  x{  |  wA@  kB@  Zx  C@I@  L@O@  P@S@  K@U@  W@Z@  [@^@  V@`@  J@a@  Zx  b@s@  v@y@  z@}@  u@@  AADA  EAHA  @AJA  t@KA  Zx  LA^A  aAdA  eAhA  `AjA  lAoA  pAsA  kAuA  _AvA  Zx  wALB  OBRB  SBVB  NBXB  ZB]B  ^BaB  YBcB  MBdB  Zx  eBxB  {B~B  BBC  zBDC  FCIC  JCMC  ECOC  yBPC  Zx  QCdC  gCjC  kCnC  fCpC  rCuC  vCyC  qC{C  eC|C  Zx  }CWD  ZD]D  ^DaD  YDcD  eDhD  iDlD  dDnD  XDoD  Zx  pDCE  FEIE  JEME  EEOE  QETE  UEXE  PEZE  DE[E  Zx  \EkE  nEqE  rEuE  mEwE  yE|E  }E@F  xEBF  lECF  Zx  DFVF  YF\F  ]F`F  XFbF  dFgF  hFkF  cFmF  WFnF  Zx  oF@G  CGFG  GGJG  BGLG  NGQG  RGUG  MGWG  AGXG  Zx  YGfG  iGlG  mGpG  hGrG  tGwG  xG{G  sG}G  gG~G  Zx  GIH  LHOH  PHSH  KHUH  WHZH  [H^H  VH`H  JHaH  Zx  Zx  Zx  bHwH  zH}H  ~HAI  yHCI  EIHI  IILI  DINI  xHOI  Zx  PI[I  ]IkI  ]IkI  ]IkI  lIzI  lIzI  lIzI  \I{I  Zx  |IIJ  LJOJ  PJSJ  KJUJ  WJZJ  [J^J  VJ`J  JJaJ  Zx  bJzJ  |JNK  |JNK  |JNK  OKaK  OKaK  OKaK  {JbK  Zx  cKzK  |KRL  |KRL  |KRL  SLiL  SLiL  SLiL  {KjL  Zx  kL|L  LBM  ~LDM  FMIM  EMKM  }LLM  Zx  MMYM  \M_M  `McM  [MeM  gMjM  kMnM  fMpM  ZMqM  Zx  rM@N  CNFN  GNJN  BNLN  NNQN  RNUN  MNWN  ANXN  Zx  YNiN  lNoN  kNqN  sNvN  rNxN  jNyN  Zx  zNGO  JOMO  IOOO  QOTO  POVO  HOWO  Zx  XOdO  gOjO  kOnO  fOpO  rOuO  vOyO  qO{O  eO|O  Zx  }OLP  OPRP  NPTP  VPYP  UP[P  MP\P  Zx  ]PkP  mPKQ  mPKQ  mPKQ  LQjQ  LQjQ  LQjQ  lPkQ  Zx  lQvQ  xQVR  xQVR  xQVR  WRuR  WRuR  WRuR  wQvR  Zx  wRBS  DSfS  DSfS  DSfS  gSIT  gSIT  gSIT  CSJT  Zx  KTUT  WTyT  WTyT  WTyT  zT\U  zT\U  zT\U  VT]U  Zx  ^UnU  qUtU  pUvU  xU{U  wU}U  oU~U  Zx  Zx  Zx  UIV  KVQW  KVQW  KVQW  RWXX  RWXX  RWXX  JVYX  Zx  ZXeX  gXuX  gXuX  gXuX  vXDY  vXDY  vXDY  fXEY  Zx  FY`Y  cYfY  bYhY  jYmY  iYoY  aYpY  Zx  qYJZ  MZPZ  QZTZ  LZVZ  XZ[Z  \Z_Z  WZaZ  KZbZ  Zx  cZoZ  rZuZ  qZwZ  yZ|Z  xZ~Z  pZZ  Zx  @[L[  N[l[  N[l[  N[l[  m[K\  m[K\  m[K\  M[L\  Zx  M\\\  _\b\  ^\d\  f\i\  e\k\  ]\l\  Zx  m\x\  {\~\  z\@]  B]E]  A]G]  y\H]  Zx  I]T]  W]Z]  []^]  V]`]  b]e]  f]i]  a]k]  U]l]  Zx  m]}]  @^C^  ]E^  G^J^  F^L^  ~]M^  Zx  N^^^  a^d^  e^h^  `^j^  l^o^  p^s^  k^u^  _^v^  Zx  w^I_  L_O_  K_Q_  S_V_  R_X_  J_Y_  Zx  Z_i_  k_A`  k_A`  k_A`  B`X`  B`X`  B`X`  j_Y`  Zx  Z`e`  g`y`  g`y`  g`y`  z`La  z`La  z`La  f`Ma  Zx  NaTa  Vada  Vada  Vada  easa  easa  easa  Uata  Zx  ua|a  ~aTb  ~aTb  ~aTb  Ubkb  Ubkb  Ubkb  }alb  Zx  mbwb  ybOc  ybOc  ybOc  Pcfc  Pcfc  Pcfc  xbgc  Zx  Zx  Zx  hc|c  cBd  ~cDd  FdId  EdKd  }cLd  Zx  Md\d  _dbd  cdfd  ^dhd  jdmd  ndqd  idsd  ]dtd  Zx  udDe  GeJe  FeLe  NeQe  MeSe  EeTe  Zx  Uece  feie  jeme  eeoe  qete  uexe  peze  de{e  Zx  |eMf  PfSf  OfUf  WfZf  Vf\f  Nf]f  Zx  ^fif  kfyf  kfyf  kfyf  zfHg  zfHg  zfHg  jfIg  Zx  JgQg  Sgag  Sgag  Sgag  bgpg  bgpg  bgpg  Rgqg  Zx  rg|g  gBh  ~gDh  FhIh  EhKh  }gLh  Zx  Mh]h  _hyh  _hyh  _hyh  zhTi  zhTi  zhTi  ^hUi  Zx  Vidi  giji  fili  niqi  misi  eiti  Zx  uiBj  EjHj  DjJj  LjOj  KjQj  CjRj  Zx  Sjhj  kjnj  jjpj  rjuj  qjwj  ijxj  Zx  yjEk  HkKk  GkMk  OkRk  NkTk  FkUk  Zx  Vkdk  gkjk  fklk  nkqk  mksk  ektk  Zx  ukHl  KlNl  JlPl  RlUl  QlWl  IlXl  Zx  Ylel  hlkl  glml  olrl  nltl  flul  Zx  vlIm  LmOm  KmQm  SmVm  RmXm  JmYm  Zx  Zx  Zx  Zmhm  kmnm  jmpm  rmum  qmwm  imxm  Zx  ymDn  GnJn  FnLn  NnQn  MnSn  EnTn  Zx  Uncn  enwn  enwn  enwn  xnJo  xnJo  xnJo  dnKo  Zx  Lo`o  cofo  boho  jomo  iooo  aopo  Zx  qoEp  HpKp  GpMp  OpRp  NpTp  FpUp  Zx  Vpfp  iplp  hpnp  ppsp  opup  gpvp  Zx  wpJq  MqPq  LqRq  TqWq  SqYq  KqZq  Zx  [qjq  mqpq  lqrq  tqwq  sqyq  kqzq  Zx  {qFr  IrLr  HrNr  PrSr  OrUr  GrVr  Zx  Wrfr  irlr  hrnr  prsr  orur  grvr  Zx  wrFs  IsLs  MsPs  HsRs  TsWs  Xs[s  Ss]s  Gs^s  Zx  _sns  psBt  psBt  psBt  CtUt  CtUt  CtUt  osVt  Zx  Wtgt  itCu  itCu  itCu  Du^u  Du^u  Du^u  ht_u  Zx  `umu  ouIv  ouIv  ouIv  Jvdv  Jvdv  Jvdv  nuev  Zx  fv|v  ~vPw  ~vPw  ~vPw  Qwcw  Qwcw  Qwcw  }vdw  Zx  ewxw  zwHx  zwHx  zwHx  IxWx  IxWx  IxWx  ywXx  Zx  Zx""$$  FBRUBqE""  vr2HnnRhrlx|B G G Gr  