§
    xÅj�$  ã                   ó  — 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mZ d dl	m
Z
mZmZ d dlmZmZ d dlmZ d dlmZmZmZ d d	lmZmZmZ d d
lmZ d dlmZmZmZm Z m!Z!m"Z"m#Z# er3d dlm$Z$m%Z%m&Z&m'Z'm(Z( d dl)m*Z*m+Z+m,Z, d dlm-Z-  e'de%de$f         ¬¦  «        Z.	 d dl/m0Z0m1Z1m2Z2m3Z3m4Z4 d dl5m6Z6m7Z7m8Z8 n# e9$ r  ed¦  «        ‚w xY w	 d dl/m:Z; d dl/m<Z= n# e9$ r dZ;dZ=Y nw xY we6e7e8fZ> G d„ de¦  «        Z?d%d„Z@d&d„ZAd'd!„ZBd(d#„ZCd%d$„ZDdS ))é    N)Údatetime)ÚTYPE_CHECKING)Úcontinue_traceÚget_baggageÚget_traceparent)ÚOPÚSPANDATAÚ
SPANSTATUS)ÚDidNotEnableÚIntegration)Úshould_send_default_pii)ÚSegmentNameSourceÚ
SpanStatusÚStreamedSpan)ÚBAGGAGE_HEADER_NAMEÚSENTRY_TRACE_HEADER_NAMEÚTransactionSource)Úhas_span_streaming_enabled)ÚSENSITIVE_DATA_SUBSTITUTEÚ _register_control_flow_exceptionÚcapture_internal_exceptionsÚensure_integration_enabledÚevent_from_exceptionÚhas_data_collection_enabledÚreraise)ÚAnyÚCallableÚOptionalÚTypeVarÚUnion)ÚEventÚEventProcessorÚHint)ÚExcInfoÚF.)Úbound)ÚHueyÚPeriodicTaskÚResultÚResultGroupÚTask)ÚCancelExecutionÚ	RetryTaskÚTaskLockedExceptionzHuey is not installed)Úchord)Úgroupc                   ó4   — e Zd ZdZde› �Zedd„¦   «         ZdS )ÚHueyIntegrationÚhueyzauto.queue.ÚreturnNc                  ó€   — t          ¦   «          t          ¦   «          t          t          t          t
          g¦  «         d S ©N)Úpatch_enqueueÚpatch_executer   r,   r-   r.   © ó    úMC:\Projects\Historical\venv\Lib\site-packages\sentry_sdk/integrations/huey.pyÚ
setup_oncezHueyIntegration.setup_once8   s;   € å‰ŒˆÝ‰ŒˆÝ(Ý�iÕ)<Ð=ñ	
ô 	
ð 	
ð 	
ð 	
r:   ©r4   N)Ú__name__Ú
__module__Ú__qualname__Ú
identifierÚoriginÚstaticmethodr<   r9   r:   r;   r2   r2   4   sD   € € € € € Ø€JØ'˜:Ð'Ð'€Fàð
ð 
ð 
ñ „\ð
ð 
ð 
r:   r2   r4   c                  ó†   ‡— t           j        Št          t          ‰¦  «        	 	 	 	 	 	 dˆfd„¦   «         } | t           _        d S )	NÚselfr'   Úitemr   r4   ú$Optional[Union[Result, ResultGroup]]c           	      ó  •— t           �t          |t           ¦  «        rd}n&t          �t          |t          ¦  «        rd}n|j        }t	          t          j        ¦   «         j        ¦  «        }t          ft          d„ t          t           fD ¦   «         ¦  «        z   }|rjt
          j
                             ¦   «         €Lt          ||¦  «        s0t          t          ¦   «         t          t          ¦   «         i|j        d<    ‰| |¦  «        S |rKt
          j
                             |dt$          j        dt(          j        t,          j        | j        i¬¦  «        }nPt          j        t$          j        |t(          j        ¬¦  «        }|                     t,          j        | j        ¦  «         |5  t          ||¦  «        s0t          t          ¦   «         t          t          ¦   «         i|j        d<    ‰| |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )	Nz
Huey ChordzHuey Task Groupc              3   ó   K  — | ]}|®|V — Œ	d S r6   r9   )Ú.0Úts     r;   ú	<genexpr>z9patch_enqueue.<locals>._sentry_enqueue.<locals>.<genexpr>S   s+   è è € ð 3
ð 3
Ø°°ˆA°°°°ð3
ð 3
r:   Úsentry_headersú	sentry.opúsentry.origin)ÚnameÚ
attributes)ÚoprP   rB   )Ú	HueyChordÚ
isinstanceÚ	HueyGrouprP   r   Ú
sentry_sdkÚ
get_clientÚoptionsr(   ÚtupleÚtracesÚget_current_spanr   r   r   r   ÚkwargsÚ
start_spanr   ÚQUEUE_SUBMIT_HUEYr2   rB   r	   ÚMESSAGING_DESTINATION_NAMEÚset_data)rE   rF   Ú	span_nameÚis_span_streaming_enabledÚno_headers_typesÚspan_ctxÚold_enqueues         €r;   Ú_sentry_enqueuez&patch_enqueue.<locals>._sentry_enqueueD   sI  ø€ õ Ð ¥Z°µiÑ%@Ô%@Ð Ø$ˆIˆIÝÐ"¥z°$½	Ñ'BÔ'BÐ"Ø)ˆIˆIàœ	ˆIå$>ÝÔ!Ñ#Ô#Ô+ñ%
ô %
Ð!õ )˜?­Uð 3
ð 3
Ý!¥9Ð-ð3
ñ 3
ô 3
ñ .
ô .
ñ 
Ðð %ð 	+­Ô):×)KÒ)KÑ)MÔ)MÐ)UÝ˜dÐ$4Ñ5Ô5ð å'­©¬Ý,­oÑ.?Ô.?ð1�”Ð,Ñ-ð �;˜t TÑ*Ô*Ð*à$ð 	NÝ!Ô(×3Ò3Øà¥Ô!5Ø#¥_Ô%;ÝÔ7¸¼ðð 4ñ ô ˆHˆHõ "Ô,ÝÔ'ØÝ&Ô-ðñ ô ˆHð
 ×Ò�hÔAÀ4Ä9ÑMÔMÐMàð 	+ð 	+Ý˜dÐ$4Ñ5Ô5ð õ (­©¬Ý,­oÑ.?Ô.?ð1�”Ð,Ñ-ð �;˜t TÑ*Ô*ð	+ð 	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   Æ%AG>Ç>HÈH)rE   r'   rF   r   r4   rG   )r'   Úenqueuer   r2   )rf   re   s    @r;   r7   r7   A   sc   ø€ Ý”,€Kå¥°Ñ=Ô=ð8+Øð8+Ø!ð8+à	/ð8+ð 8+ð 8+ð 8+ð 8+ñ >Ô=ð8+ðt #…D„L€L€Lr:   Útaskr   r"   c                 ó   ‡ — dˆ fd„}|S )	NÚeventr!   Úhintr#   r4   úOptional[Event]c                 ó$  •— t          ¦   «         5  |                      di ¦  «        }‰j        |d<   ‰j        ‰j        k    |d<   |                      di ¦  «        }‰j        ‰j        pd‰j        z
  dœ}t          j        ¦   «         j        }t          |¦  «        r#|d         d         r‰j
        |d	<   ‰j        |d
<   n7t          ¦   «         r‰j
        |d	<   ‰j        |d
<   nt          |d	<   t          |d
<   ||d<   d d d ¦  «         n# 1 swxY w Y   | S )NÚtagsÚhuey_task_idÚhuey_task_retryÚextrar   )rh   ÚretryÚdata_collectionÚqueuesÚargsr\   zhuey-job)r   Ú
setdefaultÚidÚdefault_retriesÚretriesrP   rV   rW   rX   r   ru   r\   r   r   )rj   rk   rn   rq   Úhuey_jobÚclient_optionsrh   s         €r;   Úevent_processorz._make_event_processor.<locals>.event_processorƒ   sq  ø€ Ý(Ñ*Ô*ð 	)ð 	)Ø×#Ò# F¨BÑ/Ô/ˆDØ#'¤7ˆD�Ñ Ø&*Ô&:¸T¼\Ò&IˆDÐ"Ñ#Ø×$Ò$ W¨bÑ1Ô1ˆEð œ	ØÔ.Ð3°!°t´|ÑCðð ˆHõ
 (Ô2Ñ4Ô4Ô<ˆNÝ*¨>Ñ:Ô:ð 	?Ø!Ð"3Ô4°XÔ>ð 5Ø'+¤y�H˜VÑ$Ø)-¬�H˜XÑ&øÝ(Ñ*Ô*ð ?Ø#'¤9�˜Ñ Ø%)¤[�˜Ñ"Ð"å#<�˜Ñ Ý%>�˜Ñ"à (ˆE�*Ñð/	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð2 ˆs   �C)DÄD	ÄD	)rj   r!   rk   r#   r4   rl   r9   )rh   r|   s   ` r;   Ú_make_event_processorr}   ‚   s)   ø€ ðð ð ð ð ð ð8 Ðr:   Úexc_infor$   c                 óª  — t          j        ¦   «         }t          t          j        ¦   «         j        ¦  «        }| d         t
          v r_|s%|j                             t          j	        ¦  «         n6t          |j        ¦  «        t          u rt          j        |j        j        _        d S |s%|j                             t          j        ¦  «         n6t          |j        ¦  «        t          u rt          j        |j        j        _        t'          | t          j        ¦   «         j        t(          j        ddœ¬¦  «        \  }}|                     ||¬¦  «         d S )Nr   F)ÚtypeÚhandled)r{   Ú	mechanism)rk   )rV   Úget_current_scoper   rW   rX   ÚHUEY_CONTROL_FLOW_EXCEPTIONSÚtransactionÚ
set_statusr
   ÚABORTEDr€   Ú_spanr   r   ÚOKÚ_segmentÚstatusÚINTERNAL_ERRORÚERRORr   r2   rA   Úcapture_event)r~   Úscoperb   rj   rk   s        r;   Ú_capture_exceptionr�   ¢   s2  € ÝÔ(Ñ*Ô*€EÝ :ÝÔÑÔÔ'ñ!ô !Ðð �„{Õ2Ð2Ð2Ø(ð 	8ØÔ×(Ò(­Ô);Ñ<Ô<Ð<Ð<Ý�%”+ÑÔ¥,Ð.Ð.Ý*4¬-ˆEŒKÔ Ô'Øˆà$ð 7ØÔ×$Ò$¥ZÔ%>Ñ?Ô?Ð?Ð?Ý	ˆeŒkÑ	Ô	�lÐ	*Ð	*Ý&0Ô&6ˆŒÔÔ#å&ØÝ!Ô,Ñ.Ô.Ô6Ý*Ô5À%ÐHÐHðñ ô �K€Eˆ4ð
 
×Ò˜ DÐÑ)Ô)Ð)Ð)Ð)r:   Úfuncc                 óJ   ‡ — t          t          ‰ ¦  «        dˆ fd„¦   «         }|S )Nru   r   r\   r4   c                  ó’   •— 	  ‰| i |¤Ž}n;# t           $ r. t          j        ¦   «         }t          |¦  «         t	          |Ž  Y nw xY w|S r6   )Ú	ExceptionÚsysr~   r�   r   )ru   r\   Úresultr~   r‘   s       €r;   Ú_sentry_executez+_wrap_task_execute.<locals>._sentry_execute½   sj   ø€ ð	Ø�T˜4Ð* 6Ð*Ð*ˆFˆFøÝð 	ð 	ð 	Ý”|‘~”~ˆHÝ˜xÑ(Ô(Ð(Ý�XÐÐÐÐð	øøøð
 ˆs   ƒ Œ5AÁA)ru   r   r\   r   r4   r   )r   r2   )r‘   r—   s   ` r;   Ú_wrap_task_executer˜   ¼   s>   ø€ Ý¥°Ñ6Ô6ðð ð ð ð ñ 7Ô6ðð Ðr:   c                  óŒ   ‡— t           j        Št          t          ‰¦  «        	 d
	 	 	 	 	 	 	 dˆfd	„¦   «         } | t           _        d S )NrE   r'   rh   r+   Ú	timestampúOptional[datetime]r4   r   c                 óÊ  •— t          j        ¦   «         5 }t          ¦   «         5  d|_        |                     ¦   «          |                     t          |¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   |j                             dd ¦  «        }t          t          j
        ¦   «         j        ¦  «        }|rš|pi }t           j                             |¦  «         t           j                             |j        dt           j        dt$          j        dt(          j        t,          j        | j        d|j        ddd|j        pd	|j        z
  id ¬
¦  «        }n‘t          |pi |j        t           j        t6          j        t$          j        ¬¦  «        }|                     t:          j        ¦  «         t          j        |¦  «        }|                      t,          j        | j        ¦  «         tC          |dd¦  «        s tE          |j#        ¦  «        |_#        d|_$        |5   ‰	| ||¦  «        cd d d ¦  «         cd d d ¦  «         S # 1 swxY w Y   	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr3   rM   rN   rO   zsentry.segment.name.sourcezmessaging.message.idzmessaging.message.systemzmessaging.message.retry.countr   )rP   rQ   Úparent_span)rP   rR   ÚsourcerB   Ú_sentry_is_patchedFT)%rV   Úisolation_scoper   Ú_nameÚclear_breadcrumbsÚadd_event_processorr}   r\   Úpopr   rW   rX   rZ   r   r]   rP   r   ÚQUEUE_TASK_HUEYr2   rB   r   ÚTASKr	   r_   rw   rx   ry   r   r†   r
   r‰   Ústart_transactionr`   Úgetattrr˜   ÚexecuterŸ   )
rE   rh   rš   r�   rM   rb   Úheadersrd   r…   Úold_executes
            €r;   r—   z&patch_execute.<locals>._sentry_executeÎ   s7  ø€ õ Ô'Ñ)Ô)ð -	:¨UÝ,Ñ.Ô.ð Gð GØ$�”Ø×'Ò'Ñ)Ô)Ð)Ø×)Ò)Õ*?ÀÑ*EÔ*EÑFÔFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð
 "œ[Ÿ_š_Ð-=¸tÑDÔDˆNÝ(BÝÔ%Ñ'Ô'Ô/ñ)ô )Ð%ð )ð RØ(Ð.¨B�ÝÔ!×0Ò0°Ñ9Ô9Ð9Ý%Ô,×7Ò7Øœà#¥RÔ%7Ø'­Ô)?Ø4Õ6GÔ6LÝ Ô;¸T¼YØ.°´Ø2°FØ7¸$Ô:NÐ:SÐRSØœ,ñ:'ð	 ð !%ð 8ñ ô ��õ -Ø"Ð( bØœÝÔ)Ý,Ô1Ý*Ô1ðñ ô �ð ×&Ò&¥z¤}Ñ5Ô5Ð5Ý%Ô7¸ÑDÔD�Ø×!Ò!¥(Ô"EÀtÄyÑQÔQÐQå˜4Ð!5°uÑ=Ô=ð /Ý1°$´,Ñ?Ô?�”Ø*.�Ô'àð :ð :Ø"�{ 4¨¨yÑ9Ô9ð:ð :ð :ð :ñ :ô :ð :ðY-	:ð -	:ð -	:ð -	:ñ -	:ô -	:ð -	:ð -	:ðX:ð :ð :ð :øøøð :ð :ð :ð :ð :ðY-	:ð -	:ð -	:ñ -	:ô -	:ð -	:ð -	:ð -	:ð -	:ð -	:ð -	:ð -	:øøøð -	:ð -	:ð -	:ð -	:ð -	:ð -	:sY   •I¤>A.Á"IÁ.A2	Á2IÁ5A2	Á6F#IÈH?È&IÈ?I	ÉIÉI	ÉIÉIÉIr6   )rE   r'   rh   r+   rš   r›   r4   r   )r'   Ú_executer   r2   )r—   r«   s    @r;   r8   r8   Ë   sn   ø€ Ý”-€Kå¥°Ñ=Ô=àFJð0:Øð0:Ø"ð0:Ø/Cð0:à	ð0:ð 0:ð 0:ð 0:ð 0:ñ >Ô=ð0:ðd $…D„M€M€Mr:   r=   )rh   r   r4   r"   )r~   r$   r4   N)r‘   r%   r4   r%   )Er•   r   Útypingr   rV   Úsentry_sdk.apir   r   r   Úsentry_sdk.constsr   r	   r
   Úsentry_sdk.integrationsr   r   Úsentry_sdk.scoper   Úsentry_sdk.tracesr   r   r   Úsentry_sdk.tracingr   r   r   Úsentry_sdk.tracing_utilsr   Úsentry_sdk.utilsr   r   r   r   r   r   r   r   r   r   r   r    Úsentry_sdk._typesr!   r"   r#   r$   r%   Úhuey.apir'   r(   r)   r*   r+   Úhuey.exceptionsr,   r-   r.   ÚImportErrorr/   rS   r0   rU   r„   r2   r7   r}   r�   r˜   r8   r9   r:   r;   ú<module>rº      s_  ðØ 
€
€
€
Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ Iðð ð ð ð ð ð ð ð ð ð
 @Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð /Ø>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>à=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ø(Ð(Ð(Ð(Ð(Ð(àˆ�˜8 C¨ HÔ-Ð.Ñ.Ô.€Að0ØFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFØOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOøØð 0ð 0ð 0Ø
ˆ,Ð.Ñ
/Ô
/Ð/ð0øøøðØ+Ð+Ð+Ð+Ð+Ð+Ø+Ð+Ð+Ð+Ð+Ð+Ð+øØð ð ð Ø€IØ€I€I€Iðøøøð
 !0°Ð<OÐPÐ ð

ð 

ð 

ð 

ð 

�kñ 

ô 

ð 

ð>#ð >#ð >#ð >#ðBð ð ð ð@*ð *ð *ð *ð4ð ð ð ð6$ð 6$ð 6$ð 6$ð 6$ð 6$s   ÂB2 Â2CÃC Ã	C ÃC 