Ë
    ��h³  ã                   óÈ   — d dl Z d dl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 d dlmZ d dlmZ d dlmZmZ  ej&                  e«      Z ed¬	«       G d
„ d«      «       Zy)é    N)Ú	dataclass)ÚList)Úcanonicalize_name)ÚPyPI)Úhas_tls)Únormalize_pathÚredact_auth_from_urlT)Úfrozenc            	       ó”   — e Zd ZU dZg d¢Zee   ed<   ee   ed<   eed<   e	dee   dee   dedd fd„«       Z
defd„Zd	edee   fd
„Zy)ÚSearchScopezF
    Encapsulates the locations that pip is configured to search.
    ©Ú
find_linksÚ
index_urlsÚno_indexr   r   r   Úreturnc                 óš  — g }|D ]P  }|j                  d«      r,t        |«      }t        j                  j	                  |«      r|}|j                  |«       ŒR t        «       s`t        j                  ||«      D ]G  }t        j                  j                  |«      }|j                  dk(  sŒ2t        j                  d«        n  | |||¬«      S )zQ
        Create a SearchScope object after normalizing the `find_links`.
        ú~Úhttpszipip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.r   )Ú
startswithr   ÚosÚpathÚexistsÚappendr   Ú	itertoolsÚchainÚurllibÚparseÚurlparseÚschemeÚloggerÚwarning)Úclsr   r   r   Úbuilt_find_linksÚlinkÚnew_linkÚparseds           ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_internal/models/search_scope.pyÚcreatezSearchScope.create   sÂ   € ð ')ÐØò 	*ˆDØ�‰˜sÔ#Ü)¨$Ó/�Ü—7‘7—>‘> (Ô+Ø#�DØ×#Ñ# DÕ)ð	*ô ŒyÜ!Ÿ™¨
Ð4DÓEò �ÜŸ™×.Ñ.¨tÓ4�Ø—=‘= GÓ+Ü—N‘Nð%ôñ
 ðñ Ø'Ø!Øô
ð 	
ó    c                 ój  — g }g }| j                   rÇ| j                   t        j                  gk7  r©| j                   D ]k  }t        |«      }t        j
                  j                  |«      }|j                  s"|j                  st        j                  d|«       |j                  |«       Œm |j                  dj                  dj                  |«      «      «       | j                  r@|j                  dj                  dj                  d„ | j                  D «       «      «      «       dj                  |«      S )Nz:The index url "%s" seems invalid, please provide a scheme.zLooking in indexes: {}z, zLooking in links: {}c              3   ó2   K  — | ]  }t        |«      –— Œ y ­w)N)r	   )Ú.0Úurls     r'   ú	<genexpr>z6SearchScope.get_formatted_locations.<locals>.<genexpr>f   s   è ø€ ÒS¸CÔ2°3×7ÑSùs   ‚ú
)r   r   Ú
simple_urlr	   r   r   Úurlsplitr   Únetlocr    r!   r   ÚformatÚjoinr   )ÚselfÚlinesÚredacted_index_urlsr-   Úredacted_index_urlÚpurls         r'   Úget_formatted_locationsz#SearchScope.get_formatted_locationsH   sý   € ØˆØ ÐØ�?Š?˜tŸ™´4·?±?Ð2CÒCØ—‘ò ?�Ü%9¸#Ó%>Ð"ô —|‘|×,Ñ,Ð-?Ó@�ð —{’{¨4¯;ª;Ü—N‘NØTØ*ôð
 $×*Ñ*Ð+=Õ>ð#?ð& �L‰LØ(×/Ñ/°·	±	Ð:MÓ0NÓOôð �?Š?Ø�L‰LØ&×-Ñ-Ø—I‘IÑSÀ4Ç?Á?ÔSÓSóôð
 �y‰y˜ÓÐr)   Úproject_namec                 ór   ‡— dt         dt         fˆfd„}| j                  D �cg c]
  } ||«      ‘Œ c}S c c}w )z²Returns the locations found via self.index_urls

        Checks the url_name on the main (first in the list) index and
        use this url_name to produce all locations
        r-   r   c                 ó¬   •— t        j                  | t        j                  j	                  t        ‰«      «      «      }|j                  d«      s|dz   }|S )Nú/)Ú	posixpathr4   r   r   Úquoter   Úendswith)r-   Úlocr;   s     €r'   Úmkurl_pypi_urlz<SearchScope.get_index_urls_locations.<locals>.mkurl_pypi_urlr   sG   ø€ Ü—.‘.Ø”V—\‘\×'Ñ'Ô(9¸,Ó(GÓHóˆCð —<‘< Ô$Ø˜C‘i�ØˆJr)   )Ústrr   )r5   r;   rC   r-   s    `  r'   Úget_index_urls_locationsz$SearchScope.get_index_urls_locationsk   s5   ø€ ð	¤ð 	¬õ 	ð 04¯©Ö?¨‘˜sÕ#Ò?Ð?ùÒ?s   ¢4N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   rD   Ú__annotations__ÚboolÚclassmethodr(   r:   rE   © r)   r'   r   r      s�   … ñò 9€Ià�S‘	ÓØ�S‘	ÓØƒNàð'
à˜‘Ið'
ð ˜‘Ið'
ð ð	'
ð
 
ò'
ó ð'
ðR! ¨ó ! ðF@°Sð @¸TÀ#¹Yô @r)   r   )r   Úloggingr   r?   Úurllib.parser   Údataclassesr   Útypingr   Úpip._vendor.packaging.utilsr   Úpip._internal.models.indexr   Úpip._internal.utils.compatr   Úpip._internal.utils.miscr   r	   Ú	getLoggerrF   r    r   rN   r)   r'   ú<module>rX      s\   ðÛ Û Û 	Û Û Ý !Ý å 9å +Ý .ß Ià	ˆ×	Ñ	˜8Ó	$€ñ �$Ô÷l@ð l@ó ñl@r)   