o
    /f'                     @   s  	 d dl Z dd ZeeZedd ZeejZeejZee j	Z
dd Zee Zdd	 Zee Zd
d Ze ZeeZe  dd Ze ZeeZG dd dZee jZeeZeg jZeejZee jZee j!Z"ee#jd Z$ee Z%ze& e&y   e ' d Z(ee(Z)ee(j*Z+dZ([(Y nw eejZ,eej-Z.[ [[[[[d#ddZ/dd Z0d$ddZ1dd Z2G dd dZ3G dd dZ4dd  Z5ee6e7 Z8ee7e B Z9ee:Z;edZ<ee=Z>d!d" e? D Z@dS )%    Nc                   C      d S N r   r   r   N/home/ych/rk3568/buildroot/output/rockchip_rk3568/host/lib/python3.10/types.py_f       r   c                   C   r   r   r   r   r   r   r   <lambda>   r   r   c                     s   d  fdd} | j d S )N   c                      r   r   r   r   ar   r   f   r   z_cell_factory.<locals>.fr   )__closure__)r   r   r
   r   _cell_factory   s   
r   c                   c   s    dV  d S )Nr	   r   r   r   r   r   _g      
r   c                      s   d S r   r   r   r   r   r   _c   s    r   c                   C  s   d V  d S r   r   r   r   r   r   _ag"   r   r   c                   @   s   e Zd Zdd ZdS )_Cc                 C   r   r   r   selfr   r   r   _m(   r   z_C._mN)__name__
__module____qualname__r   r   r   r   r   r   '   s    r   fromkeys   r   c                 C   sP   	 t |}t| ||\}}}|d ur|| ||ur||d< || ||fi |S )N__orig_bases__)resolve_basesprepare_class)namebaseskwds	exec_bodyresolved_basesmetansr   r   r   	new_classE   s   r&   c                 C   s   	 t | }d}d}t| D ]9\}}t|trt|tsqt|ds"q|| }d}t|ts2td|||| || d < |t	|d 7 }q|sK| S t|S )NFr   __mro_entries__Tz#__mro_entries__ must return a tupler	   )
list	enumerate
isinstancetypeGenericAliashasattrr'   tuple	TypeErrorlen)r    	new_basesupdatedshiftibasenew_baser   r   r   r   O   s$   


r   c                 C   s   	 |d u ri }nt |}d|v r|d}n|rt|d }nt}t|tr+t||}t|dr;|j| |fi |}ni }|||fS )N	metaclassr   __prepare__)dictpopr+   r*   _calculate_metar-   r8   )r   r    r!   r$   r%   r   r   r   r   d   s   




r   c                 C   s>   	 | }|D ]}t |}t||rqt||r|}qtd|S )Nzxmetaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases)r+   
issubclassr/   )r$   r    winnerr5   	base_metar   r   r   r;      s   

r;   c                   @   sJ   e Zd Z	 dddZdddZdd Zdd	 Zd
d Zdd Zdd Z	dS )DynamicClassAttributeNc                 C   s>   || _ || _|| _|p|j| _|d u | _tt|dd| _d S )N__isabstractmethod__F)fgetfsetfdel__doc__overwrite_docboolgetattrr@   )r   rA   rB   rC   docr   r   r   __init__   s   
zDynamicClassAttribute.__init__c                 C   s4   |d u r| j r	| S t | jd u rtd| |S )Nzunreadable attribute)r@   AttributeErrorrA   )r   instance
ownerclassr   r   r   __get__   s   

zDynamicClassAttribute.__get__c                 C   s"   | j d u r	td|  || d S )Nzcan't set attribute)rB   rJ   )r   rK   valuer   r   r   __set__   s   
zDynamicClassAttribute.__set__c                 C   s    | j d u r	td|  | d S )Nzcan't delete attribute)rC   rJ   )r   rK   r   r   r   
__delete__   s   
z DynamicClassAttribute.__delete__c                 C   s8   | j r|jnd }t| || j| j|p| j}| j |_ |S r   )rE   rD   r+   rB   rC   )r   rA   fdocresultr   r   r   getter   s   zDynamicClassAttribute.getterc                 C   s$   t | | j|| j| j}| j|_|S r   )r+   rA   rC   rD   rE   )r   rB   rR   r   r   r   setter      zDynamicClassAttribute.setterc                 C   s$   t | | j| j|| j}| j|_|S r   )r+   rA   rB   rD   rE   )r   rC   rR   r   r   r   deleter   rU   zDynamicClassAttribute.deleter)NNNNr   )
r   r   r   rI   rM   rO   rP   rS   rT   rV   r   r   r   r   r?      s    


	r?   c                   @   s   e Zd Zdd Zdd Zdd Zdd Zed	d
 Zedd Z	edd Z
edd ZeZe	Ze
ZeZdd Zdd ZeZdS )_GeneratorWrapperc                 C   s2   || _ |jtu | _t|dd | _t|dd | _d S )Nr   r   )_GeneratorWrapper__wrapped	__class__GeneratorType_GeneratorWrapper__isgenrG   r   r   )r   genr   r   r   rI      s   z_GeneratorWrapper.__init__c                 C   s   | j |S r   )rX   send)r   valr   r   r   r]      s   z_GeneratorWrapper.sendc                 G   s   | j j|g|R  S r   )rX   throw)r   tprestr   r   r   r_      s   z_GeneratorWrapper.throwc                 C   s
   | j  S r   )rX   closer   r   r   r   rb         
z_GeneratorWrapper.closec                 C      | j jS r   )rX   gi_coder   r   r   r   re         z_GeneratorWrapper.gi_codec                 C   rd   r   )rX   gi_framer   r   r   r   rg      rf   z_GeneratorWrapper.gi_framec                 C   rd   r   )rX   
gi_runningr   r   r   r   rh      rf   z_GeneratorWrapper.gi_runningc                 C   rd   r   )rX   gi_yieldfromr   r   r   r   ri      rf   z_GeneratorWrapper.gi_yieldfromc                 C   s
   t | jS r   )nextrX   r   r   r   r   __next__   rc   z_GeneratorWrapper.__next__c                 C   s   | j r| jS | S r   )r[   rX   r   r   r   r   __iter__   s   z_GeneratorWrapper.__iter__N)r   r   r   rI   r]   r_   rb   propertyre   rg   rh   ri   cr_codecr_frame
cr_runningcr_awaitrk   rl   	__await__r   r   r   r   rW      s(    



rW   c                    s   	 t s	tdjtu r4tdd jtu r4jj}|d@ r!S |d@ r4j}|j|jdB d_S dd l	}dd l
 | fdd	}|S )
Nz$types.coroutine() expects a callable__code__i         )co_flagsr   c                     sV   | i |}|j tu s|j tu r|jjd@ r|S t| jr)t| js)t|S |S )Nru   )	rY   CoroutineTyperZ   re   rv   r*   	Generator	CoroutinerW   )argskwargscoro_collections_abcfuncr   r   wrapped  s   


zcoroutine.<locals>.wrapped)callabler/   rY   FunctionTyperG   CodeTypers   rv   replace	functoolsr~   wraps)r   rv   cor   r   r   r}   r   	coroutine   s$   
r   c                 C   s    g | ]}|d d dkr|qS )Nr	   _r   ).0nr   r   r   
<listcomp>3  s     r   )r   NN)r   N)Asysr   r+   r   
LambdaTypers   r   __dict__MappingProxyTypeimplementationSimpleNamespacer   CellTyper   rZ   r   rw   rb   r   AsyncGeneratorTyper   r   
MethodTyper0   BuiltinFunctionTypeappendBuiltinMethodTypeobjectrI   WrapperDescriptorType__str__MethodWrapperTypestrjoinMethodDescriptorTyper9   ClassMethodDescriptorType
ModuleTyper/   exc_infotbTracebackTypetb_frame	FrameTypeGetSetDescriptorType__globals__MemberDescriptorTyper&   r   r   r;   r?   rW   r   r(   intr,   	UnionTypeEllipsisEllipsisTypeNoneTypeNotImplementedNotImplementedTypeglobals__all__r   r   r   r   <module>   sh    














 ?%3