U
��,a�!�@sPddlZddlZddlmZGdd�de�ZeZzddlmZWne k
rXdZYnXdddgZ
dd�ZiZZ
d d
�Zed�eeeeeeeeeeeeejee�ee�ejejfD]Z ee
e <q�e!edd�Z e dk r�ee
e <e"je
e"<e#je
e#<e$je
e$<e%je
e%<edk �reje
e<[
[ dgfdd�Z&iZ'Z
d
d�Z(e(e
ed�<e(e
ee�<e(e
ee�<e(e
e<e(e
e<e(e
e<e(e
e<e(e
e<e(e
e<e(e
ej)<e(e
e<e(e
ej<e(e
ej<e(e
ej<e(e
e<e&fdd�Z*e*e
e"<e&fdd�Z+e+e
e<e&fdd�Z,e,e
e#<edk �re,e
e<dd�Z-e-e
ej.<[
dd�Z/ddde&fdd�Z0[[[dS)�N)�dispatch_tablec@seZdZdS)�ErrorN)�__name__�
__module__�__qualname__�rr�)/opt/alt/python38/lib64/python3.8/copy.pyr7sr)�PyStringMap�copy�deepcopycCs�t|�}t�|�}|r||�St|t�r0t|�St|dd�}|dk rL||�St�|�}|dk rh||�}nBt|dd�}|dk r�|d�}n$t|dd�}|r�|�}ntd|��t|t �r�|St
|df|��S)N�__copy__�
__reduce_ex__��
__reduce__z%un(shallow)copyable object of type %s)�type�_copy_dispatch�get�
issubclass�_copy_immutable�getattrrr�
isinstance�str�_reconstruct)�x�cls�copier�reductor�rvrrrr
Bs,
cCs|S�Nr)rrrrrksr�CodeTypec Cs |dkri}t|�}|�||�}||k r,|St|�}t�|�}|dk rR|||�}n�t|t�rht||�}n�t|dd�}|dk r�||�}nzt�|�}|r�||�}nBt|dd�}|dk r�|d�}n$t|dd�}|r�|�}ntd|��t |t
�r�|}nt||f|��}||k �r|||<t||�|S)N�__deepcopy__r
rrz"un(deep)copyable object of type %s)
�idrr�_deepcopy_dispatchr�_deepcopy_atomicrrrrrr�_keep_alive) r�memoZ_nil�d�yrrrrrrrr�sD
�
cCs|Srr�rr%rrrr#�sr#cCs2g}||t|�<|j}|D]}||||��q|Sr)r!�append)rr%rr'r)�arrr�_deepcopy_list�sr+csh��fdd�|D�}z�t|�WStk
r6YnXt||�D]\}}||k rBt|�}qdqB|}|S)Ncsg|]}�|���qSrr)�.0r*�rr%rr�
<listcomp>�sz#_deepcopy_tuple.<locals>.<listcomp>)r!�KeyError�zip�tuple)rr%rr'�k�jrr-r�_deepcopy_tuple�sr4cCs:i}||t|�<|��D]\}}|||�||||�<q|Sr)r!�items)rr%rr'�key�valuerrr�_deepcopy_dict�s
r8cCst|�|jt|j|��Sr)r�__func__r�__self__r(rrr�_deepcopy_method�sr;cCs>z|t|��|�Wn"tk
r8|g|t|�<YnXdSr)r!r)r/r(rrrr$�s
r$csb�dk }|r$|r$��fdd�|D�}||�} |r<| �t|�<|dk r�|rR�|��}t| d�rh| �|�n^t|t�r�t|�dkr�|\}}
nd}
|dk r�| j�|�|
dk r�|
��D]\}}t | ||�q�|dk �r|r�|D]}
�|
��}
| �
|
�q�n|D]}
| �
|
�q�|dk �r^|�rF|D]&\}}�|��}�|��}|| |<�qn|D]\}}|| |<�qJ| S)Nc3s|]}�|��VqdSrr)r,�argr-rr� <genexpr>sz_reconstruct.<locals>.<genexpr>�__setstate__�)r!�hasattrr>rr1�len�__dict__�updater5�setattrr))rr%�func�args�stateZlistiterZdictiterrZdeepr'Z slotstater6r7�itemrr-rrsF
r)1�types�weakref�copyregr� Exceptionr�errorZorg.python.corer �ImportError�__all__r
rr&rr�int�float�bool�complexrr1�bytes� frozenset�range�slice�property�BuiltinFunctionType�Ellipsis�NotImplemented�FunctionType�ref�tr�list�dict�set� bytearrayrr"r#rr+r4r8r;�
MethodTyper$rrrrr�<module>3s�
'�
4
�
- |