a
Z��^s� c @ s� g d �Z ddlmZ ddlmZ ddlmZ ddlmZ ddl m
Z
dZdZeefd d
�Z
eefdd�Zefd
d�Zefdd�Zefdd�Zefdd�Zefdd�Zefdd�Zefdd�Zefdd�Zefdd�Zefdd �Zefd!d"�Zefd#d$�Zd%efd&efd'efgd'efd(efd%efgd(efd'efd&efgd&efd%efd(efgd)�Zd*d+� Zd,d-� Zzdd.lmZ W n e �y� Y n0 e!� Z"e"fd/d0�Z#zdd1lm#Z# W n e �y� Y n0 G d2d3� d3�Z$zdd4lm$Z$ W n e �y� Y n0 G d5d6� d6e!�Z%d7d8� Z&ed9g d:��Z'G d;d<� d<e(�Z)e!� fe*e+he,e-e.fd=d>�Z/dWdAdB�Z0dCdD� Z1zddElm1Z1 W n e �yx Y n0 dFdG� Z2dHdI� Z3dXdKdL�Z4dMdN� Z5dOdP� Z6dQdR� Z7G dSdT� dT�Z8e!� Z9G dUdV� dV�Z:dJS )Y)�update_wrapper�wraps�WRAPPER_ASSIGNMENTS�WRAPPER_UPDATES�total_ordering�cache�
cmp_to_key� lru_cache�reduce�partial�
partialmethod�singledispatch�singledispatchmethod�cached_property� )�get_cache_token)�
namedtuple)�recursive_repr)�RLock)�GenericAlias)�
__module__�__name__�__qualname__�__doc__�__annotations__)�__dict__c C sd |D ]2}zt ||�}W n ty( Y q0 t| ||� q|D ]}t | |��t ||i �� q<|| _| S �N)�getattr�AttributeError�setattrZupdateZ__wrapped__)�wrapper�wrapped�assigned�updatedZattr�value� r# �!/usr/lib64/python3.9/functools.pyr # s r c C s t t| ||d�S )N�r r r! )r r r% r# r# r$ r A s �r c C �$ | � |�}||u r|S | o"| |kS r ��__lt__��self�other�NotImplementedZ op_resultr# r# r$ �_gt_from_ltY �
r- c C �"