
    tniU                        d dl Z d dlmZ d dlmZ d dlZd dlmZmZ er&d dlm	Z	m
Z
mZmZmZmZ  ede
de	f                   ZnddZedddded
dfd            Zedddded
dfd            Z	 dddded
dfdZddZdS )    Nwraps)TYPE_CHECKING)event_from_exceptionreraise)AnyCallableOptionalTypeVarUnionoverloadF.)boundxreturnc                     | S N )r   s    _/var/www/html/gpu-tools/venv/lib/python3.11/site-packages/sentry_sdk/integrations/serverless.pyr   r      s        Tfflushc                     d S r   r   r   r   s     r   serverless_functionr          Dr   zCallable[[F], F]c                     d S r   r   r   s     r   r   r      r   r   zOptional[F]zUnion[F, Callable[[F], F]]c                 .    dfd}| |S  ||           S )Nr   r   r   c                 B     t                     d fd            }|S )Nargsr   kwargsr   c                  |   t          j                    5 }|                                 	  | i |rt          j                     cd d d            S # t          $ r t                       Y nw xY w	 rt          j                     n# rt          j                     w w xY wd d d            d S # 1 swxY w Y   d S r   )
sentry_sdkisolation_scopeclear_breadcrumbsr   	Exception_capture_and_reraise)r    r!   scoper   r   s      r   innerz3serverless_function.<locals>.wrapper.<locals>.inner!   sL   +-- 	+'')))+1d-f--  +"(***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+
 ! + + +(*****+* +"(***  +"(****+	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+sE   B1AB1A/,B	.A//B	3B1	B!!B11B58B5)r    r   r!   r   r   r   r   )r   r)   r   s   ` r   wrapperz$serverless_function.<locals>.wrapper    s>    	q
	+ 
	+ 
	+ 
	+ 
	+ 
	+ 

	+ r   )r   r   r   r   r   )r   r   r*   s    ` r   r   r      s;           	ywqzzr   c                      t          j                    } t          j                    }|                                r3t          | |j        ddd          \  }}t          j        ||           t          |   d S )N
serverlessF)typehandled)client_options	mechanism)hint)	sysexc_infor#   
get_client	is_activer   optionscapture_eventr   )r3   clienteventr1   s       r   r'   r'   6   s    |~~H"$$F 3*!>+>>
 
 
t
 	 T2222Xr   )r   r   r   r   )T)NT)r   N)r2   	functoolsr   typingr   r#   sentry_sdk.utilsr   r   r   r	   r
   r   r   r   r   boolr   r'   r   r   r   <module>r>      s   



                       : : : : : : : : HHHHHHHHHHHHHHHH8CH-...AA    
	 	3 	t 	s 	 	 	 
	 
	 	4 	t 	?Q 	 	 	 
	
 ,0 $(!   2     r   