a
    ze!                     @   sL  d dl Z d dlZd dlmZ G dd deZeZzd dlmZ W n e	yV   dZY n0 g dZ
dd Zi  ZZd	d
 Zedeeeeeeeeeeeee jeeeee jejfD ]Z eee < qe!e ddZ e dureee < e"jee"< e#jee#< e$jee$< e%jee%< edurejee< [[ dg fddZ&i  Z'Zdd Z(e(eed< e(eee< e(eee< e(ee< e(ee< e(ee< e(ee< e(ee< e(ee< e(ee j)< e(ee< e(ee j< e(ee j< e(eej< e(ee< e&fddZ*e*ee"< e&fddZ+e+ee< e&fddZ,e,ee#< edure,ee< dd Z-e-ee j.< [dd Z/ddde&fddZ0[ [[dS )    N)dispatch_tablec                   @   s   e Zd ZdS )ErrorN)__name__
__module____qualname__ r   r   /usr/lib/python3.9/copy.pyr   7   s   r   )PyStringMap)r   copydeepcopyc                 C   s   t | }t|}|r|| S t|t r0t| S t|dd }|d urL|| S t|}|d urh|| }nBt| dd }|d ur|d}n$t| dd }|r| }ntd| t|t	r| S t
| d g|R  S )N__copy____reduce_ex__   
__reduce__z%un(shallow)copyable object of type %s)type_copy_dispatchget
issubclass_copy_immutablegetattrr   r   
isinstancestr_reconstruct)xclscopierreductorrvr   r   r   r
   B   s,    





r
   c                 C   s   | S Nr   )r   r   r   r   r   k   s    r   CodeTypec           	      C   s"  |d u ri }t | }|||}||ur,|S t| }t|}|d urR|| |}nt|trht| |}nt| dd }|d ur||}n|t|}|r|| }nBt| dd }|d ur|d}n$t| dd }|r| }ntd| t	|t
r| }nt| |g|R  }|| ur|||< t| | |S )N__deepcopy__r   r   r   z"un(deep)copyable object of type %s)idr   r   _deepcopy_dispatchr   _deepcopy_atomicr   r   r   r   r   r   _keep_alive)	r   memoZ_nildyr   r   r   r   r   r   r   r      sD    








r   c                 C   s   | S r   r   r   r%   r   r   r   r#      s    r#   c                 C   s2   g }||t | < |j}| D ]}|||| q|S r   )r!   append)r   r%   r   r'   r)   ar   r   r   _deepcopy_list   s    r+   c                    sf    fdd| D }zt |  W S  ty4   Y n0 t| |D ]\}}||ur@t|} qbq@| }|S )Nc                    s   g | ]} |qS r   r   ).0r*   r   r%   r   r   
<listcomp>       z#_deepcopy_tuple.<locals>.<listcomp>)r!   KeyErrorziptuple)r   r%   r   r'   kjr   r-   r   _deepcopy_tuple   s    r5   c                 C   s:   i }||t | < |  D ]\}}|||||||< q|S r   )r!   items)r   r%   r   r'   keyvaluer   r   r   _deepcopy_dict   s
    r9   c                 C   s   t | | jt| j|S r   )r   __func__r   __self__r(   r   r   r   _deepcopy_method   s    r<   c                 C   s<   z|t | |  W n  ty6   | g|t |< Y n0 d S r   )r!   r)   r0   r(   r   r   r   r$      s    
r$   c                    sb  d u}|r$|r$ fdd|D }|| }	|r<|	t | < |d ur|rR |}t|	drh|	| n^t|trt|dkr|\}}
nd }
|d ur|	j| |
d ur|
 D ]\}}t	|	|| q|d ur|r|D ]} |}|	
| qn|D ]}|	
| q|d ur^|rF|D ]&\}} |} |}||	|< qn|D ]\}}||	|< qJ|	S )Nc                 3   s   | ]} |V  qd S r   r   )r,   argr-   r   r   	<genexpr>  r/   z_reconstruct.<locals>.<genexpr>__setstate__   )r!   hasattrr?   r   r2   len__dict__updater6   setattrr)   )r   r%   funcargsstateZlistiterZdictiterr   Zdeepr'   	slotstater7   r8   itemr   r-   r   r     sF    







r   )1typesweakrefcopyregr   	Exceptionr   errorZorg.python.corer	   ImportError__all__r
   r   r&   r   r   intfloatboolcomplexr   r2   bytes	frozensetrangeslicepropertyBuiltinFunctionTypeEllipsisNotImplementedFunctionTypereftr   listdictset	bytearrayr   r"   r#   r   r+   r5   r9   r<   
MethodTyper$   r   r   r   r   r   <module>3   s|   
'






4






-