o
    gio                     @   s.   d dl Z d dlm  mZ dd Zdd ZdS )    Nc                 C   s   t | tr| S t | tjrt| jS t| dr| jS t | tj	rYt | j
tjjjr@t| j
j}| j
j}|d u r9|S | d| S t | j
tjjjrW| j
jd urS| j
jS | j
jS d S d S )N__name__.)
isinstancestr	functoolspartial	_get_namefunchasattrr   tracerTracerorigin	signaturepythonGetAttrobjkeyImportas_import_)opr   r    r   V/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/einx/_src/util/functools.pyr      s&   


r   c                    s   t |   fdd}|S )Nc                    s"   d u r S  fdd}|_ |S )Nc                     s    | i |S )Nr   )argskwargsr   r   r   inner'   s   z)use_name_of.<locals>.inner.<locals>.inner)r   )r   r   namer   r   r   "   s
   zuse_name_of.<locals>.inner)r   )signature_opr   r   r   r   use_name_of   s   r    )r   einx._src.tracer_srcr   r   r    r   r   r   r   <module>   s    