Ë
    çÞËjå  ã                   ó4  — d dl Z d dlZd dlmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZ erd dlmZmZmZmZmZ d dlmZ d d	lmZmZ 	 d dlZ	 d dlZ	 d dlZ G d„ de«      Zd„ Zy# e$ r	  ed
«      ‚w xY w# e$ r	  ed«      ‚w xY w# e$ r	  ed«      ‚w xY w)é    N)Ú
serializer)ÚIntegrationÚDidNotEnable©Úadd_global_event_processor)Úwalk_exception_chainÚiter_stacks)ÚTYPE_CHECKING)ÚOptionalÚDictÚAnyÚTupleÚList)Ú	FrameType)ÚEventÚHintzexecuting is not installedzpure_eval is not installedzasttokens is not installedc                   ó    — e Zd ZdZed„ «       Zy)ÚPureEvalIntegrationÚ	pure_evalc                  ó   — t         d„ «       } y )Nc                 ó€  — t        j                  «       j                  t        «      €| S |€| S |j	                  dd «      }|€| S | j	                  dd «      }|€| S |j	                  dd «      }|€| S t        t        |«      t        |«      «      D ]¨  \  }\  }}}|j	                  di «      j	                  dg «      D �cg c]  }|j	                  d«      r|‘Œ }	}t        t        |«      «      }
t        |	«      t        |
«      k7  rŒvt        |	|
«      D ]$  \  }}t        |j                  «      xs |d   |d<   Œ& Œª | S c c}w )NÚexc_infoÚ	exceptionÚvaluesÚ
stacktraceÚframesÚfunctionÚvars)Ú
sentry_sdkÚ
get_clientÚget_integrationr   ÚgetÚzipÚreversedr   Úlistr	   ÚlenÚpure_eval_frameÚtb_frame)ÚeventÚhintr   r   r   Ú	_exc_typeÚ
_exc_valueÚexc_tbÚframeÚsentry_framesÚtbsÚsentry_frameÚtbs                ú^/var/www/photos/backend/venv/lib/python3.12/site-packages/sentry_sdk/integrations/pure_eval.pyÚadd_executing_infoz:PureEvalIntegration.setup_once.<locals>.add_executing_info)   s]  € ô ×$Ñ$Ó&×6Ñ6Ô7JÓKÐSØ�àˆ|Ø�à—x‘x 
¨DÓ1ˆHàÐØ�àŸ	™	 +¨tÓ4ˆIàÐ Ø�à—]‘] 8¨TÓ2ˆFàˆ~Ø�ä>AÜ˜Ó Ô"6°xÓ"@ó?ò Ñ:�	Ñ:˜I z°6ð
 "+§¡¨|¸RÓ!@×!DÑ!DÀXÈrÓ!Rö!àØ—y‘y Ô,ò ð!�ð !ô
 œ; vÓ.Ó/�Ü�}Ó%¬¨S«Ò1Øä(+¨M¸3Ó(?ò Ñ$�L "ä'¨¯©Ó4ÒL¸ÀVÑ8Lð ! Ò(ñðð  ˆLùò!s   Â<D;r   )r4   s    r3   Ú
setup_oncezPureEvalIntegration.setup_once%   s   € ô 
$ñ'	ó 
$ñ'	ó    N)Ú__name__Ú
__module__Ú__qualname__Ú
identifierÚstaticmethodr5   © r6   r3   r   r   "   s   „ Ø€Jàñ+ó ñ+r6   r   c                 ó¦  ‡— t         j                  j                  | «      }|j                  si S |j	                  | j
                  «      }|si S t        |«      d   x}Š	 |j                  }t        |t        j                  t        j                  t        j                  f«      rnŒGt        j                  j                  | «      }|j!                  |«      }ˆfd„}|j#                  «       }|j%                  |d¬«       |d t&        j(                   D ��	ci c]  \  }}	|j+                  |d   «      |	“Œ }
}}	t'        j,                  |
d¬«      S c c}	}w )Nr   Tc                 óä   •‡— | \  }}d„ Š|D �cg c]$  } ‰|«      ‰j                   j                  k  sŒ#|‘Œ& }}|rt        ˆfd„|D «       «      S t        ˆfd„|D «       «      \  }}| | fS c c}w )Nc                 ó2   — | j                   | j                  fS ©N)ÚlinenoÚ
col_offset)Úns    r3   Ústartz1pure_eval_frame.<locals>.closeness.<locals>.startr   s   € à—H‘H˜aŸl™lÐ+Ð+r6   c              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr@   r<   ©Ú.0ÚnoderD   s     €r3   ú	<genexpr>z5pure_eval_frame.<locals>.closeness.<locals>.<genexpr>{   s   øè ø€ ÒA t‘u˜T—{ÑAùó   ƒc              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr@   r<   rF   s     €r3   rI   z5pure_eval_frame.<locals>.closeness.<locals>.<genexpr>€   s   øè ø€ Ò$C°T¡U¨4§[Ñ$CùrJ   )Ú
last_tokenÚendÚmaxÚmin)	Ú
expressionÚnodesÚ_valuerH   Únodes_before_stmtrA   rB   rD   Ústmts	          @€r3   Ú	closenessz"pure_eval_frame.<locals>.closenessj   s‡   ù€ ð #‰ˆˆvò	,ð
 #ö
Ø¡e¨D£k°D·O±O×4GÑ4GÓ&GŠDð
Ðð 
ñ äÓAÐ/@ÔAÓAÐAô
 "%Ó$C¸UÔ$CÓ!CÑˆF�JØ�G˜j˜[Ð)Ð)ùò
s
   �$A-´A-)ÚkeyÚreverse)Úis_vars)Ú	executingÚSourceÚ	for_frameÚtreeÚstatements_at_lineÚf_linenor%   ÚparentÚ
isinstanceÚastÚFunctionDefÚClassDefÚModuler   Ú	EvaluatorÚ
from_frameÚinteresting_expressions_groupedÚ	asttokensÚsortr   ÚMAX_DATABAG_BREADTHÚget_textÚ	serialize)r.   ÚsourceÚ
statementsÚscopeÚ	evaluatorÚexpressionsrU   ÚatokrQ   Úvaluer   rT   s              @r3   r'   r'   T   s5  ø€ ä×Ñ×'Ñ'¨Ó.€FØ�;Š;Øˆ	à×*Ñ*¨5¯>©>Ó:€JÙØˆ	ä˜
Ó# AÑ&Ð&€EˆDØ
ð —‘ˆÜ�eœcŸo™o¬s¯|©|¼S¿Z¹ZÐHÔIØð ô ×#Ñ#×.Ñ.¨uÓ5€IØ×;Ñ;¸EÓB€Kô*ð4 ×ÑÓ€Dà×Ñ˜¨DÐÔ1ð (Ð(H¬*×*HÑ*HÐI÷áˆE�5ð 	�‰�e˜A‘hÓ Ñ&ð€Dñ ô ×Ñ ¨dÔ3Ð3ùó	s   ÄE)ra   r   r   Úsentry_sdk.integrationsr   r   Úsentry_sdk.scoper   Úsentry_sdk.utilsr   r	   Útypingr
   r   r   r   r   r   Útypesr   Úsentry_sdk._typesr   r   rY   ÚImportErrorr   rh   r   r'   r<   r6   r3   ú<module>r{      s©   ðÛ 
ã Ý !ß =Ý 7ß >å  áß7Õ7Ýç-ð5Ûð5Ûð5ãô
/˜+ô /ód74øðC ò 5Ù
Ð3Ó
4Ð4ð5ûð
 ò 5Ù
Ð3Ó
4Ð4ð5ûð ò 5Ù
Ð3Ó
4Ð4ð5ús$   Á
A' ÁA8 ÁB	 Á'A5Á8BÂ	B