U
    zh                     @   sz   d dl Z d dlmZmZ d dlZd dlmZmZmZ d dl	m
Z
 ddddgZe jd	d Zd
d Zeeeedf f ZdS )    N)TupleUnion)*get_single_level_autograd_function_allowed*set_single_level_autograd_function_allowedunwrap_if_dead)
exposed_inr   	argnums_t%enable_single_level_autograd_functionunwrap_dead_wrappersc                  c   s(   zt } t d d V  W 5 t |  X d S )NT)r   r   )Z
prev_state r   H/var/www/html/venv/lib/python3.8/site-packages/torch/_functorch/utils.pyr	      s
    
c                 C   s   t dd | D }|S )Nc                 s   s&   | ]}t |tjrt|n|V  qd S )N)
isinstancetorchZTensorr   ).0argr   r   r   	<genexpr>!   s    z'unwrap_dead_wrappers.<locals>.<genexpr>)tuple)argsresultr   r   r   r
      s    .)
contextlibtypingr   r   r   Ztorch._C._functorchr   r   r   Ztorch.utils._exposed_inr   __all__contextmanagerr	   r
   intr   r   r   r   r   <module>   s   
	