Your IP : 18.227.46.87


Current Path : /usr/lib/python3.6/site-packages/pycparser/__pycache__/
Upload File :
Current File : //usr/lib/python3.6/site-packages/pycparser/__pycache__/c_ast.cpython-36.pyc

3

��]([�@sddlZGdd�de�ZGdd�de�ZGdd�de�ZGdd	�d	e�ZGd
d�de�ZGdd
�d
e�ZGdd�de�ZGdd�de�Z	Gdd�de�Z
Gdd�de�ZGdd�de�ZGdd�de�Z
Gdd�de�ZGdd�de�ZGdd�de�ZGd d!�d!e�ZGd"d#�d#e�ZGd$d%�d%e�ZGd&d'�d'e�ZGd(d)�d)e�ZGd*d+�d+e�ZGd,d-�d-e�ZGd.d/�d/e�ZGd0d1�d1e�ZGd2d3�d3e�ZGd4d5�d5e�ZGd6d7�d7e�ZGd8d9�d9e�ZGd:d;�d;e�ZGd<d=�d=e�ZGd>d?�d?e�Z Gd@dA�dAe�Z!GdBdC�dCe�Z"GdDdE�dEe�Z#GdFdG�dGe�Z$GdHdI�dIe�Z%GdJdK�dKe�Z&GdLdM�dMe�Z'GdNdO�dOe�Z(GdPdQ�dQe�Z)GdRdS�dSe�Z*GdTdU�dUe�Z+GdVdW�dWe�Z,GdXdY�dYe�Z-GdZd[�d[e�Z.Gd\d]�d]e�Z/Gd^d_�d_e�Z0Gd`da�dae�Z1dS)b�Nc@s0eZdZfZdd�Zejdddddfdd�ZdS)�NodecCsdS)z3 A sequence of all children that are Nodes
        N�)�selfrr�/usr/lib/python3.6/c_ast.py�childrensz
Node.childrenrFNc
	sd|}|r4|dk	r4|j|�jjd|d�n|j|�jjd��jr�|r~�fdd��jD�}djd	d
�|D��}	n(�fdd��jD�}
djdd
�|
D��}	|j|	�|r�|jd
�j�|jd�x.�j�D]"\}}|j||d||||d�q�WdS)a� Pretty print the Node and all its attributes and
            children (recursively) to a buffer.

            buf:
                Open IO buffer into which the Node is printed.

            offset:
                Initial offset (amount of leading spaces)

            attrnames:
                True if you want to see the attribute names in
                name=value pairs. False to only see the values.

            nodenames:
                True if you want to see the actual node names
                within their parents.

            showcoord:
                Do you want the coordinates of each Node to be
                displayed.
        � Nz <z>: z: csg|]}|t�|�f�qSr)�getattr)�.0�n)rrr�
<listcomp>=szNode.show.<locals>.<listcomp>z, css|]}d|VqdS)z%s=%sNr)r	Znvrrr�	<genexpr>>szNode.show.<locals>.<genexpr>csg|]}t�|��qSr)r)r	r
)rrrr@scss|]}d|VqdS)z%sNr)r	�vrrrrAsz (at %s)�
�)�offset�	attrnames�	nodenames�	showcoord�
_my_node_name)�write�	__class__�__name__�
attr_names�join�coordr�show)
rZbufrrrrrZleadZnvlistZattrstrZvlistZ
child_name�childr)rrrs, 

z	Node.show)r�
__module__�__qualname__�	__slots__r�sys�stdoutrrrrrrsrc@s eZdZdZdd�Zdd�ZdS)�NodeVisitora- A base NodeVisitor class for visiting c_ast nodes.
        Subclass it and define your own visit_XXX methods, where
        XXX is the class name you want to visit with these
        methods.

        For example:

        class ConstantVisitor(NodeVisitor):
            def __init__(self):
                self.values = []

            def visit_Constant(self, node):
                self.values.append(node.value)

        Creates a list of values of all the constant nodes
        encountered below the given node. To use it:

        cv = ConstantVisitor()
        cv.visit(node)

        Notes:

        *   generic_visit() will be called for AST nodes for which
            no visit_XXX method was defined.
        *   The children of nodes for which a visit_XXX was
            defined will not be visited - if you need this, call
            generic_visit() on the node.
            You can use:
                NodeVisitor.generic_visit(self, node)
        *   Modeled after Python's own AST visiting facilities
            (the ast module of Python 3.0)
    cCs"d|jj}t|||j�}||�S)z Visit a node.
        Zvisit_)rrr�
generic_visit)r�node�methodZvisitorrrr�visitsszNodeVisitor.visitcCs$x|j�D]\}}|j|�q
WdS)zy Called if no explicit visitor function exists for a
            node. Implements preorder visiting of the node.
        N)rr&)rr$Zc_name�crrrr#zszNodeVisitor.generic_visitN)rrr�__doc__r&r#rrrrr"Rs r"c@s&eZdZdZddd�Zd	d
�Zd
ZdS)�	ArrayDecl�type�dim�	dim_qualsr�__weakref__NcCs||_||_||_||_dS)N)r*r+r,r)rr*r+r,rrrr�__init__�szArrayDecl.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)Nr*r+)r*�appendr+�tuple)r�nodelistrrrr�s

zArrayDecl.children)r*r+r,rr-)N)r,)rrrrr.rrrrrrr)�s
r)c@s&eZdZd
Zddd�Zdd	�ZfZdS)�ArrayRef�name�	subscriptrr-NcCs||_||_||_dS)N)r3r4r)rr3r4rrrrr.�szArrayRef.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)Nr3r4)r3r/r4r0)rr1rrrr�s

zArrayRef.children)r3r4rr-)N)rrrrr.rrrrrrr2�s
r2c@s&eZdZdZddd�Zd	d
�Zd
ZdS)�
Assignment�op�lvalue�rvaluerr-NcCs||_||_||_||_dS)N)r6r7r8r)rr6r7r8rrrrr.�szAssignment.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)Nr7r8)r7r/r8r0)rr1rrrr�s

zAssignment.children)r6r7r8rr-)N)r6)rrrrr.rrrrrrr5�s
r5c@s&eZdZdZddd�Zd	d
�Zd
ZdS)�BinaryOpr6�left�rightrr-NcCs||_||_||_||_dS)N)r6r:r;r)rr6r:r;rrrrr.�szBinaryOp.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)Nr:r;)r:r/r;r0)rr1rrrr�s

zBinaryOp.children)r6r:r;rr-)N)r6)rrrrr.rrrrrrr9�s
r9c@s&eZdZdZd	dd�Zdd�ZfZdS)
�Breakrr-NcCs
||_dS)N)r)rrrrrr.�szBreak.__init__cCsfS)Nr)rrrrr�szBreak.children)rr-)N)rrrrr.rrrrrrr<�s
r<c@s&eZdZd
Zddd�Zdd	�ZfZdS)�Case�expr�stmtsrr-NcCs||_||_||_dS)N)r>r?r)rr>r?rrrrr.�sz
Case.__init__cCsTg}|jdk	r|jd|jf�x,t|jp*g�D]\}}|jd||f�q.Wt|�S)Nr>z	stmts[%d])r>r/�	enumerater?r0)rr1�irrrrr�s
z
Case.children)r>r?rr-)N)rrrrr.rrrrrrr=�s
r=c@s&eZdZd
Zddd�Zdd	�ZfZdS)�Cast�to_typer>rr-NcCs||_||_||_dS)N)rCr>r)rrCr>rrrrr.�sz
Cast.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)NrCr>)rCr/r>r0)rr1rrrr�s

z
Cast.children)rCr>rr-)N)rrrrr.rrrrrrrB�s
rBc@s&eZdZd	Zd
dd�Zdd�ZfZdS)�Compound�block_itemsrr-NcCs||_||_dS)N)rEr)rrErrrrr.�szCompound.__init__cCs:g}x,t|jpg�D]\}}|jd||f�qWt|�S)Nzblock_items[%d])r@rEr/r0)rr1rArrrrr�szCompound.children)rErr-)N)rrrrr.rrrrrrrD�s
rDc@s&eZdZd
Zddd�Zdd	�ZfZdS)�CompoundLiteralr*�initrr-NcCs||_||_||_dS)N)r*rGr)rr*rGrrrrr.�szCompoundLiteral.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)Nr*rG)r*r/rGr0)rr1rrrr�s

zCompoundLiteral.children)r*rGrr-)N)rrrrr.rrrrrrrF�s
rFc@s&eZdZd
Zddd�Zdd	�ZdZdS)
�Constantr*�valuerr-NcCs||_||_||_dS)N)r*rIr)rr*rIrrrrr.	szConstant.__init__cCsg}t|�S)N)r0)rr1rrrrszConstant.children)r*rIrr-)N)r*rI)rrrrr.rrrrrrrHs
rHc@s&eZdZdZd	dd�Zdd�ZfZdS)
�Continuerr-NcCs
||_dS)N)r)rrrrrr.szContinue.__init__cCsfS)Nr)rrrrrszContinue.children)rr-)N)rrrrr.rrrrrrrJs
rJc	@s&eZdZdZddd�Zd
d�ZdZd
S)�Declr3�quals�storage�funcspecr*rG�bitsizerr-Nc		Cs4||_||_||_||_||_||_||_||_dS)N)r3rLrMrNr*rGrOr)	rr3rLrMrNr*rGrOrrrrr. sz
Decl.__init__cCsZg}|jdk	r|jd|jf�|jdk	r8|jd|jf�|jdk	rR|jd|jf�t|�S)Nr*rGrO)r*r/rGrOr0)rr1rrrr*s


z
Decl.children)	r3rLrMrNr*rGrOrr-)N)r3rLrMrN)rrrrr.rrrrrrrKs

rKc@s&eZdZd	Zd
dd�Zdd�ZfZdS)�DeclList�declsrr-NcCs||_||_dS)N)rQr)rrQrrrrr.5szDeclList.__init__cCs:g}x,t|jpg�D]\}}|jd||f�qWt|�S)Nz	decls[%d])r@rQr/r0)rr1rArrrrr9szDeclList.children)rQrr-)N)rrrrr.rrrrrrrP3s
rPc@s&eZdZd	Zd
dd�Zdd�ZfZdS)�Defaultr?rr-NcCs||_||_dS)N)r?r)rr?rrrrr.CszDefault.__init__cCs:g}x,t|jpg�D]\}}|jd||f�qWt|�S)Nz	stmts[%d])r@r?r/r0)rr1rArrrrrGszDefault.children)r?rr-)N)rrrrr.rrrrrrrRAs
rRc@s&eZdZd
Zddd�Zdd	�ZfZdS)�DoWhile�cond�stmtrr-NcCs||_||_||_dS)N)rTrUr)rrTrUrrrrr.QszDoWhile.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)NrTrU)rTr/rUr0)rr1rrrrVs

zDoWhile.children)rTrUrr-)N)rrrrr.rrrrrrrSOs
rSc@s&eZdZdZd	dd�Zdd�ZfZdS)
�
EllipsisParamrr-NcCs
||_dS)N)r)rrrrrr.`szEllipsisParam.__init__cCsfS)Nr)rrrrrcszEllipsisParam.children)rr-)N)rrrrr.rrrrrrrV^s
rVc@s&eZdZdZd	dd�Zdd�ZfZdS)
�EmptyStatementrr-NcCs
||_dS)N)r)rrrrrr.jszEmptyStatement.__init__cCsfS)Nr)rrrrrmszEmptyStatement.children)rr-)N)rrrrr.rrrrrrrWhs
rWc@s&eZdZd
Zddd�Zdd	�ZdZdS)
�Enumr3�valuesrr-NcCs||_||_||_dS)N)r3rYr)rr3rYrrrrr.tsz
Enum.__init__cCs&g}|jdk	r|jd|jf�t|�S)NrY)rYr/r0)rr1rrrrys
z
Enum.children)r3rYrr-)N)r3)rrrrr.rrrrrrrXrs
rXc@s&eZdZd
Zddd�Zdd	�ZdZdS)
�
Enumeratorr3rIrr-NcCs||_||_||_dS)N)r3rIr)rr3rIrrrrr.�szEnumerator.__init__cCs&g}|jdk	r|jd|jf�t|�S)NrI)rIr/r0)rr1rrrr�s
zEnumerator.children)r3rIrr-)N)r3)rrrrr.rrrrrrrZ�s
rZc@s&eZdZd	Zd
dd�Zdd�ZfZdS)�EnumeratorList�enumeratorsrr-NcCs||_||_dS)N)r\r)rr\rrrrr.�szEnumeratorList.__init__cCs:g}x,t|jpg�D]\}}|jd||f�qWt|�S)Nzenumerators[%d])r@r\r/r0)rr1rArrrrr�szEnumeratorList.children)r\rr-)N)rrrrr.rrrrrrr[�s
r[c@s&eZdZd	Zd
dd�Zdd�ZfZdS)�ExprList�exprsrr-NcCs||_||_dS)N)r^r)rr^rrrrr.�szExprList.__init__cCs:g}x,t|jpg�D]\}}|jd||f�qWt|�S)Nz	exprs[%d])r@r^r/r0)rr1rArrrrr�szExprList.children)r^rr-)N)rrrrr.rrrrrrr]�s
r]c@s&eZdZd	Zd
dd�Zdd�ZfZdS)�FileAST�extrr-NcCs||_||_dS)N)r`r)rr`rrrrr.�szFileAST.__init__cCs:g}x,t|jpg�D]\}}|jd||f�qWt|�S)Nzext[%d])r@r`r/r0)rr1rArrrrr�szFileAST.children)r`rr-)N)rrrrr.rrrrrrr_�s
r_c@s&eZdZdZd
dd	�Zd
d�ZfZdS)�ForrGrT�nextrUrr-NcCs"||_||_||_||_||_dS)N)rGrTrbrUr)rrGrTrbrUrrrrr.�s
zFor.__init__cCstg}|jdk	r|jd|jf�|jdk	r8|jd|jf�|jdk	rR|jd|jf�|jdk	rl|jd|jf�t|�S)NrGrTrbrU)rGr/rTrbrUr0)rr1rrrr�s



zFor.children)rGrTrbrUrr-)N)rrrrr.rrrrrrra�s
rac@s&eZdZd
Zddd�Zdd	�ZfZdS)�FuncCallr3�argsrr-NcCs||_||_||_dS)N)r3rdr)rr3rdrrrrr.�szFuncCall.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)Nr3rd)r3r/rdr0)rr1rrrr�s

zFuncCall.children)r3rdrr-)N)rrrrr.rrrrrrrc�s
rcc@s&eZdZd
Zddd�Zdd	�ZfZdS)�FuncDeclrdr*rr-NcCs||_||_||_dS)N)rdr*r)rrdr*rrrrr.�szFuncDecl.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)Nrdr*)rdr/r*r0)rr1rrrr�s

zFuncDecl.children)rdr*rr-)N)rrrrr.rrrrrrre�s
rec@s&eZdZdZddd�Zd	d
�ZfZdS)
�FuncDef�decl�param_decls�bodyrr-NcCs||_||_||_||_dS)N)rgrhrir)rrgrhrirrrrr.�szFuncDef.__init__cCsng}|jdk	r|jd|jf�|jdk	r8|jd|jf�x,t|jpDg�D]\}}|jd||f�qHWt|�S)Nrgrizparam_decls[%d])rgr/rir@rhr0)rr1rArrrrr�s

zFuncDef.children)rgrhrirr-)N)rrrrr.rrrrrrrf�s
rfc@s&eZdZd	Zd
dd�Zdd�ZdZdS)�Gotor3rr-NcCs||_||_dS)N)r3r)rr3rrrrr.�sz
Goto.__init__cCsg}t|�S)N)r0)rr1rrrrsz
Goto.children)r3rr-)N)r3)rrrrr.rrrrrrrj�s
rjc@s&eZdZd	Zd
dd�Zdd�ZdZdS)�IDr3rr-NcCs||_||_dS)N)r3r)rr3rrrrr.	szID.__init__cCsg}t|�S)N)r0)rr1rrrr
szID.children)r3rr-)N)r3)rrrrr.rrrrrrrks
rkc@s&eZdZd	Zd
dd�Zdd�ZdZdS)�IdentifierType�namesrr-NcCs||_||_dS)N)rmr)rrmrrrrr.szIdentifierType.__init__cCsg}t|�S)N)r0)rr1rrrrszIdentifierType.children)rmrr-)N)rm)rrrrr.rrrrrrrls
rlc@s&eZdZdZddd�Zd	d
�ZfZdS)
�IfrT�iftrue�iffalserr-NcCs||_||_||_||_dS)N)rTrorpr)rrTrorprrrrr.!szIf.__init__cCsZg}|jdk	r|jd|jf�|jdk	r8|jd|jf�|jdk	rR|jd|jf�t|�S)NrTrorp)rTr/rorpr0)rr1rrrr's


zIf.children)rTrorprr-)N)rrrrr.rrrrrrrns
rnc@s&eZdZd	Zd
dd�Zdd�ZfZdS)�InitListr^rr-NcCs||_||_dS)N)r^r)rr^rrrrr.2szInitList.__init__cCs:g}x,t|jpg�D]\}}|jd||f�qWt|�S)Nz	exprs[%d])r@r^r/r0)rr1rArrrrr6szInitList.children)r^rr-)N)rrrrr.rrrrrrrq0s
rqc@s&eZdZd
Zddd�Zdd	�ZdZdS)
�Labelr3rUrr-NcCs||_||_||_dS)N)r3rUr)rr3rUrrrrr.@szLabel.__init__cCs&g}|jdk	r|jd|jf�t|�S)NrU)rUr/r0)rr1rrrrEs
zLabel.children)r3rUrr-)N)r3)rrrrr.rrrrrrrr>s
rrc@s&eZdZd
Zddd�Zdd	�ZfZdS)�NamedInitializerr3r>rr-NcCs||_||_||_dS)N)r3r>r)rr3r>rrrrr.NszNamedInitializer.__init__cCsTg}|jdk	r|jd|jf�x,t|jp*g�D]\}}|jd||f�q.Wt|�S)Nr>zname[%d])r>r/r@r3r0)rr1rArrrrrSs
zNamedInitializer.children)r3r>rr-)N)rrrrr.rrrrrrrsLs
rsc@s&eZdZd	Zd
dd�Zdd�ZfZdS)�	ParamList�paramsrr-NcCs||_||_dS)N)rur)rrurrrrr.^szParamList.__init__cCs:g}x,t|jpg�D]\}}|jd||f�qWt|�S)Nz
params[%d])r@rur/r0)rr1rArrrrrbszParamList.children)rurr-)N)rrrrr.rrrrrrrt\s
rtc@s&eZdZd
Zddd�Zdd	�ZdZdS)
�PtrDeclrLr*rr-NcCs||_||_||_dS)N)rLr*r)rrLr*rrrrr.lszPtrDecl.__init__cCs&g}|jdk	r|jd|jf�t|�S)Nr*)r*r/r0)rr1rrrrqs
zPtrDecl.children)rLr*rr-)N)rL)rrrrr.rrrrrrrvjs
rvc@s&eZdZd	Zd
dd�Zdd�ZfZdS)�Returnr>rr-NcCs||_||_dS)N)r>r)rr>rrrrr.zszReturn.__init__cCs&g}|jdk	r|jd|jf�t|�S)Nr>)r>r/r0)rr1rrrr~s
zReturn.children)r>rr-)N)rrrrr.rrrrrrrwxs
rwc@s&eZdZd
Zddd�Zdd	�ZdZdS)
�Structr3rQrr-NcCs||_||_||_dS)N)r3rQr)rr3rQrrrrr.�szStruct.__init__cCs:g}x,t|jpg�D]\}}|jd||f�qWt|�S)Nz	decls[%d])r@rQr/r0)rr1rArrrrr�szStruct.children)r3rQrr-)N)r3)rrrrr.rrrrrrrx�s
rxc@s&eZdZdZddd�Zd	d
�Zd
ZdS)�	StructRefr3r*�fieldrr-NcCs||_||_||_||_dS)N)r3r*rzr)rr3r*rzrrrrr.�szStructRef.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)Nr3rz)r3r/rzr0)rr1rrrr�s

zStructRef.children)r3r*rzrr-)N)r*)rrrrr.rrrrrrry�s
ryc@s&eZdZd
Zddd�Zdd	�ZfZdS)�SwitchrTrUrr-NcCs||_||_||_dS)N)rTrUr)rrTrUrrrrr.�szSwitch.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)NrTrU)rTr/rUr0)rr1rrrr�s

zSwitch.children)rTrUrr-)N)rrrrr.rrrrrrr{�s
r{c@s&eZdZdZddd�Zd	d
�ZfZdS)
�	TernaryOprTrorprr-NcCs||_||_||_||_dS)N)rTrorpr)rrTrorprrrrr.�szTernaryOp.__init__cCsZg}|jdk	r|jd|jf�|jdk	r8|jd|jf�|jdk	rR|jd|jf�t|�S)NrTrorp)rTr/rorpr0)rr1rrrr�s


zTernaryOp.children)rTrorprr-)N)rrrrr.rrrrrrr|�s
r|c@s&eZdZdZddd�Zd	d
�Zd
ZdS)�TypeDecl�declnamerLr*rr-NcCs||_||_||_||_dS)N)r~rLr*r)rr~rLr*rrrrr.�szTypeDecl.__init__cCs&g}|jdk	r|jd|jf�t|�S)Nr*)r*r/r0)rr1rrrr�s
zTypeDecl.children)r~rLr*rr-)N)r~rL)rrrrr.rrrrrrr}�s
r}c@s&eZdZdZd
dd	�Zd
d�ZdZdS)�Typedefr3rLrMr*rr-NcCs"||_||_||_||_||_dS)N)r3rLrMr*r)rr3rLrMr*rrrrr.�s
zTypedef.__init__cCs&g}|jdk	r|jd|jf�t|�S)Nr*)r*r/r0)rr1rrrr�s
zTypedef.children)r3rLrMr*rr-)N)r3rLrM)rrrrr.rrrrrrr�s
rc@s&eZdZdZddd�Zd	d
�Zd
ZdS)�Typenamer3rLr*rr-NcCs||_||_||_||_dS)N)r3rLr*r)rr3rLr*rrrrr.�szTypename.__init__cCs&g}|jdk	r|jd|jf�t|�S)Nr*)r*r/r0)rr1rrrr�s
zTypename.children)r3rLr*rr-)N)r3rL)rrrrr.rrrrrrr��s
r�c@s&eZdZd
Zddd�Zdd	�ZdZdS)
�UnaryOpr6r>rr-NcCs||_||_||_dS)N)r6r>r)rr6r>rrrrr.�szUnaryOp.__init__cCs&g}|jdk	r|jd|jf�t|�S)Nr>)r>r/r0)rr1rrrr�s
zUnaryOp.children)r6r>rr-)N)r6)rrrrr.rrrrrrr��s
r�c@s&eZdZd
Zddd�Zdd	�ZdZdS)
�Unionr3rQrr-NcCs||_||_||_dS)N)r3rQr)rr3rQrrrrr.szUnion.__init__cCs:g}x,t|jpg�D]\}}|jd||f�qWt|�S)Nz	decls[%d])r@rQr/r0)rr1rArrrrrszUnion.children)r3rQrr-)N)r3)rrrrr.rrrrrrr�s
r�c@s&eZdZd
Zddd�Zdd	�ZfZdS)�WhilerTrUrr-NcCs||_||_||_dS)N)rTrUr)rrTrUrrrrr.szWhile.__init__cCs@g}|jdk	r|jd|jf�|jdk	r8|jd|jf�t|�S)NrTrU)rTr/rUr0)rr1rrrrs

zWhile.children)rTrUrr-)N)rrrrr.rrrrrrr�s
r�)2r �objectrr"r)r2r5r9r<r=rBrDrFrHrJrKrPrRrSrVrWrXrZr[r]r_rarcrerfrjrkrlrnrqrrrsrtrvrwrxryr{r|r}rr�r�r�r�rrrr�<module>s`<0







?>