
    4Քh0)                    ~   S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKJ	r	J
r
JrJr  S SKJr  S SKJr  S SKJr  S SKJrJr  S SKJr  S S	KJr  S S
KJrJrJr  S SKJr  S SK J!r!J"r"  S SK#J$r$J%r%  SSK&J'r'J(r(J)r)J*r*J+r+  / SQr,\RZ                  " \.5      r/Sr0 " S S\5      r1 " S S5      r2 " S S\'5      r3 " S S\)5      r4g)    )annotationsN)
CollectionIterableIteratorMapping)
NamedTuple)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)NAMEDistributionEnvironmentr	   c                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg)
EntryPoint'   strnamevaluegroup N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r'       \/var/www/auris/envauris/lib/python3.13/site-packages/pip/_internal/metadata/pkg_resources.pyr!   r!   '   s    
IJJr.   r!   c                  ^    \ rS rSrSrSS jrSS jrSS jrSS jrSS jr	SS jr
SS	 jrS
rg)InMemoryMetadata-   zIMetadataProvider that reads metadata files from a dictionary.

This also maps metadata decoding exceptions to our internal exception type.
c                    Xl         X l        g N	_metadata_wheel_name)selfmetadata
wheel_names      r/   __init__InMemoryMetadata.__init__3   s    !%r.   c                    XR                   ;   $ r4   )r6   r8   r$   s     r/   has_metadataInMemoryMetadata.has_metadata7   s    ~~%%r.   c           
          U R                   U   R                  5       $ ! [         a$  n[        SU R                   SU SU S35      eS nAff = f)NzError decoding metadata for z: z in z file)r6   decodeUnicodeDecodeErrorr   r7   )r8   r$   es      r/   get_metadataInMemoryMetadata.get_metadata:   s[    	>>$'..00! 	".t/?/?.@1#T$uU 	s    
AAAc                L    [         R                  " U R                  U5      5      $ r4   )r	   yield_linesrE   r>   s     r/   get_metadata_lines#InMemoryMetadata.get_metadata_linesC   s    (():):4)@AAr.   c                    gNFr'   r>   s     r/   metadata_isdirInMemoryMetadata.metadata_isdirF   s    r.   c                    / $ r4   r'   r>   s     r/   metadata_listdir!InMemoryMetadata.metadata_listdirI   s    	r.   c                    g r4   r'   )r8   script_name	namespaces      r/   
run_scriptInMemoryMetadata.run_scriptL   s    r.   r5   N)r9   zMapping[str, bytes]r:   r#   returnNone)r$   r#   rW   bool)r$   r#   rW   r#   )r$   r#   rW   zIterable[str])r$   r#   rW   z	list[str])rS   r#   rT   r#   rW   rX   )r(   r)   r*   r+   __doc__r;   r?   rE   rI   rM   rP   rU   r-   r'   r.   r/   r1   r1   -   s+    
&&Br.   r1   c                  T   \ rS rSrSS jr\SS j5       r\SS j5       r\        SS j5       r	\SS j5       r
\SS j5       r\SS j5       r\SS	 j5       r\SS
 j5       r\SS j5       r\SS j5       r\S S j5       rS!S jrS"S jrS#S jrS$S jrS%S jrS&S'S jjrS(S jrSrg))r   P   c                    Xl         S U l        g r4   )_dist_Distribution__extra_mappingr8   dists     r/   r;   Distribution.__init__Q   s    
 EIr.   c                    U R                   c6  U R                  R                   Vs0 s H  n[        U5      U_M     snU l         U R                   $ s  snf r4   )r_   r^   extrasr   )r8   extras     r/   _extra_mappingDistribution._extra_mappingW   sS    '=AZZ=N=N$=NE!%(%/=N$D  ###	$s   Ac                   UR                  [        R                  5      n[        R                  R	                  U5      u  p4[
        R                  " X25      nUR                  S5      (       a3  [
        R                  n[        R                  R                  U5      S   nO\UR                  S5      (       d   e[
        R                  n[        R                  R                  U5      S   R	                  S5      S   nU" X7US9nU " U5      $ )Nz	.egg-infor   z
.dist-info-)project_namer9   )rstriposseppathsplitr	   PathMetadataendswithr   splitextDistInfoDistribution)	cls	directorydist_dirbase_dirdist_dir_namer9   dist_cls	dist_namera   s	            r/   from_directoryDistribution.from_directory`   s    ##BFF+ #%''--"9 --hA [))$11H((7:I$$\2222$99H((7:@@EaHI8L4yr.   c                X    SU0n[         R                  " U[        XB5      US9nU " U5      $ )NMETADATAlocationr9   rj   )r	   rs   r1   )rt   metadata_contentsfilenamerj   metadata_dictra   s         r/   from_metadata_file_contents(Distribution.from_metadata_file_contentst   s=     )
 11%m>%

 4yr.   c           	     D    UR                  5        n[        X25      u  pEUR                  5        Vs0 s H=  nUR                  U S35      (       d  M  UR	                  SS5      S   [        X65      _M?     nnS S S 5        [        R                  " UR                  [        WUR                  5      US9n	U " U	5      $ s  snf ! , (       d  f       NO= f! [        R                   a  n[        UR                  U5      UeS nAf[         a  n[        U SU 35      eS nAff = f)N/r   z has an invalid wheel, r   )
as_zipfiler   namelist
startswithro   r   zipfile
BadZipFiler   r   r   r	   rs   r1   )
rt   wheelr$   zfinfo_dir_rn   r   rD   ra   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sW   C  CB<#B<6C8C <C
CC C D&C==D
DDc                .    U R                   R                  $ r4   )r^   r   r8   s    r/   r   Distribution.location       zz"""r.   c                    [        U R                  5      nU(       a  UnOU R                  (       a  U R                  nOg [        U5      $ r4   )r   raw_namer   r   )r8   egg_linkr   s      r/   installed_locationDistribution.installed_location   s6    .t}}=H]]}}Hh''r.   c                .    U R                   R                  $ r4   )r^   egg_infor   s    r/   info_locationDistribution.info_location   r   r.   c                v     [        U R                  R                  R                  5      $ ! [         a     gf = frL   )rY   r^   	_providerrn   AttributeErrorr   s    r/   installed_by_distutils#Distribution.installed_by_distutils   s4    
	

,,1122 		s   (+ 
88c                @    [        U R                  R                  5      $ r4   )r   r^   rj   r   s    r/   canonical_nameDistribution.canonical_name   s     !8!899r.   c                @    [        U R                  R                  5      $ r4   )parse_versionr^   versionr   s    r/   r   Distribution.version   s    TZZ//00r.   c                .    U R                   R                  $ r4   )r^   r   r   s    r/   raw_versionDistribution.raw_version   s    zz!!!r.   c                J    U R                   R                  [        U5      5      $ r4   )r^   r?   r#   )r8   rn   s     r/   is_fileDistribution.is_file   s    zz&&s4y11r.   c              #  V   #    U R                   R                  S5       S h  vN   g  N7f)Nscripts)r^   rP   r   s    r/   iter_distutils_script_names(Distribution.iter_distutils_script_names   s     ::..y999s   )')c                    [        U5      nU R                  R                  U5      (       d  [        U5      eU R                  R	                  U5      nUc  [        X5      eU$ r4   )r#   r^   r?   FileNotFoundErrorrE   r   )r8   rn   r$   contents       r/   	read_textDistribution.read_text   sT    4yzz&&t,,#D))**))$/?#D//r.   c              #  ,  #    U R                   R                  5       R                  5        Hd  u  pUR                  5        HK  u  p4[        U5      R	                  S5      u  p5n[        UR                  5       UR                  5       US9v   MM     Mf     g 7f)N=)r$   r%   r&   )r^   get_entry_mapitemsr#   	partitionr!   strip)r8   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                   [        U R                  [        R                  5      (       a  SnOSn U R	                  U5      n[        R                  R                  5       nUR                  U5        UR                  5       $ ! [
         aW    U R                  (       a  [        U R                  5      nO[        U R                  5      n[        R                  SU5        Sn Nf = f)zu
:raises NoneMetadataError: if the distribution reports `has_metadata()`
    True but `get_metadata()` returns None.
r~   zPKG-INFOzNo metadata found in %s )
isinstancer^   r	   rs   r   r   r   r   reprloggerwarningemailparser
FeedParserfeedclose)r8   metadata_namer9   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   AC! C!c                    U(       aM  [        U R                  5      [        [        [        U5      5      -  nU Vs/ s H  o0R                  U   PM     nnU R                  R                  U5      $ s  snf r4   )setrf   mapr   r^   requires)r8   rd   relevant_extrasre   s       r/   iter_dependenciesDistribution.iter_dependencies   sg    !$"5"56%v.: O ?NNoU))%0oFNzz""6** Os   A0c                6    U R                   R                  5       $ r4   )rf   keysr   s    r/   iter_provided_extras!Distribution.iter_provided_extras   s    ""''))r.   )__extra_mappingr^   N)ra   zpkg_resources.DistributionrW   rX   )rW   zMapping[NormalizedName, str])ru   r#   rW   r   )r   bytesr   r#   rj   r#   rW   r   )r   r   r$   r#   rW   r   )rW   z
str | None)rW   rY   )rW   r   )rW   r   )rW   r#   )rn   r   rW   rY   )rW   zIterator[str])rn   r   rW   r#   )rW   zIterable[BaseEntryPoint])rW   zemail.message.Message)r'   )rd   zCollection[str]rW   zIterable[Requirement])rW   zIterable[NormalizedName])r(   r)   r*   r+   r;   propertyrf   classmethodr{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r-   r'   r.   r/   r   r   P   s.   I $ $  &    	
 
    ( # # ( ( # #   : : 1 1 " "2:V#,+*r.   r   c                  d    \ rS rSrS
S jr\SS j5       r\SS j5       rSS jrSS jr	SS jr
Srg	)r      c                    Xl         g r4   _ws)r8   wss     r/   r;   Environment.__init__   s    r.   c                .    U " [         R                  5      $ r4   )r	   working_set)rt   s    r/   defaultEnvironment.default   s    =,,--r.   c                :    U " [         R                  " U5      5      $ r4   )r	   
WorkingSet)rt   pathss     r/   
from_pathsEnvironment.from_paths  s    =++E233r.   c              #  L   #    U R                    H  n[        U5      v   M     g 7fr4   )r   r   r`   s     r/   _iter_distributionsEnvironment._iter_distributions  s     HHDt$$ s   "$c                p    [        U5      nU R                  5        H  nUR                  U:X  d  M  Us  $    g)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   )r8   r$   r   ra   s       r/   _search_distribution Environment._search_distribution
  s9     +40//1D""n4 2 r.   c                    U R                  U5      nU(       a  U$  U R                  R                  U5        U R                  U5      $ ! [        R                   a     g f = fr4   )r   r   requirer	   DistributionNotFound)r8   r$   ra   s      r/   get_distributionEnvironment.get_distribution  s`    ((.K	 HHT" ((.. 11 		s   A AAr   N)r   zpkg_resources.WorkingSetrW   rX   )rW   r   )r   zlist[str] | NonerW   r   )rW   zIterator[BaseDistribution])r$   r#   rW   zBaseDistribution | None)r(   r)   r*   r+   r;   r   r   r   r   r   r   r-   r'   r.   r/   r   r      s>     . . 4 4%
/r.   r   )5
__future__r   email.messager   email.parserloggingrl   r   collections.abcr   r   r   r   typingr   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__	getLoggerr(   r   r   r!   r1   r   r   r'   r.   r/   <module>r     s    "    	  C C & : I 1 @ V V D A K  2			8	$    Fg*# g*T0// 0/r.   