Ë
    P/æj  ã                   óœ  — U d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	 d dl
mZmZ d dlmZmZ d„ Zdede	e   d	ed
efd„Zd
efd„Zd
efd„Zd
efd„Zdeded
efd„Zdededed
efd„Zdededede	e   d
ef
d„Zeee eedd¬«       eedd¬«       eeddd¬«       eed dd!¬«       eed"d#d¬«       eed$d#d!¬«      d%œ	Zeeef   ed&<   y)'é    N)Úpartial)ÚCallableÚDictÚList)ÚFAKE_FILENAME_PREFIXÚis_optional)Ú	ParsedDefÚSourceContextc                 ó`   — t         j                  j                  t        | j                  |«      S ©N)ÚosÚpathÚjoinr   Ú__name__)ÚclsÚmethod_names     ú]/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/jit/_dataclass_impls.pyÚ_get_fake_filenamer      s   € Ü�7‰7�<‰<Ô,¨c¯l©l¸KÓHÐHó    ÚnameÚ
body_linesÚ	signatureÚreturnc           	      ó   — dj                  d„ |D «       «      }d|› |› d|› �}	 t        j                  |«      }t        | |«      }t        |t        ||dd¬	«      ||d¬
«      S # t        $ r"}t	        d|› d| j
                  › d�«      |‚d }~ww xY w)Nú
c              3   ó&   K  — | ]	  }d |› �–— Œ y­w)ú  N© )Ú.0Úbs     r   ú	<genexpr>zcompose_fn.<locals>.<genexpr>   s   è ø€ Ò2 !�r˜!˜”XÑ2ùs   ‚zdef z:
z3TorchScript failed to synthesize dataclass method 'z' for class 'zJ'. Please file a bug report at <https://github.com/pytorch/pytorch/issues>r   )ÚsourceÚfilenameÚfile_linenoÚleading_whitespace_len)Úctxr"   r#   r$   )	r   ÚastÚparseÚSyntaxErrorÚRuntimeErrorr   r   r	   r
   )	r   r   r   r   ÚbodyÚdeclÚpy_astÚeÚfake_filenames	            r   Ú
compose_fnr0      sÁ   € Ø�9‰9Ñ2 zÔ2Ó2€DØ�$�˜	�{ # d VÐ,€DðÜ—‘˜4“ˆô ' s¨DÓ1€MäØÜØ -¸QÐWXô
ð ØØôð øô ò ô ØAÀ$ÀÀ}ÐUX×UaÑUaÐTbð cVð Vó
ð ð	ûðús   ¤A" Á"	BÁ+BÂBc                 óL  — t        d„ t        j                  | «      D «       «      rt        d«      ‚t	        j
                  | j                  «      }g }g }|j                  j                  «       D ]y  \  }}|j                  }t        |t        j                  «      r=|j                  |«       |j                  |j                  |j                  ¬«      «       Œi|j                  |«       Œ{ |j                  |¬«      }t        j                  | «      D �cg c]8  }|j                  r*|j                   |vrd|j                   › d|j                   › �‘Œ: }}t#        | d«      r&|j                  dd	j%                  |«      z   d
z   «       t'        | d|xs dgt)        |«      ¬«      S c c}w )Nc              3   óT   K  — | ]   }|j                   t        j                  u–— Œ" y ­wr   )Údefault_factoryÚdataclassesÚMISSING)r   Úfields     r   r!   z%synthesize__init__.<locals>.<genexpr>0   s)   è ø€ ò àð 	×Ñ¤[×%8Ñ%8Ô8ñùs   ‚&(zIDefault factory initializers are not supported in TorchScript dataclasses)Ú
annotation)Ú
parameterszself.z = Ú__post_init__zself.__post_init__(ú, ú)Ú__init__Úpass©r   )Úanyr4   ÚfieldsÚNotImplementedErrorÚinspectr   r<   r8   Úitemsr7   Ú
isinstanceÚInitVarÚappendÚreplaceÚtypeÚinitr   Úhasattrr   r0   Ústr)	r   r   Ú	init_varsÚparamsr   ÚparamÚannr6   r+   s	            r   Úsynthesize__init__rP   -   s  € ô ñ ä ×'Ñ'¨Ó,ôô ô "ØWó
ð 	
ô ×!Ñ! #§,¡,Ó/€Ið €IØ€FØ ×+Ñ+×1Ñ1Ó3ò !‰ˆˆeØ×Ñˆä�cœ;×.Ñ.Ô/à×Ñ˜TÔ"Ø�M‰M˜%Ÿ-™-°3·8±8˜-Ó<Õ=à�M‰M˜%Õ ð!ð ×!Ñ!¨VÐ!Ó4€Iô
 !×'Ñ'¨Ó,öð Ø�:Š:˜%Ÿ*™*¨IÑ5ð �—
‘
ˆ|˜3˜uŸz™z˜lÒ+ð€Dð ô ˆs�OÔ$Ø�‰Ð)¨D¯I©I°iÓ,@Ñ@À3ÑFÔGä�c˜: tÒ'7°¨xÄ3ÀyÃ>ÔRÐRùòs   Ä=F!c                 óþ   — t        | dd| j                  › d�dj                  t        j                  | «      D �cg c])  }|j
                  r|j                  › d|j                  › �‘Œ+ c}«      z   dz   gd¬«      S c c}w )	NÚ__repr__zreturn 'ú(r:   z=self.z)'z(self) -> strr>   )r0   r   r   r4   r@   Úreprr   )r   r6   s     r   Úsynthesize__repr__rU   Z   sŒ   € ÜØØà�s—|‘|�n AÐ&Ø�i‰iô "-×!3Ñ!3°CÓ!8öàØ—z’zð —z‘z�l &¨¯©¨Ò5òóñð ñð
	
ð "ôð ùòs   ¹.A:c                 ó"   — t        | ddgd¬«      S )NÚ__hash__zUraise NotImplementedError('__hash__ is not supported for dataclasses in TorchScript')z(self) -> intr>   )r0   )r   s    r   Úsynthesize__hash__rX   m   s%   € ÜØØð dð	
ð
 "ô	ð 	r   Úconversec           	      ó,   — t        | |ddd|› d�g¬«      S )NTFúif val1 z val2: return False)Úallow_eqÚraise_on_noneÚinner©Úsynthesize_comparison)r   r   rY   s      r   Úsynthesize_equalityra   {   s+   € Ü ØØØØØ˜(˜Ð#6Ð7Ð8ôð r   Úopr\   c           
      ó6   — t        | ||dd|› d�d|› d�g¬«      S )NTr[   z val2: return Truez
elif val2 z val1: return False)r]   r^   r_   )r   r   rb   r\   s       r   Úsynthesize_inequalityrd   …   s:   € Ü ØØØØà�r�dÐ,Ð-Ø˜˜Ð/Ð0ð
ô	ð 	r   r]   r^   c           	      ó¾  — g }t        j                  | «      D ]Ž  }|j                  sŒ|j                  d|j                  › �d|j                  › �g«       |j                  t        |j                  «      s|n+dg|D �cg c]  }d|z   ‘Œ	 c}¢d‘|rd| j                  › d�nd‘«       Œ� |j                  d	|› �«       t        | ||d
| j                  › d�¬«      S c c}w )Nzval1 = self.zval2 = other.z)if val1 is not None and val2 is not None:r   z&elif (val1 is None) != (val2 is None):z"  raise TypeError('Cannot compare z with None')z  return Falsezreturn z(self, other: z	) -> boolr>   )
r4   r@   ÚcompareÚextendr   r   rH   r   rF   r0   )r   r   r\   r]   r^   r+   r6   Úlines           r   r`   r`   ’   s  € ð €DÜ×#Ñ# CÓ(ò 
ˆØ�}Š}Øà�‰à˜uŸz™z˜lÐ+Ø §
¡
˜|Ð,ðô	
ð 	�‰ä˜uŸz™zÔ*ñ ð <ðð +0Ö0 $�$˜“+Ò0ðð 9ð	ñ !ð 5°S·\±\°NÀ,ÑOà%ðõ	
ð
ð0 	‡K�K�'˜(˜Ð$Ô%ÜØˆT�4 ^°C·L±L°>ÀÐ#Kôð ùò 1s   Á=CÚ__eq__z!=)r   rY   Ú__ne__z==Ú__lt__ú<F)r   rb   r\   Ú__le__TÚ__gt__ú>Ú__ge__)	r<   rR   rW   ri   rj   rk   rm   rn   rp   ÚDATACLASS_MAGIC_METHODS)r'   r4   rB   r   Ú	functoolsr   Útypingr   r   r   Útorch._jit_internalr   r   Útorch._sourcesr	   r
   r   rK   r0   rP   rU   rX   ra   Úboolrd   r`   rq   Ú__annotations__r   r   r   ú<module>rx      sZ  ðô Û Û Û 	Ý ß 'Ñ 'ç Aß 3òIð˜#ð ¨4°©9ð Àð Èó ð6)S˜yó )SðZ˜yó ð&
˜yó 
ð 3ð °#ð ¸)ó ð
 Sð 
¨cð 
¸Tð 
Àió 
ðØðØ"ðØ37ðØ@DÀSÁ	ðàóðF #Ø"Ø"ÙÐ)°À4ÔHÙÐ)°À4ÔHÙÐ+°(¸sÈUÔSÙÐ+°(¸sÈTÔRÙÐ+°(¸sÈUÔSÙÐ+°(¸sÈTÔRñ
0Ð ˜˜c 8˜mÑ,ô 
r   