Ë
    Êmxi›  ã                  ó|  — d Z ddlmZ ddlZddlZddlZddlmZ ddl	m
Z
 ddlmZmZmZmZ g d¢Z ed«      Zd	Z ej&                  d
«      Z G d„ de«      Z	 d	 	 	 	 	 	 	 	 	 dd„Z	 d	 	 	 	 	 	 	 	 	 dd„Zdd„Zdd„Ze
 G d„ d«      «       Z G d„ d«      Ze
 G d„ d«      «       Zeeeef   Ze
 G d„ d«      «       Zy)zPEP 610é    )ÚannotationsN)ÚIterable)Ú	dataclass)ÚAnyÚClassVarÚTypeVarÚUnion)Ú	DirectUrlÚDirectUrlValidationErrorÚDirInfoÚArchiveInfoÚVcsInfoÚTzdirect_url.jsonz.^\$\{[A-Za-z0-9-_]+\}(:\$\{[A-Za-z0-9-_]+\})?$c                  ó   — e Zd Zy)r   N)Ú__name__Ú
__module__Ú__qualname__© ó    úV/home/htdocs/ttos/venv/lib/python3.12/site-packages/pip/_internal/models/direct_url.pyr   r      s   „ Ør   r   c                ó\   — || vr|S | |   }t        ||«      st        |›d|› d|› d�«      ‚|S )z3Get value from dictionary and verify expected type.z has unexpected type for z (expected ú))Ú
isinstancer   ©ÚdÚexpected_typeÚkeyÚdefaultÚvalues        r   Ú_getr       sN   € ð �!�|ØˆØˆc‰F€EÜ�e˜]Ô+Ü&ØˆiÐ0°°°[ÀÀÈqÐQó
ð 	
ð €Lr   c                óB   — t        | |||«      }|€t        |› d�«      ‚|S )Nz must have a value)r    r   r   s        r   Ú_get_requiredr"   ,   s1   € ô ��M 3¨Ó0€EØ€}Ü&¨#¨Ð.@Ð'AÓBÐBØ€Lr   c                ó”   — | D �cg c]  }|€Œ|‘Œ	 } }| st        d«      ‚t        | «      dkD  rt        d«      ‚| d   €J ‚| d   S c c}w )Nz/missing one of archive_info, dir_info, vcs_infoé   z1more than one of archive_info, dir_info, vcs_infor   )r   Úlen)ÚinfosÚinfos     r   Ú_exactly_one_ofr(   5   sj   € Ø#Ö8�d tÑ'7ŠTÐ8€EÐ8ÙÜ&Ø=ó
ð 	
ô ˆ5ƒz�A‚~Ü&Ø?ó
ð 	
ð �‰8ÐÐÐØ�‰8€Oùò 9s
   …A�Ac                 ó\   — | j                  «       D ��ci c]  \  }}|€Œ	||“Œ c}}S c c}}w )z Make dict excluding None values.)Úitems)ÚkwargsÚkÚvs      r   Ú_filter_noner.   C   s(   € à#Ÿ\™\›^×=‘T�Q˜¨q©}ˆAˆq‰DÓ=Ð=ùÓ=s   ”
(Ÿ(c                  óX   — e Zd ZU dZded<   ded<   ded<   dZded	<   edd
„«       Zdd„Zy)r   Úvcs_infor   ÚnameÚstrÚvcsÚ	commit_idNú
str | NoneÚrequested_revisionc           	     óx   — |€y  | t        |t        d«      t        |t        d«      t        |t        d«      ¬«      S )Nr3   r4   r6   )r3   r4   r6   )r"   r2   r    ©Úclsr   s     r   Ú
_from_dictzVcsInfo._from_dictP   s<   € àˆ9ØÙÜ˜a¤ eÓ,Ü# A¤s¨KÓ8Ü# A¤sÐ,@ÓAô
ð 	
r   c                óZ   — t        | j                  | j                  | j                  ¬«      S )N)r3   r6   r4   )r.   r3   r6   r4   ©Úselfs    r   Ú_to_dictzVcsInfo._to_dictZ   s&   € ÜØ—‘Ø#×6Ñ6Ø—n‘nô
ð 	
r   )r   údict[str, Any] | NoneÚreturnzVcsInfo | None©r@   údict[str, Any])	r   r   r   r1   Ú__annotations__r6   Úclassmethodr:   r>   r   r   r   r   r   H   s8   … à€Dˆ(Óà	ƒHØƒNØ%)Ð˜
Ó)àò
ó ð
ô
r   r   c                  óz   — e Zd ZdZ	 	 d	 	 	 	 	 d	d„Zed
d„«       Zej                  dd„«       Zedd„«       Z	dd„Z
y)r   Úarchive_infoNc                ó    — || _         || _        y ©N)ÚhashesÚhash)r=   rJ   rI   s      r   Ú__init__zArchiveInfo.__init__e   s   € ð ˆŒØˆ�	r   c                ó   — | j                   S rH   )Ú_hashr<   s    r   rJ   zArchiveInfo.hashn   s   € à�z‰zÐr   c                ó*  — |�o	 |j                  dd«      \  }}| j                  €||i| _        || _        y || j                  vr.| j                  j	                  «       | _        || j                  |<   || _        y # t        $ r t        d|›�«      ‚w xY w)Nú=r$   z"invalid archive_info.hash format: )ÚsplitÚ
ValueErrorr   rI   ÚcopyrM   )r=   r   Ú	hash_nameÚ
hash_values       r   rJ   zArchiveInfo.hashr   s¢   € àÐðØ(-¯©°C¸Ó(;Ñ%�	˜:ð
 �{‰{Ð"Ø(¨*Ð5�”ð ˆ�
ð  $§+¡+Ñ-Ø"Ÿk™k×.Ñ.Ó0�”Ø)3�—‘˜IÑ&Øˆ�
øô ò Ü.Ø8¸¸	ÐBóð ðús   „A: Á:Bc                óX   — |€y  | t        |t        d«      t        |t        d«      ¬«      S )NrJ   rI   ©rJ   rI   )r    r2   Údictr8   s     r   r:   zArchiveInfo._from_dict„   s)   € àˆ9ØÙœ˜Q¤ VÓ,´T¸!¼TÀ8Ó5LÔMÐMr   c                óD   — t        | j                  | j                  ¬«      S )NrV   )r.   rJ   rI   r<   s    r   r>   zArchiveInfo._to_dictŠ   s   € Ü §¡°4·;±;Ô?Ð?r   )NN)rJ   r5   rI   zdict[str, str] | Noner@   ÚNone)r@   r5   )r   r5   r@   rY   )r   r?   r@   zArchiveInfo | NonerA   )r   r   r   r1   rK   ÚpropertyrJ   ÚsetterrD   r:   r>   r   r   r   r   r   b   sx   „ Ø€Dð  Ø(,ðàðð &ðð 
ó	ð òó ðð 
‡[�[òó ðð" òNó ðNô
@r   r   c                  óD   — e Zd ZU dZded<   dZded<   ed
d„«       Zdd„Zy	)r   Údir_infor   r1   FÚboolÚeditablec                ó<   — |€y  | t        |t        dd¬«      ¬«      S )Nr_   F)r   ©r_   )r"   r^   r8   s     r   r:   zDirInfo._from_dict”   s    € àˆ9ØÙœM¨!¬T°:ÀuÔMÔNÐNr   c                ó6   — t        | j                  xs d ¬«      S )Nra   )r.   r_   r<   s    r   r>   zDirInfo._to_dictš   s   € Ü T§]¡]Ò%:°dÔ;Ð;r   N)r   r?   r@   zDirInfo | NonerA   )	r   r   r   r1   rC   r_   rD   r:   r>   r   r   r   r   r   Ž   s/   … à€Dˆ(Óà€HˆdÓàòOó ðOô
<r   r   c                  óŽ   — e Zd ZU ded<   ded<   dZded<   dd„Zedd	„«       Zdd
„Ze	dd„«       Z
dd„Ze	dd„«       Zdd„Zdd„Zy)r
   r2   ÚurlÚInfoTyper'   Nr5   Úsubdirectoryc                óÞ   — d|vr|S |j                  dd«      \  }}t        | j                  t        «      r | j                  j                  dk(  r|dk(  r|S t
        j                  |«      r|S |S )Nú@r$   Úgit)rP   r   r'   r   r3   Ú
ENV_VAR_REÚmatch)r=   ÚnetlocÚ	user_passÚnetloc_no_user_passs       r   Ú_remove_auth_from_netlocz"DirectUrl._remove_auth_from_netloc§   si   € Ø�fÑØˆMØ)/¯©°c¸1Ó)=Ñ&ˆ	Ð&ä�t—y‘y¤'Ô*Ø—	‘	—‘ Ò&Ø˜UÒ"àˆMÜ×Ñ˜IÔ&ØˆMØ"Ð"r   c                ó&  — t         j                  j                  | j                  «      }| j	                  |j
                  «      }t         j                  j                  |j                  ||j                  |j                  |j                  f«      }|S )z¯url with user:password part removed unless it is formed with
        environment variables as specified in PEP 610, or it is ``git``
        in the case of a git URL.
        )ÚurllibÚparseÚurlsplitrd   ro   rl   Ú
urlunsplitÚschemeÚpathÚqueryÚfragment)r=   Úpurlrl   Úsurls       r   Úredacted_urlzDirectUrl.redacted_urlµ   si   € ô �|‰|×$Ñ$ T§X¡XÓ.ˆØ×.Ñ.¨t¯{©{Ó;ˆÜ�|‰|×&Ñ&Ø�[‰[˜& $§)¡)¨T¯Z©Z¸¿¹ÐGó
ˆð ˆr   c                óB   — | j                  | j                  «       «       y rH   )Ú	from_dictÚto_dictr<   s    r   ÚvalidatezDirectUrl.validateÂ   s   € Ø�‰�t—|‘|“~Õ&r   c                ó>  — t        t        |t        d«      t        |t        d«      t	        t
        j                  t        |t        d«      «      t        j                  t        |t        d«      «      t        j                  t        |t        d«      «      g«      ¬«      S )Nrd   rf   rF   r]   r0   )rd   rf   r'   )
r
   r"   r2   r    r(   r   r:   rW   r   r   r8   s     r   r}   zDirectUrl.from_dictÅ   sy   € äÜ˜a¤ eÓ,Ü˜a¤ nÓ5Ü ä×*Ñ*¬4°´4¸Ó+HÓIÜ×&Ñ&¤t¨A¬t°ZÓ'@ÓAÜ×&Ñ&¤t¨A¬t°ZÓ'@ÓAðóô

ð 
	
r   c                óª   — t        | j                  | j                  ¬«      }| j                  j	                  «       || j                  j
                  <   |S )N)rd   rf   )r.   r{   rf   r'   r>   r1   )r=   Úress     r   r~   zDirectUrl.to_dictÓ   sD   € ÜØ×!Ñ!Ø×*Ñ*ô
ˆð #Ÿi™i×0Ñ0Ó2ˆˆD�I‰I�N‰NÑØˆ
r   c                óJ   — | j                  t        j                  |«      «      S rH   )r}   ÚjsonÚloads)r9   Úss     r   Ú	from_jsonzDirectUrl.from_jsonÛ   s   € à�}‰}œTŸZ™Z¨›]Ó+Ð+r   c                óL   — t        j                  | j                  «       d¬«      S )NT)Ú	sort_keys)r„   Údumpsr~   r<   s    r   Úto_jsonzDirectUrl.to_jsonß   s   € Ü�z‰z˜$Ÿ,™,›.°DÔ9Ð9r   c                óf   — t        | j                  t        «      xr | j                  j                  S rH   )r   r'   r   r_   r<   s    r   Úis_local_editablezDirectUrl.is_local_editableâ   s"   € Ü˜$Ÿ)™)¤WÓ-ÒD°$·)±)×2DÑ2DÐDr   )rl   r2   r@   r2   )r@   r2   )r@   rY   )r   rB   r@   r
   rA   )r†   r2   r@   r
   )r@   r^   )r   r   r   rC   rf   ro   rZ   r{   r   rD   r}   r~   r‡   r‹   r�   r   r   r   r
   r
   ¡   sl   … à	ƒHØ
ƒNØ#€L�*Ó#ó#ð ò
ó ð
ó'ð ò
ó ð
óð ò,ó ð,ó:ôEr   r
   rH   )
r   rB   r   útype[T]r   r2   r   úT | Noner@   r�   )
r   rB   r   rŽ   r   r2   r   r�   r@   r   )r&   zIterable[InfoType | None]r@   re   )r+   r   r@   rB   ) Ú__doc__Ú
__future__r   r„   ÚreÚurllib.parserq   Úcollections.abcr   Údataclassesr   Útypingr   r   r   r	   Ú__all__r   ÚDIRECT_URL_METADATA_NAMEÚcompilerj   Ú	Exceptionr   r    r"   r(   r.   r   r   r   re   r
   r   r   r   ú<module>r›      s8  ðÙ å "ã Û 	Û Ý $Ý !ß 0Ó 0ò€ñ ˆCƒL€à,Ð ØˆR�Z‰ZÐIÓJ€
ô	˜yô 	ð
 NRðØðØ&-ðØ47ðØBJðàóð NRðØðØ&-ðØ47ðØBJðàóóó>ð
 ÷
ð 
ó ð
÷2)@ñ )@ðX ÷<ð <ó ð<ð �˜g wÐ.Ñ/€ð ÷AEð AEó ñAEr   