+
    <j.)                     t   ^ RI t^ RIt^ RIt^ RIt^ RIt^ RIHtHtH	t	H
t
HtHtHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ RIHt ^ RIHtHtHt ^ R	IHt ^ R
IH t H!t! ^ RI"H#t#H$t$ ^RI%H&t&H't'H(t(H)t)H*t* . ROt+]PX                  ! ]-4      t.Rt/ ! R R]4      t0 ! R R4      t1 ! R R]&4      t2 ! R R](4      t3R# )    N)
CollectionIterableIteratorListMapping
NamedTupleOptional)pkg_resources)Requirement)NormalizedNamecanonicalize_nameVersion)parse)InvalidWheelNoneMetadataErrorUnsupportedWheel)egg_link_path_from_location)display_pathnormalize_path)parse_wheelread_wheel_metadata_file)BaseDistributionBaseEntryPointBaseEnvironmentInfoPathWheelDistributionEnvironmentr
   c                   ,   a  ] tR t^*t o V 3R ltRtV tR# )
EntryPointc                >   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   # )   namevaluegroupstr)format__classdict__s   "Y/opt/headortail/venv/lib/python3.14/site-packages/pip/_internal/metadata/pkg_resources.py__annotate__EntryPoint.__annotate__*   s%     
I J  J      N)__name__
__module____qualname____firstlineno____annotate_func____static_attributes____classdictcell__r*   s   @r+   r!   r!   *   s      r.   r!   c                      a  ] tR t^0t o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
V 3R lR ltRtV tR# )InMemoryMetadatazIMetadataProvider that reads metadata files from a dictionary.

This also maps metadata decoding exceptions to our internal exception type.
c                @   < V ^8  d   QhRS[ S[S[3,          RS[RR/# )r#   metadata
wheel_namereturnN)r   r(   bytes)r)   r*   s   "r+   r,   InMemoryMetadata.__annotate__6   s+     & &e!4 &# &$ &r.   c                    Wn         W n        R # N	_metadata_wheel_name)selfr;   r<   s   &&&r+   __init__InMemoryMetadata.__init__6   s    !%r.   c                &   < V ^8  d   QhRS[ RS[/# r#   r$   r=   r(   bool)r)   r*   s   "r+   r,   r?   :   s     & & & &r.   c                    WP                   9   # rA   )rC   rE   r$   s   &&r+   has_metadataInMemoryMetadata.has_metadata:   s    ~~%%r.   c                &   < V ^8  d   QhRS[ RS[ /# rI   r'   )r)   r*   s   "r+   r,   r?   =   s        r.   c           
          V P                   V,          P                  4       #   \         d%   p\        R T P                   RT RT R24      hRp?ii ; i)zError decoding metadata for z: z in z fileN)rC   decodeUnicodeDecodeErrorr   rD   )rE   r$   es   && r+   get_metadataInMemoryMetadata.get_metadata=   s[    	>>$'..00! 	".t/?/?.@1#T$uU 	s    # AAAc                6   < V ^8  d   QhRS[ RS[S[ ,          /# rI   )r(   r   )r)   r*   s   "r+   r,   r?   F   s#     B Bs Bx} Br.   c                L    \         P                  ! V P                  V4      4      # rA   )r
   yield_linesrU   rM   s   &&r+   get_metadata_lines#InMemoryMetadata.get_metadata_linesF   s    (():):4)@AAr.   c                &   < V ^8  d   QhRS[ RS[/# rI   rJ   )r)   r*   s   "r+   r,   r?   I   s      3 4 r.   c                    R # Fr/   rM   s   &&r+   metadata_isdirInMemoryMetadata.metadata_isdirI   s    r.   c                6   < V ^8  d   QhRS[ RS[S[ ,          /# rI   )r(   r   )r)   r*   s   "r+   r,   r?   L   s      S T#Y r.   c                    . # rA   r/   rM   s   &&r+   metadata_listdir!InMemoryMetadata.metadata_listdirL   s    	r.   c                *   < V ^8  d   QhRS[ RS[ RR/# )r#   script_name	namespacer=   Nr'   )r)   r*   s   "r+   r,   r?   O   s"      c c d r.   c                    R # rA   r/   )rE   rf   rg   s   &&&r+   
run_scriptInMemoryMetadata.run_scriptO   s    r.   rB   N)r0   r1   r2   r3   __doc__rF   rN   rU   rZ   r_   rc   ri   r5   r6   r7   s   @r+   r9   r9   0   sR     
& && & B B   r.   r9   c                     a  ] tR t^St o V 3R lR lt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t	]V 3R	 lR
 l4       t
]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR  ltV 3R! lR" ltR)V 3R# lR$ lltV 3R% lR& ltR'tV tR(# )*r   c                8   < V ^8  d   QhRS[ P                  RR/# )r#   distr=   N)r
   r   )r)   r*   s   "r+   r,   Distribution.__annotate__T   s%     L L]77 LD Lr.   c                     Wn         R V n        R # rA   )_dist_Distribution__extra_mappingrE   rn   s   &&r+   rF   Distribution.__init__T   s    
 HLr.   c                6   < V ^8  d   QhRS[ S[S[3,          /# r#   r=   )r   r   r(   )r)   r*   s   "r+   r,   ro   [   s     $ $(; < $r.   c                    V P                   f6   V P                  P                   Uu/ uF  p\        V4      VbK  	  upV n         V P                   # u upi rA   )rr   rq   extrasr   )rE   extras   & r+   _extra_mappingDistribution._extra_mappingZ   sS    '=AZZ=N=N$=NE!%(%/=N$D  ###	$s   Ac                &   < V ^8  d   QhRS[ RS[/# )r#   	directoryr=   )r(   r   )r)   r*   s   "r+   r,   ro   d   s      s /? r.   c                8   VP                  \        P                  4      p\        P                  P	                  V4      w  r4\
        P                  ! W24      pVP                  R 4      '       d8   \
        P                  p\        P                  P                  V4      ^ ,          pMeVP                  R4      '       g   Q h\
        P                  p\        P                  P                  V4      ^ ,          P	                  R4      ^ ,          pV! W7VR7      pV ! V4      # )z	.egg-infoz
.dist-info-)project_namer;   )rstriposseppathsplitr
   PathMetadataendswithr   splitextDistInfoDistribution)	clsr}   dist_dirbase_dirdist_dir_namer;   dist_cls	dist_namern   s	   &&       r+   from_directoryDistribution.from_directoryc   s    ##BFF+ #%''--"9 --hA [))$11H((7:I$$\2222$99H((7:@@EaHI8L4yr.   c                2   < V ^8  d   QhRS[ RS[RS[RS[/# )r#   metadata_contentsfilenamer   r=   )r>   r(   r   )r)   r*   s   "r+   r,   ro   x   s3         	
 
r.   c                ^    R V/p\         P                  ! V\        WB4      VR7      pV ! V4      # )METADATAlocationr;   r   )r
   r   r9   )r   r   r   r   metadata_dictrn   s   &&&&  r+   from_metadata_file_contents(Distribution.from_metadata_file_contentsw   s=     )
 11%m>%

 4yr.   c                ,   < V ^8  d   QhRS[ RS[RS[/# )r#   wheelr$   r=   )r   r(   r   )r)   r*   s   "r+   r,   ro      s#      u C 4D r.   c           
     j    VP                  4       ;_uu_ 4       p\        W24      w  rEVP                  4        Uu/ uFB  pVP                  V R 24      '       g   K  VP	                  R ^4      R,          \        W64      bKD  	  ppRRR4       \        P                  ! TP                  \        XTP                  4      TR7      p	T ! T	4      # u upi   + '       g   i     LT; i  \        P                   d   p\        TP                  T4      ThRp?i\         d   p\        T RT 24      hRp?ii ; i)/Nz has an invalid wheel, r   )
as_zipfiler   namelist
startswithr   r   zipfile
BadZipFiler   r   r   r
   r   r9   )
r   r   r$   zfinfo_dir_r   r   rT   rn   s
   &&&       r+   
from_wheelDistribution.from_wheel   s   	H!!##r)"3 !#! -(1~6 ODJJsA&r*,DR,NN -  ! $ 11^^%mU^^D

 4y! $# !! 	<u~~t4!; 	H"dV+B1##FGG	Hs]   C#  CC'CCC# CC 	C#  C# #D28DD2D2D--D2c                0   < V ^8  d   QhRS[ S[,          /# rv   r	   r(   )r)   r*   s   "r+   r,   ro      s     # #(3- #r.   c                .    V P                   P                  # rA   )rq   r   rE   s   &r+   r   Distribution.location       zz"""r.   c                0   < V ^8  d   QhRS[ S[,          /# rv   r   )r)   r*   s   "r+   r,   ro      s     ( (HSM (r.   c                    \        V P                  4      pV'       d   TpM!V P                  '       d   V P                  pMR # \        V4      # rA   )r   raw_namer   r   )rE   egg_linkr   s   &  r+   installed_locationDistribution.installed_location   s8    .t}}=H]]]}}Hh''r.   c                0   < V ^8  d   QhRS[ S[,          /# rv   r   )r)   r*   s   "r+   r,   ro      s     # #x} #r.   c                .    V P                   P                  # rA   )rq   egg_infor   s   &r+   info_locationDistribution.info_location   r   r.   c                    < V ^8  d   QhRS[ /# rv   )rK   )r)   r*   s   "r+   r,   ro      s       r.   c                z     \        V P                  P                  P                  4      #   \         d     R # i ; ir^   )rK   rq   	_providerr   AttributeErrorr   s   &r+   installed_by_distutils#Distribution.installed_by_distutils   s4    
	

,,1122 		s   (+ ::c                    < V ^8  d   QhRS[ /# rv   )r   )r)   r*   s   "r+   r,   ro      s     : : :r.   c                @    \        V P                  P                  4      # rA   )r   rq   r   r   s   &r+   canonical_nameDistribution.canonical_name   s     !8!899r.   c                    < V ^8  d   QhRS[ /# rv   r   )r)   r*   s   "r+   r,   ro      s     1 1 1r.   c                @    \        V P                  P                  4      # rA   )parse_versionrq   versionr   s   &r+   r   Distribution.version   s    TZZ//00r.   c                    < V ^8  d   QhRS[ /# rv   r'   )r)   r*   s   "r+   r,   ro      s     " "S "r.   c                .    V P                   P                  # rA   )rq   r   r   s   &r+   raw_versionDistribution.raw_version   s    zz!!!r.   c                &   < V ^8  d   QhRS[ RS[/# r#   r   r=   )r   rK   )r)   r*   s   "r+   r,   ro      s     2 2H 2 2r.   c                J    V P                   P                  \        V4      4      # rA   )rq   rN   r(   )rE   r   s   &&r+   is_fileDistribution.is_file   s    zz&&s4y11r.   c                0   < V ^8  d   QhRS[ S[,          /# rv   )r   r(   )r)   r*   s   "r+   r,   ro      s     : :Xc] :r.   c              #  X   "   V P                   P                  R 4       Rj  xL
  R#  L5i)scriptsN)rq   rc   r   s   &r+   iter_distutils_script_names(Distribution.iter_distutils_script_names   s     ::..y999s   *(*c                &   < V ^8  d   QhRS[ RS[/# r   )r   r(   )r)   r*   s   "r+   r,   ro      s      h 3 r.   c                    \        V4      pV P                  P                  V4      '       g   \        V4      hV P                  P	                  V4      pVf   \        W4      hV# rA   )r(   rq   rN   FileNotFoundErrorrU   r   )rE   r   r$   contents   &&  r+   	read_textDistribution.read_text   sT    4yzz&&t,,#D))**))$/?#D//r.   c                0   < V ^8  d   QhRS[ S[,          /# rv   )r   r   )r)   r*   s   "r+   r,   ro      s     V V8N#; Vr.   c              #  4  "   V P                   P                  4       P                  4        Fg  w  rVP                  4        FN  w  r4\        V4      P	                  R 4      w  r5p\        VP                  4       VP                  4       VR7      x  KP  	  Ki  	  R# 5i)=)r$   r%   r&   N)rq   get_entry_mapitemsr(   	partitionr!   strip)rE   r&   entriesr$   entry_pointr   r%   s   &      r+   iter_entry_pointsDistribution.iter_entry_points   so     "jj668>>@NE%,]]_!!$[!1!;!;C!@ djjl%++-uUU &5 As   BBc                H   < V ^8  d   QhRS[ P                  P                  /# rv   )emailmessageMessage)r)   r*   s   "r+   r,   ro      s     # # 5 5 #r.   c                   \        V P                  \        P                  4      '       d   RpMRp V P	                  V4      p\        P                  P                  4       pVP                  V4       VP                  4       #   \
         dY    T P                  '       d   \        T P                  4      pM\        T P                  4      p\        P                  RT4       Rp Li ; i)zu
:raises NoneMetadataError: if the distribution reports `has_metadata()`
    True but `get_metadata()` returns None.
r   zPKG-INFOzNo metadata found in %s )
isinstancerq   r
   r   r   r   r   r   reprloggerwarningr   parser
FeedParserfeedclose)rE   metadata_namer;   displaying_pathfeed_parsers   &    r+   _metadata_implDistribution._metadata_impl   s    
 djj-"D"DEE&M&M	~~m4H ll--/"  "" ! 	}}}".t}}"="&t}}"5NN4oFH	s   B C$AC$#C$c                F   < V ^8  d   QhRS[ S[,          RS[S[,          /# )r#   rx   r=   )r   r(   r   r   )r)   r*   s   "r+   r,   ro      s$     + +
3 ++AV +r.   c                    V'       dU   \        V P                  4      \        \        \        V4      4      ,          pV Uu. uF  q0P                  V,          NK  	  ppV P                  P                  V4      # u upi rA   )setrz   mapr   rq   requires)rE   rx   relevant_extrasry   s   &&  r+   iter_dependenciesDistribution.iter_dependencies   sj    !$"5"56%v.: O ?NNoU))%00oFNzz""6** Os    A8c                0   < V ^8  d   QhRS[ S[,          /# rv   )r   r   )r)   r*   s   "r+   r,   ro      s     * *h~&> *r.   c                6    V P                   P                  4       # rA   )rz   keysr   s   &r+   iter_provided_extras!Distribution.iter_provided_extras   s    ""''))r.   )__extra_mappingrq   N)r/   )r0   r1   r2   r3   rF   propertyrz   classmethodr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r5   r6   r7   s   @r+   r   r   S   s5    L L $ $  &     ( # # ( ( # #   : : 1 1 " "2 2: : V V# #,+ +* *r.   c                      a  ] tR t^t o V 3R lR lt]V 3R lR l4       t]V 3R lR l4       tV 3R lR ltV 3R	 lR
 lt	V 3R lR lt
RtV tR# )r   c                8   < V ^8  d   QhRS[ P                  RR/# )r#   wsr=   Nr
   
WorkingSet)r)   r*   s   "r+   r,   Environment.__annotate__   s!      =33  r.   c                    Wn         R # rA   _ws)rE   r  s   &&r+   rF   Environment.__init__   s    r.   c                    < V ^8  d   QhRS[ /# rv   )r   )r)   r*   s   "r+   r,   r    s     . . .r.   c                .    V ! \         P                  4      # rA   )r
   working_set)r   s   &r+   defaultEnvironment.default  s    =,,--r.   c                F   < V ^8  d   QhRS[ S[S[,          ,          RS[/# )r#   pathsr=   )r	   r   r(   r   )r)   r*   s   "r+   r,   r    s$     4 4xS	2 4 4r.   c                :    V ! \         P                  ! V4      4      # rA   r  )r   r  s   &&r+   
from_pathsEnvironment.from_paths  s    =++E233r.   c                0   < V ^8  d   QhRS[ S[,          /# rv   )r   r   )r)   r*   s   "r+   r,   r  	  s     % %X.>%? %r.   c              #  N   "   V P                    F  p\        V4      x  K  	  R # 5irA   )r  r   rs   s   & r+   _iter_distributionsEnvironment._iter_distributions	  s     HHDt$$ s   #%c                6   < V ^8  d   QhRS[ RS[S[,          /# rI   r(   r	   r   )r)   r*   s   "r+   r,   r    s!     
 
 
:J1K 
r.   c                t    \        V4      pV P                  4        F  pVP                  V8X  g   K  Vu # 	  R# )zFind a distribution matching the ``name`` in the environment.

This searches from *all* distributions available in the environment, to
match the behavior of ``pkg_resources.get_distribution()``.
N)r   iter_all_distributionsr   )rE   r$   r   rn   s   &&  r+   _search_distribution Environment._search_distribution  s9     +40//1D""n4 2 r.   c                6   < V ^8  d   QhRS[ RS[S[,          /# rI   r&  )r)   r*   s   "r+   r,   r    s!     / /S /X6F-G /r.   c                    V P                  V4      pV'       d   V#  V P                  P                  V4       T P                  T4      #   \        P                   d     R # i ; irA   )r)  r  requirer
   DistributionNotFound)rE   r$   rn   s   && r+   get_distributionEnvironment.get_distribution  s`    ((.K	 HHT" ((.. 11 		s   A	 	A"!A"r  N)r0   r1   r2   r3   rF   r  r  r  r#  r)  r/  r5   r6   r7   s   @r+   r   r      sU       . . 4 4% %
 
/ /r.   )NAMEr   r   )4email.messager   email.parserloggingr   r   typingr   r   r   r   r   r   r	   pip._vendorr
   "pip._vendor.packaging.requirementsr   pip._vendor.packaging.utilsr   r   pip._vendor.packaging.versionr   r   r   pip._internal.exceptionsr   r   r   pip._internal.utils.egg_linkr   pip._internal.utils.miscr   r   pip._internal.utils.wheelr   r   baser   r   r   r   r   __all__	getLoggerr0   r   r1  r!   r9   r   r   r/   r.   r+   <module>rA     s       	    & : I 1 @ V V D A K  2			8	$    Fg*# g*T0// 0/r.   