
    i                     L    d dl mZ d dlmZmZ  ed      Z G d dee         Zy)    )Callable)GenericTypeVarRc                   j    e Zd ZU dZeg ef   dz  ed<   edz  ed<   ddgZdeg ef   ddfdZdefdZ	y)Thunkz
    A simple lazy evaluation implementation that lets you delay
    execution of a function.  It properly handles releasing the
    function once it is forced.
    Nfrreturnc                      || _         d | _        y Nr	   r
   )selfr	   s     L/var/www/html/engine/venv/lib/python3.12/site-packages/torch/utils/_thunk.py__init__zThunk.__init__   s        c                     | j                   | j                  S | j                         | _        d | _         | j                  S r   r   )r   s    r   forcezThunk.force   s1    66>66Mvvr   )
__name__
__module____qualname____doc__r   r   __annotations__	__slots__r   r    r   r   r   r      sU     A4xKc
I(2q5/ d q r   r   N)collections.abcr   typingr   r   r   r   r   r   r   <module>r      s&    $ # CLGAJ r   