o
    Gi                     @   s   d dl Z d dlZd dlmZ d dlmZ ddlmZ ee	Z
dddd	iZd
ededB fddZdddddeeB dB fddZdS )    N)Any)version   )loggingCLIPFeatureExtractorCLIPImageProcessor)>z4.57.0)	new_classtransformers_version
class_namereturnc                 C   s`   | t vrdS ddlm} t |  }|d \}}|||r.|d }t|  d| d |d S dS )z
    Check if a Transformers class should be remapped to a newer version.

    Args:
        class_name: The name of the class to check

    Returns:
        The new class name if remapping should occur, None otherwise
    N   )is_transformers_versionr
   r	   z8 appears to have been deprecated in transformers. Using z	 instead.)_TRANSFORMERS_CLASS_REMAPPINGimport_utilsr   loggerwarning)r   r   mapping	operationrequired_versionr	    r   U/home/ubuntu/.local/lib/python3.10/site-packages/diffusers/utils/deprecation_utils.py_maybe_remap_transformers_class   s   

r   T)	take_fromstandard_warn
stacklevelr   c              	   G   s  ddl m} | }d}t|d ts|f}|D ]z\}}}	tt|jt|kr9td|||	f d| d| d }
t|trV||v rV||	|f7 }d| d	| d
}
n$t
||rm|t||f7 }d| d| d
}
n|d u rzd| d| d
}
|
d ur|r|
d nd}
tj|
|	 t|d qt|trt|dkrtt d }|j}|j}|j}tt| \}}t| d| d|d  d| dt|dkrd S t|dkr|d S |S )Nr   )__version__r   r   zThe deprecation tuple z, should be removed since diffusers' version z is >= zThe `z8` argument is deprecated and will be removed in version .z9` attribute is deprecated and will be removed in version `z/` is deprecated and will be removed in version   )r   r   z in z line z% got an unexpected keyword argument `)r    r   
isinstancetupler   parsebase_version
ValueErrordictpophasattrgetattrwarningswarnFutureWarningleninspectgetouterframescurrentframefilenamelinenofunctionnextiteritems	TypeError)r   r   r   argsr   deprecated_kwargsvalues	attributeversion_namemessager   
call_framer1   line_numberr3   keyvaluer   r   r   	deprecate8   sN   
$rB   )r.   r*   typingr   	packagingr   utilsr   
get_logger__name__r   r   strr   r&   rB   r   r   r   r   <module>   s    
$