+
    ˜°³j"(  ã                   ó¤   € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ] P                  R 4       t	RR/R lt
RRRR/R R	 lltR
 t ! R R4      tR tR# )é    N)ÚTracebackTypec               #   óR  "  €  R x € R #   \          Ed   p T P                  p. pTEeÊ   TP                  P                  P                  pTP                  P
                  P                  R4      pTR8X  Ed]   TEeX   \        P                  ! RRRR7      ;_uu_ 4       pTP                  T4       R R R 4       M  + '       g   i     M; iTP                  p\        RXP                  R4      pTP                  TP                  P                  R	7      p\        TP                  R
4      '       d<   TP                  TP                  P                  TP                  P                   R7      p\#        TTP
                  / TP$                  CR\&        P(                  /C4      p\+        R Y�P,                  TP.                  4      p	TP1                  T	4       MTP1                  T4       TP2                  pEKÎ  R p
\5        T4       F  pY¡n        Tp
K  	  T P7                  T
4      hR p ? ii ; i5i)NÚ__compile_source__z<string>ÚwFz.py)ÚmodeÚdeleteÚsuffixz__inspect_currentframe()Úeval)Úco_nameÚco_linetable)r   Úco_firstlinenoÚ__inspect_currentframe)Ú	ExceptionÚ__traceback__Útb_frameÚf_codeÚco_filenameÚ	f_globalsÚgetÚtempfileÚNamedTemporaryFileÚwriteÚcompileÚnameÚreplacer   Úhasattrr   r   r
   Úf_localsÚinspectÚcurrentframer   Útb_lastiÚ	tb_linenoÚappendÚtb_nextÚreversedÚwith_traceback)ÚexcÚtbÚstackÚfilenameÚsourceÚfÚframeÚcodeÚ
fake_frameÚfake_tbr#   s              ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/utils/_traceback.pyÚreport_compile_source_on_errorr1   0   sÆ  é € ðP*ÝøÜõ N*Ø×Ñˆð ˆØ‹nØ—{‘{×)Ñ)×5Ñ5ˆHØ—[‘[×*Ñ*×.Ñ.Ð/CÓDˆFà˜:Õ%¨&Ó*<ô2 ×0Ò0Ø U°5÷õ àØ—G‘G˜F”O÷÷ ÷ ð úð Ÿ™�ÜÐ9¸1¿6¹6À6ÓJ�Ø—|‘|¨E¯L©L×,@Ñ,@�|ÓA�ä˜5Ÿ<™<¨×8Ò8ð  Ÿ<™<Ø%*§\¡\×%>Ñ%>Ø',§|¡|×'BÑ'Bð (ó �Dô "ØØ—O‘OØV�u—~‘~ÐVÐ'?Ä×AUÑAUÑVó�
ô
 (¨¨j¿+¹+ÀrÇ|Á|ÓT�Ø—‘˜WÕ%à—‘˜RÔ à—‘‹Bð ˆÜ˜5–/ˆBØ ŒJØŠGñ "ð × Ñ  Ó)Ð)ûð]N*üs>   ‚H'„
 ˆH'ŠH$–BHÂB7Â.	HÂ7CÃEHÈH$È$H'Úbasec               ó  € VfA   \         P                  P                  \         P                  P                  \        4      4      p \         P                  P	                  W.4      pV \        V4      ^,           R #   \         d    T u # i ; i)ziShorten a source filepath, with the assumption that torch/ subdirectories don't need to be shown to user.N)ÚosÚpathÚdirnameÚ__file__Ú
commonpathÚlenÚ
ValueError)Úfnr2   Úprefixs   &$ r0   Úshorten_filenamer=   …   so   € à‚|Ü�w‰w�‰œrŸw™wŸ™¬xÓ8Ó9ˆð%Ü—‘×#Ñ# R JÓ/ˆð ”#�f“+ •/Ð#Ð$Ð$øô ô ØŠ	ðús   Á A; Á;BÂ
BÚlineFc                ó$   € V ^8„  d   QhR\         /# )é   Úreturn)Ústr)Úformats   "r0   Ú__annotate__rD   ’   s   € ÷ 	gñ 	g´Sñ 	gó    c               óž   € RpV'       d   V P                    R2pV \        V P                  VR7       RV P                   RV P                   2# )zƒ
Format a FrameSummary in a short way, without printing full absolute path or code.

The idea is the result fits on a single line.
Ú z  # )r2   Ú:z in )r>   r=   r)   Úlinenor   )r,   r2   r>   Ú
extra_lines   &$$ r0   Úformat_framerK   ’   sQ   € ð €JßØŸ
™
�| 4Ð(ˆ
Øˆ\Ô*¨5¯>©>ÀÔEÐFÀaÈÏÉÀ~ÐUYÐZ_×ZdÑZdÐYeÐfÐfrE   c                óN   € \        \        P                  ! V 4      R,          4      # )zJFormat a TracebackType in a short way, printing only the inner-most frame.éÿÿÿÿ)rK   Ú	tracebackÚ
extract_tb©r'   s   &r0   Úformat_traceback_shortrQ   ž   s   € äœ	×,Ò,¨RÓ0°Õ4Ó5Ð5rE   c                   ó’   a € ] tR t^£t o RR.tRV 3R lR lltV 3R lR ltR tR t]	R	R
RR
R^ /R l4       t
R t]	R 4       tRtV tR# )ÚCapturedTracebackr'   Úskipc                ó   <€ V ^8„  d   QhRR/# ©r@   rA   N© )rC   Ú__classdict__s   "€r0   rD   ÚCapturedTraceback.__annotate__¦   s   ø€ ÷ ñ  dñ rE   c                ó   € Wn         W n        R # ©N)r'   rT   )Úselfr'   rT   s   &&&r0   Ú__init__ÚCapturedTraceback.__init__¦   s   € ØŒØŽ	rE   c                ó   <€ V ^8„  d   QhRR/# rV   rW   )rC   rX   s   "€r0   rD   rY   ª   s   ø€ ÷ ñ ˜ñ rE   c                ó   € R V n         R # r[   rP   ©r\   s   &r0   ÚcleanupÚCapturedTraceback.cleanupª   s	   € ØˆŽrE   c                óæ   € ^ RI pV P                  f   \        P                  ! 4       # \	        VP
                  P                  P                  V P                  .4      ^ ,          V P                  4      # )r   N)	Útorch._C._profilerr'   rN   ÚStackSummaryÚ_extract_symbolized_tbÚ_CÚ	_profilerÚsymbolize_tracebacksrT   )r\   Útorchs   & r0   ÚsummaryÚCapturedTraceback.summary­   sS   € Û!à�7‰7Š?ä×)Ò)Ó+Ð+ä%Ø�H‰H×Ñ×3Ñ3°T·W±W°IÓ>¸qÕAÀ4Ç9Á9ó
ð 	
rE   c                ó&   € R RR RV P                   /3# )Nr'   rT   )rT   ra   s   &r0   Ú__getstate__ÚCapturedTraceback.__getstate__¸   s"   € àà�dØ˜Ÿ	™	ðð
ð 	
rE   ÚscriptFÚcppc                óê   € ^ RI pV '       g	   V'       d   V^ 8w  d   \        R4      h\        VP                  P                  P                  RWR7      V '       g	   V'       d   ^ 4      # V^,           4      # )a·  
Like traceback.extract_stack(), but faster (approximately 20x faster); it
is fast enough that you can unconditionally log stacks this way as part of
normal execution.  It returns a torch._C._profiler.CapturedTraceback
object that must be formatted specially with format_captured_tb.

By default, this only reports Python backtraces (like extract_stack).  You
can set the script/cpp kwargs to also turn on TorchScript/C++ trace
reporting.
Nzskip with script/cpp NYIT)Úpythonrq   rr   )re   ÚAssertionErrorrS   rh   ri   Úgather_traceback)rq   rr   rT   rk   s   $$$ r0   ÚextractÚCapturedTraceback.extractÁ   se   € ó 	"ç—SØ�qŒyÜ$Ð%?Ó@Ð@ä Ø�H‰H×Ñ×/Ñ/°tÀFÐ/ÓT÷ Ÿ3ˆAó	
ð 	
ð %)¨1¥Hó	
ð 	
rE   c                óJ   € \         P                  ! V P                  4       4      # )a<  
Formats a single torch._C._profiler.CapturedTraceback into a list of
strings equivalent to the output of traceback.format_list.  Note that if
pass it CapturedTraceback with C++ traces,  it is better not to use this
function and use the batch formatting API format_captured_tbs to amortize
the cost of symbolization
)rN   Úformat_listrl   ra   s   &r0   rC   ÚCapturedTraceback.formatÚ   s   € ô ×$Ò$ T§\¡\£^Ó4Ð4rE   c                óÂ  € ^ RI p. p. p\        V 4       FH  w  rEVP                  f   VP                  . 4       K&  VP                  R4       VP                  V4       KJ  	  VP                  P
                  P                  V Uu. uF  q@V,          P                  NK  	  up4       V F/  p\        P                  ! W,          P                  4       4      W$&   K1  	  V# u upi )zO
Bulk version of CapturedTraceback.format.  Returns a list of list of strings.
N)
re   Ú	enumerater'   r"   rh   ri   rj   rN   rz   rl   )Útbsrk   ÚrsÚdelayed_idxsÚir'   s   &     r0   Ú
format_allÚCapturedTraceback.format_allä   s±   € ó
 	"ð &(ˆØˆÜ˜s–^‰EˆAØ�u‰uŠ}Ø—	‘	˜"–à—	‘	˜$”Ø×#Ñ# AÖ&ñ $ð 	�‰×Ñ×/Ñ/ÁLÓ0QÁL¸q°Qµ·´ÁLÑ0QÔRÛˆAÜ×)Ò)¨#­&¯.©.Ó*:Ó;ˆB‹Eñ ð ˆ	ùò	 1Rs   ÂC)rT   r'   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	__slots__r]   rb   rl   ro   Ústaticmethodrw   rC   r‚   Ú__static_attributes__Ú__classdictcell__)rX   s   @r0   rS   rS   £   sn   ø‡ € Ø�v�€I÷ò ÷ð ò	
ò
ð ð
˜%ð 
 Uð 
°ó 
ó ð
ò05ð ñó örE   rS   c           	     óÐ   € \         P                  ! 4       p\        WR 4       F?  pVP                  \         P                  ! VR,          VR,          VR,          4      4       KA  	  V# )z|
Given a symbolized traceback from symbolize_tracebacks, return a StackSummary object of
pre-processed stack trace entries.
Nr)   r>   r   )rN   rf   r$   r"   ÚFrameSummary)r'   rT   r(   r+   s   &&  r0   rg   rg   ü   sQ   € ô
 ×"Ò"Ó$€EÜ�b˜�iÖ ˆØ�‰”Y×+Ò+¨A¨j­M¸1¸V½9ÀaÈÅiÓPÖQñ !à€LrE   )Ú
contextlibr   Úos.pathr4   r   rN   Útypesr   Úcontextmanagerr1   r=   rK   rQ   rS   rg   rW   rE   r0   Ú<module>r’      sn   ðã Û Û Û Û Ý ðR ×ÑñQ*ó ðQ*ðh
% ô 
%ð	g ð 	g¨5÷ 	gò6÷
Vñ VôrrE   