+
    yj'                    <  a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
HtHt ^RIHtHtHtHt ]'       d   ^ RIt^ RIHtHtHt RtRtRt0 R,mt]P6                  R	 R
 l4       tR R ltR R ltR R lt]P@                  ! R 4      t!R]"R&    ! R R]4      t#R R lt$R R lt%R R lt&R R lt']PP                  R R l4       t)]PP                  ! ^R 7      R! R" l4       t*R# R$ lt+]#! ^^4      R%]#! ^^4      R&]#! ^^4      R'/t,R(]"R)&   R* R+ lt-R# )-    )annotationsN)TYPE_CHECKING
NamedTuple)EIClassEIDataELFFileEMachine)	GeneratorIteratorSequencel      ~ i   i   c                    V ^8  d   QhRRRR/# )   pathstrreturnz%Generator[ELFFile | None, None, None] )formats   "H/var/www/html/2rare/lib/python3.14/site-packages/packaging/_manylinux.py__annotate__r   "   s      S B     c              #     "    \        V R 4      ;_uu_ 4       p\        V4      x  RRR4       R#   + '       g   i     R# ; i  \        \        \        3 d	    Rx   R# i ; i5i)rbN)openr   OSError	TypeError
ValueError)r   fs   & r   
_parse_elfr   !   sK     $!* Y
+ 
sE   A%A 0A A%A	A A%A A"A%!A""A%c                    V ^8  d   QhRRRR/# r   
executabler   r   boolr   )r   s   "r   r   r   *   s     
 
 
 
r   c                   \        V 4      ;_uu_ 4       pVR J;'       d    VP                  \        P                  8H  ;'       d    VP                  \
        P                  8H  ;'       dj    VP                  \        P                  8H  ;'       dE    VP                  \        ,          \        8H  ;'       d    VP                  \        ,          \        8H   uuR R R 4       #   + '       g   i     R # ; iN)r   capacityr   C32encodingr   Lsbmachiner	   ArmflagsEF_ARM_ABIMASKEF_ARM_ABI_VER5EF_ARM_ABI_FLOAT_HARDr!   r   s   & r   _is_linux_armhfr0   *   s     
J		1TM I I

gkk)I I

fjj(I I 		X\\)I I .(O;	I I
 //3HH	
 
 			s#   0C$C*$C%C5CC0	c                    V ^8  d   QhRRRR/# r    r   )r   s   "r   r   r   9   s     
 
s 
t 
r   c                N   \        V 4      ;_uu_ 4       pVR J;'       dh    VP                  \        P                  8H  ;'       dC    VP                  \
        P                  8H  ;'       d    VP                  \        P                  8H   uuR R R 4       #   + '       g   i     R # ; ir$   )
r   r%   r   r&   r'   r   r(   r)   r	   I386r/   s   & r   _is_linux_i686r4   9   sz    	J		1TM + +

gkk)+ +

fjj(+ + 		X]]*		
 
 			s   0B$B*BB$	c               $    V ^8  d   QhRRRRRR/# )r   r!   r   archsSequence[str]r   r"   r   )r   s   "r   r   r   C   s!     9 9S 9 94 9r   c                    R V9   d   \        V 4      # RV9   d   \        V 4      # \        ;QJ d    R V 4       F  '       g   K   R# 	  R# ! R V 4       4      # )armv7li686c              3  2   "   T F  q\         9   x  K  	  R # 5ir$   )_ALLOWED_ARCHS).0archs   & r   	<genexpr>'_have_compatible_abi.<locals>.<genexpr>H   s     8%$~%%s   TF)r0   r4   any)r!   r6   s   &&r   _have_compatible_abirB   C   sP    5z**j))38%83383838%888r   c                     ^2# )2   r   r   r   r   <lambda>rE   P   s    Br   zdict[int, int]_LAST_GLIBC_MINORc                  ,    ] tR t^St$ R]R&   R]R&   RtR# )_GLibCVersionintmajorminorr   N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r   r   r   rH   rH   S   s    JJr   rH   c                   V ^8  d   QhRR/# r   r   z
str | Noner   )r   s   "r   r   r   X   s      z r   c                      \         P                  ! R4      p V f   Q hV P                  4       w  rV#   \        \        \
        \        3 d     R# i ; i)zB
Primary implementation of glibc_version_string using os.confstr.
CS_GNU_LIBC_VERSIONN)osconfstrrsplitAssertionErrorAttributeErrorr   r   )version_string_versions      r   _glibc_version_string_confstrr^   X   sV    %'ZZ0E%F)))#**,
 N NGZ@ s   .2 AAc                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r   k   s     ) )j )r   c                 8    ^ RI p  T P                  R4      p TP                  pT P                  Tn        T! 4       p\        T\        4      '       d   TP                  R4      pT#   \         d     R# i ; i  \         d     R# i ; i  \
         d     R# i ; i)z?
Fallback implementation of glibc_version_string using ctypes.
Nascii)ctypesImportErrorCDLLr   gnu_get_libc_versionrZ   c_char_prestype
isinstancebytesdecode)rb   process_namespacere   version_strs       r   _glibc_version_string_ctypesrm   k   s    ""KK-0EE $*?? 35K+u%%!((1G  $  
   s3   A& A8 B
 &A54A58BB
BBc                   V ^8  d   QhRR/# rS   r   )r   s   "r   r   r      s     M Mz Mr   c                 :    \        4       ;'       g    \        4       # )z9Returns glibc version string, or None if not using glibc.)r^   rm   r   r   r   _glibc_version_stringrp      s    (*LL.J.LLr   c                    V ^8  d   QhRRRR/# )r   rl   r   r   rH   r   )r   s   "r   r   r      s     G Gc Gm Gr   c                   \         P                  ! RV 4      pV'       g-   \        P                  ! RV  2\        ^R7       \        RR4      # \        \        VP                  R4      4      \        VP                  R4      4      4      # )a  Parse glibc version.

We use a regexp instead of str.split because we want to discard any
random junk that might come after the minor version -- this might happen
in patched/forked versions of glibc (e.g. Linaro's version of glibc
uses version strings like "2.20-2014.11"). See gh-3588.
z$(?P<major>[0-9]+)\.(?P<minor>[0-9]+)z;Expected glibc version with 2 components major.minor, got: )
stacklevelrJ   rK   )rematchwarningswarnRuntimeWarningrH   rI   group)rl   ms   & r   _parse_glibc_versionr|      sl     	8+FAI+W	

 R$$QWWW-.AGGG4D0EFFr   c                   V ^8  d   QhRR/# )r   r   rH   r   )r   s   "r   r   r      s     - -M -r   c                 L    \        4       p V f   \        RR4      # \        V 4      # )Nrt   )rp   rH   r|   )rl   s    r   _get_glibc_versionr      s(    ')KR$$,,r   )maxsizec                   V ^8  d   QhRR/# )r   r   ztypes.ModuleType | Noner   )r   s   "r   r   r      s     	 	6 	r   c                 >     \        R4      #   \         d     R# i ; i)zReturn the ``_manylinux`` C extension module, or None if unavailable.

The result is cached for the lifetime of the process, since the presence
of the module does not change while running.

_manylinuxN)
__import__rc   r   r   r   _get_manylinux_moduler      s$    ,'' s   
 c               $    V ^8  d   QhRRRRRR/# )r   r>   r   r]   rH   r   r"   r   )r   s   "r   r   r      s!       }  r   c                "   \        4       pW!8  d   R # \        4       pVf   R# \        VR4      '       d3   VP                  V^ ,          V^,          V 4      pVe   \	        V4      # R# V\        ^^4      8X  d(   \        VR4      '       d   \	        VP                  4      # V\        ^^4      8X  d(   \        VR4      '       d   \	        VP                  4      # V\        ^^4      8X  d(   \        VR4      '       d   \	        VP                  4      # R# )FTmanylinux_compatiblemanylinux1_compatiblemanylinux2010_compatiblemanylinux2014_compatible)	r   r   hasattrr   r"   rH   r   r   r   )r>   r]   	sys_glibcmanylinux_modresults   &&   r   _is_compatibler      s    "$I)+M}45533GAJ
DQ<-1%%'.+ + M7788-2&&71, , M::;;-2&&71, , M::;;r   manylinux2014manylinux2010
manylinux1zdict[_GLibCVersion, str]_LEGACY_MANYLINUX_MAPc                    V ^8  d   QhRRRR/# )r   r6   r7   r   zIterator[str]r   )r   s   "r   r   r      s     +5 +5 +5= +5r   c              #    "   \        \        P                  V 4      '       g   R# \        ^^4      p\	        V 4      RR0,          '       d   \        ^^4      p\        \        4       !  pV.p\        VP                  ^,
          ^R4       F*  p\        V,          pVP                  \        WE4      4       K,  	  V  F  pV F  pVP                  VP                  8X  d   VP                  pMRp\        VP                  VR4       Fk  p\        VP                  V4      p	\        Wi4      '       g   K,  RP                  ! . V	OVN5!  x  \        P                  V	4      ;p
'       g   Kb  V
 RV 2x  Km  	  K  	  K  	  R# 5i)a  Generate manylinux tags compatible to the current platform.

:param archs: Sequence of compatible architectures.
    The first one shall be the closest to the actual architecture and be the part of
    platform tag after the ``linux_`` prefix, e.g. ``x86_64``.
    The ``linux_`` prefix is assumed as a prerequisite for the current platform to
    be manylinux-compatible.

:returns: An iterator of compatible manylinux tags.
Nx86_64r:   zmanylinux_{}_{}_{}r\   rt   )rB   sysr!   rH   setr   rangerJ   rF   appendrK   r   r   r   get)r6   too_old_glibc2current_glibcglibc_max_listglibc_majorglibc_minorr>   	glibc_max	min_minorglibc_version
legacy_tags   &          r   platform_tagsr      sK      66"1b)N
5zXv&&&&q!,!#5#78M#_N ]0014a<'4mKEF = 'I."6"66*00	 	$Y__iD -ioo{ K!$66.55K}KdKK &;%>%>}%MMzMM!+AdV44  E ( s   D'E;.1E;$E;>   ppc64s390xr   aarch64ppc64leriscv64loongarch64).__conditional_annotations__
__future__r   collections
contextlib	functoolsrV   ru   r   rw   typingr   r   _elffiler   r   r   r	   typescollections.abcr
   r   r   r,   r-   r.   r<   contextmanagerr   r0   r4   rB   defaultdictrF   rP   rH   r^   rm   rp   r|   	lru_cacher   r   r   r   r   )r   s   @r   <module>r      s*   " "    	 	 
  , 8 8=="   

9 %0$;$;J$G > GJ 
&)XM
G& - - Q	  	< !R/!R/!Q3 / +5r   