+
    JV-j‹  ã                  óâ   € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt  ! R R]4      t	 ! R R]P                  4      t ! R R	]P                  4      t ! R
 R]P                  4      t ! R R4      tR# )zð
ELF file parser.

This provides a class ``ELFFile`` that parses an ELF executable in a similar
interface to ``ZipFile``. Only the read interface is implemented.

ELF header: https://refspecs.linuxfoundation.org/elf/gabi4+/ch4.eheader.html
)ÚannotationsN)ÚIOc                  ó   € ] tR t^tRtR# )Ú
ELFInvalid© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    Úc/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/packaging/_elffile.pyr   r      s   † Ûr   r   c                  ó   € ] tR t^t^t^tRtR# )ÚEIClassr   N)r   r   r	   r
   ÚC32ÚC64r   r   r   r   r   r      ó   † Ø
€CØ
„Cr   r   c                  ó   € ] tR t^t^t^tRtR# )ÚEIDatar   N)r   r   r	   r
   ÚLsbÚMsbr   r   r   r   r   r      r   r   r   c                  ó*   € ] tR t^ t^t^t^(t^>t^·tRt	R# )ÚEMachiner   N)
r   r   r	   r
   ÚI386ÚS390ÚArmÚX8664ÚAArc64r   r   r   r   r   r       s   † Ø€DØ€DØ
€CØ€EØ„Fr   r   c                  óH   € ] tR t^(tRtR R ltR R lt]R R l4       tRt	R	# )
ÚELFFilez&
Representation of an ELF executable.
c               ó    € V ^8„  d   QhRRRR/# )é   Úfz	IO[bytes]ÚreturnÚNoner   )Úformats   "r   Ú__annotate__ÚELFFile.__annotate__-   s   € ÷ +Wñ +W˜)ð +W¨ñ +Wr   c           
     	ó¬  € Wn          V P                  R 4      p\        TR,          4      pTR8w  d   \	        RT: 24      hT^,          T n        T^,          T n         R
RRRRRRR/T P                  T P                  3,          w  qPn        T n	         T P                  T4      w
  pT n        ppT n        pT n        pT n        T n        R#   \        P                   d   p\	        R4      ThRp?ii ; i  \         d-   p\	        RT P                   RT P                   R24      ThRp?ii ; i  \        P                   d   p\	        R	4      ThRp?ii ; i)Ú16Bzunable to parse identificationN:Né   Ns   ELFzinvalid magic: zunrecognized capacity (z) or encoding (Ú)z/unable to parse machine and section information)é   r,   )z<HHIIIIIHHHz	<IIIIIIII©é    r,   r*   )r,   r!   )z>HHIIIIIHHHz	>IIIIIIIIr-   )r!   r,   )z<HHIQQQIHHHz	<IIQQQQQQ©r.   r!   é   )r!   r!   )z>HHIQQQIHHHz	>IIQQQQQQr/   )Ú_fÚ_readÚstructÚerrorr   ÚbytesÚcapacityÚencodingÚ_p_fmtÚ_p_idxÚKeyErrorÚmachineÚ_e_phoffÚflagsÚ_e_phentsizeÚ_e_phnum)Úselfr"   ÚidentÚeÚmagicÚe_fmtÚ_s   &&     r   Ú__init__ÚELFFile.__init__-   sl  € ØŒð	FØ—J‘J˜uÓ%ˆEô �e˜B•iÓ ˆØ�JÔÜ˜¨u©iÐ8Ó9Ð9à˜a�ˆŒØ˜a�ˆŒð	ð
 Ð?ØÐ?ØÐ?ØÐ?ð	/ð
 �}‰}˜dŸm™mÐ,õ/.Ñ+ˆE”; ¤ð	Wð —
‘
˜5Ó!ñØØ”ØØØ”ØØ”
ØØÔ!Ø–øôG �|‰|ô 	FÜÐ=Ó>ÀAÐEûð	Fûô& ô 	ÜØ)¨$¯-©-¨¸ÈÏÉÀÐVWÐXóàðûð	ûô$ �|‰|ô 	WÜÐNÓOÐUVÐVûð	WúsG   ˆC
 Á4C3 Â5D- Ã
C0ÃC+Ã+C0Ã3D*Ã>'D%Ä%D*Ä-EÅEÅEc               ó    € V ^8„  d   QhRRRR/# )r!   ÚfmtÚstrr#   ztuple[int, ...]r   )r%   s   "r   r&   r'   Z   s   € ÷ Fñ F˜ð F ñ Fr   c                	óˆ   € \         P                  ! WP                  P                  \         P                  ! V4      4      4      # )N)r3   Úunpackr1   ÚreadÚcalcsize)r@   rI   s   &&r   r2   ÚELFFile._readZ   s'   € Ü�}Š}˜S§'¡'§,¡,¬v¯ª¸sÓ/CÓ"DÓEÐEr   c               ó   € V ^8„  d   QhRR/# )r!   r#   z
str | Noner   )r%   s   "r   r&   r'   ^   s   € ÷ ñ ˜Zñ r   c                óz  € \        V P                  4       EF  pV P                  P                  V P                  V P
                  V,          ,           4        V P                  V P                  4      pY P                  ^ ,          ,          ^8w  d   K}  T P                  P                  Y P                  ^,          ,          4       \        P                  ! T P                  P                  Y P                  ^,          ,          4      4      P                  R4      u # 	  R#   \        P                   d     EK#  i ; i)z8
The path recorded in the ``PT_INTERP`` section header.
Ú N)Úranger?   r1   Úseekr<   r>   r2   r8   r3   r4   r9   ÚosÚfsdecoderM   Ústrip)r@   ÚindexÚdatas   &  r   ÚinterpreterÚELFFile.interpreter]   sÔ   € ô
 ˜4Ÿ=™=×)ˆEØ�G‰G�L‰L˜Ÿ™¨×):Ñ):¸UÕ)BÕBÔCðØ—z‘z $§+¡+Ó.�ð —K‘K •NÕ# qÔ(ÙØ�G‰G�L‰L˜Ÿk™k¨!�nÕ-Ô.Ü—;’;˜tŸw™wŸ|™|¨D·±¸QµÕ,@ÓAÓB×HÑHÈÓNÒNñ *ñ øô —<‘<ô Ûðús   ÁD Ä D:Ä9D:)
r>   r?   r<   r1   r8   r9   r6   r7   r=   r;   N)
r   r   r	   r
   Ú__doc__rF   r2   ÚpropertyrZ   r   r   r   r   r   r   (   s(   † ñõ+WõZFð ôó ôr   r   )r\   Ú
__future__r   ÚenumrU   r3   Útypingr   Ú
ValueErrorr   ÚIntEnumr   r   r   r   r   r   r   Ú<module>rc      sc   ðñõ #ã Û 	Û Ý ô	�ô 	ôˆd�l‰lô ô
ˆT�\‰\ô ô
ˆt�|‰|ô ÷Dó Dr   