§
    
Á³gç  ã                   ó<  — d dl Z d dlZd dlZ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mZmZ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 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& d dl'm(Z(m)Z) d dl*m+Z+m,Z,m-Z- d dl.m/Z/ dZ0 ej1        e2¦  «        Z3de4de4fd„Z5 G d„ d¦  «        Z6e
 G d„ d¦  «        ¦   «         Z7de4de8fd„Z9de$dej:        dee4         fd„Z;de6d e j         d!e d"eg ee4         f         dee7         f
d#„Z<de$dej:        ddfd$„Z=dS )%é    N)Ú	dataclass)ÚAnyÚCallableÚDictÚOptional)Úparse)ÚGroup)Úescape)ÚText)ÚLinkCollector)ÚPackageFinder)Úget_default_environment)ÚDistributionVersion)ÚSelectionPreferences)Ú
PipSession)ÚWINDOWS)Ú get_best_invocation_for_this_pipÚ#get_best_invocation_for_this_python)Úadjacent_tmp_fileÚcheck_path_ownerÚreplace)Ú
ensure_dirz%Y-%m-%dT%H:%M:%SZÚkeyÚreturnc                 óz   — |                       ¦   «         }t          j        |¦  «                             ¦   «         }|S ©N)ÚencodeÚhashlibÚsha224Ú	hexdigest)r   Ú	key_bytesÚnames      ú_/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_internal/self_outdated_check.pyÚ_get_statefile_namer$   %   s/   € Ø—
’
‘”€IÝŒ>˜)Ñ$Ô$×.Ò.Ñ0Ô0€DØ€Kó    c                   ó~   — e Zd Zdeddfd„Zedefd„¦   «         Zdej        dee         fd„Z	dedej        ddfd	„Z
dS )
ÚSelfCheckStateÚ	cache_dirr   Nc                 óh  — i | _         d | _        |r¡t          j                             |dt          | j        ¦  «        ¦  «        | _        	 t          | j        d¬¦  «        5 }t          j	        |¦  «        | _         d d d ¦  «         d S # 1 swxY w Y   d S # t          t          t          f$ r Y d S w xY wd S )NÚ	selfcheckzutf-8)Úencoding)Ú_stateÚ_statefile_pathÚosÚpathÚjoinr$   r   ÚopenÚjsonÚloadÚOSErrorÚ
ValueErrorÚKeyError)Úselfr(   Ú	statefiles      r#   Ú__init__zSelfCheckState.__init__,   s  € Ø&(ˆŒØ#ˆÔð ð 
	Ý#%¤7§<¢<Ø˜;Õ(;¸D¼HÑ(EÔ(Eñ$ô $ˆDÔ ðÝ˜$Ô.¸ÐAÑAÔAð 7ÀYÝ"&¤)¨IÑ"6Ô"6�D”Kð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7øå�Z­Ð2ð ð ð ð ��ðøøøð
	ð 
	s6   Á
B Á BÁ:B ÂBÂB ÂBÂB ÂB/Â.B/c                 ó   — t           j        S r   )ÚsysÚprefix)r7   s    r#   r   zSelfCheckState.key=   s
   € åŒzÐr%   Úcurrent_timec                 óü   — | j         sdS d| j         vrdS d| j         vrdS d}t          j                             | j         d         t          ¦  «        }||z
                       ¦   «         }||k    rdS | j         d         S )z7Check if we have a not-outdated version loaded already.NÚ
last_checkÚpypi_versioni€:	 )r,   ÚdatetimeÚstrptimeÚ	_DATE_FMTÚtotal_seconds)r7   r=   Úseven_days_in_secondsr?   Úseconds_since_last_checks        r#   ÚgetzSelfCheckState.getA   s‘   € àŒ{ð 	Ø�4à˜tœ{Ð*Ð*Ø�4à ¤Ð,Ð,Ø�4à 0Ðõ Ô&×/Ò/°´¸LÔ0IÍ9ÑUÔUˆ
Ø$0°:Ñ$=×#LÒ#LÑ#NÔ#NÐ Ø#Ð&;Ò;Ð;Ø�4àŒ{˜>Ô*Ð*r%   r@   c                 óR  — | j         sd S t          t          j                             | j         ¦  «        ¦  «        sd S t          t          j                             | j         ¦  «        ¦  «         | j        |                     t          ¦  «        |dœ}t          j
        |dd¬¦  «        }t          | j         ¦  «        5 }|                     |                     ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   	 t          |j        | j         ¦  «         d S # t           $ r Y d S w xY w)N)r   r?   r@   T)ú,ú:)Ú	sort_keysÚ
separators)r-   r   r.   r/   Údirnamer   r   ÚstrftimerC   r2   Údumpsr   Úwriter   r   r"   r4   )r7   r@   r=   ÚstateÚtextÚfs         r#   ÚsetzSelfCheckState.setV   s[  € àÔ#ð 	ØˆFõ  ¥¤§¢°Ô0DÑ EÔ EÑFÔFð 	ØˆFõ 	•2”7—?’? 4Ô#7Ñ8Ô8Ñ9Ô9Ð9ð
 ”8Ø&×/Ò/µ	Ñ:Ô:Ø(ð
ð 
ˆõ Œz˜%¨4¸JÐGÑGÔGˆå˜tÔ3Ñ4Ô4ð 	#¸Ø�GŠG�D—K’K‘M”MÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð	õ �A”F˜DÔ0Ñ1Ô1Ð1Ð1Ð1øÝð 	ð 	ð 	àˆDˆDð	øøøs$   Â<(C0Ã0C4Ã7C4Ã<D Ä
D&Ä%D&)Ú__name__Ú
__module__Ú__qualname__Ústrr9   Úpropertyr   rA   r   rG   rT   © r%   r#   r'   r'   +   s²   € € € € € ð #ð ¨$ð ð ð ð ð" ð�Sð ð ð ñ „Xðð+ Ô 1ð +°h¸s´mð +ð +ð +ð +ð*  ð  °8Ô3Dð  Èð  ð  ð  ð  ð  ð  r%   r'   c                   ó0   — e Zd ZU eed<   eed<   defd„ZdS )ÚUpgradePromptÚoldÚnewr   c                 ó"  — t           rt          ¦   «         › d�}nt          ¦   «         }d}t          t	          ¦   «         t	          j        |› d| j        › d| j        › d�¦  «        t	          j        |› dt          |¦  «        › d�¦  «        ¦  «        S )Nz -m pipz/[bold][[reset][blue]notice[reset][bold]][reset]z) A new release of pip is available: [red]z[reset] -> [green]z[reset]z To update, run: [green]z install --upgrade pip)	r   r   r   r	   r   Úfrom_markupr]   r^   r
   )r7   Úpip_cmdÚnotices      r#   Ú__rich__zUpgradePrompt.__rich__~   sÌ   € Ýð 	9Ý<Ñ>Ô>ÐGÐGÐGˆGˆGå6Ñ8Ô8ˆGàBˆÝÝ‰FŒFÝÔØð Fð FØœðFð FØ48´HðFð Fð Fñô õ ÔØð Bð BÝ  ™/œ/ðBð Bð Bñô ñ

ô 

ð 
	
r%   N)rU   rV   rW   rX   Ú__annotations__r	   rc   rZ   r%   r#   r\   r\   y   sC   € € € € € € à	€H€H�HØ	€H€H�Hð
˜%ð 
ð 
ð 
ð 
ð 
ð 
r%   r\   Úpkgc                 ób   — t          ¦   «                              | ¦  «        }|duo
d|j        k    S )zµChecks whether pkg was installed by pip

    This is used not to display the upgrade message when pip is in fact
    installed by system package manager, such as dnf on Fedora.
    NÚpip)r   Úget_distributionÚ	installer)re   Údists     r#   Úwas_installed_by_piprk   ’   s4   € õ #Ñ$Ô$×5Ò5°cÑ:Ô:€DØ�tÐÐ7 ¨¬Ò 7Ð7r%   ÚsessionÚoptionsc                 óâ   — t          j        | |d¬¦  «        }t          dd¬¦  «        }t          j        ||¬¦  «        }|                     d¦  «        j        }|€d S t          |j        ¦  «        S )NT)rm   Úsuppress_no_indexF)Úallow_yankedÚallow_all_prereleases)Úlink_collectorÚselection_prefsrg   )r   Úcreater   r   Úfind_best_candidateÚbest_candidaterX   Úversion)rl   rm   rr   rs   Úfinderrv   s         r#   Ú_get_current_remote_pip_versionry   œ   s“   € õ #Ô)ØØØðñ ô €Nõ +ØØ#ðñ ô €Oõ
 Ô!Ø%Ø'ðñ ô €Fð ×/Ò/°Ñ6Ô6ÔE€NØÐØˆtåˆ~Ô%Ñ&Ô&Ð&r%   rQ   r=   Úlocal_versionÚget_remote_versionc                 ó  — |                       |¦  «        }|€> |¦   «         }|€t                               d¦  «         d S |                      ||¦  «         t	          |¦  «        }t                               d|¦  «         t                               d|¦  «         t          d¦  «        }t                               d|¦  «         |sd S ||k     o|j        |j        k    }|rt          t          |¦  «        |¬¦  «        S d S )NzNo remote pip version foundzRemote version of pip: %szLocal version of pip:  %srg   zWas pip installed by pip? %s)r]   r^   )	rG   ÚloggerÚdebugrT   Úparse_versionrk   Úbase_versionr\   rX   )rQ   r=   rz   r{   Úremote_version_strÚremote_versionÚpip_installed_by_pipÚlocal_version_is_olders           r#   Ú_self_version_check_logicr…   ¸   s  € ð Ÿš <Ñ0Ô0ÐØÐ!Ø/Ð/Ñ1Ô1ÐØÐ%Ý�LŠLÐ6Ñ7Ô7Ð7Ø�4Ø�	Š	Ð$ lÑ3Ô3Ð3å"Ð#5Ñ6Ô6€NÝ
‡L‚LÐ,¨nÑ=Ô=Ð=Ý
‡L‚LÐ,¨mÑ<Ô<Ð<å/°Ñ6Ô6ÐÝ
‡L‚LÐ/Ð1EÑFÔFÐFØð Øˆtð 	˜Ò&ð 	FØÔ&¨.Ô*EÒEð ð ð MÝ¥ ]Ñ!3Ô!3Ð9KÐLÑLÔLÐLàˆ4r%   c           
      óÞ  — t          ¦   «                              d¦  «        }|sdS 	 t          t          |j        ¬¦  «        t
          j                             ¦   «         |j        t          j	        t          | |¦  «        ¬¦  «        }|�t                               d|¦  «         dS dS # t          $ r: t                               d¦  «         t                               dd¬	¦  «         Y dS w xY w)
zÛCheck for an update for pip.

    Limit the frequency of checks to once per week. State is stored either in
    the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix
    of the pip script path.
    rg   N)r(   )rQ   r=   rz   r{   z[present-rich] %sz6There was an error checking the latest version of pip.zSee below for errorT)Úexc_info)r   rh   r…   r'   r(   rA   Úutcnowrw   Ú	functoolsÚpartialry   r}   ÚwarningÚ	Exceptionr~   )rl   rm   Úinstalled_distÚupgrade_prompts       r#   Úpip_self_version_checkr�   Ú   sü   € õ -Ñ.Ô.×?Ò?ÀÑFÔF€NØð Øˆð;Ý2Ý ¨7Ô+<Ð=Ñ=Ô=Ý!Ô*×1Ò1Ñ3Ô3Ø(Ô0Ý(Ô0Ý/°¸'ñ ô  ð	
ñ 
ô 
ˆð Ð%Ý�NŠNÐ.°Ñ?Ô?Ð?Ð?Ð?ð &Ð%øåð ;ð ;ð ;Ý�ŠÐOÑPÔPÐPÝ�ŠÐ*°TˆÑ:Ô:Ð:Ð:Ð:Ð:ð;øøøs   §A=B( Â(A C,Ã+C,)>rA   r‰   r   r2   ÚloggingÚoptparseÚos.pathr.   r;   Údataclassesr   Útypingr   r   r   r   Úpip._vendor.packaging.versionr   r   Úpip._vendor.rich.consoler	   Úpip._vendor.rich.markupr
   Úpip._vendor.rich.textr   Úpip._internal.index.collectorr   Ú"pip._internal.index.package_finderr   Úpip._internal.metadatar   Úpip._internal.metadata.baser   Ú$pip._internal.models.selection_prefsr   Úpip._internal.network.sessionr   Úpip._internal.utils.compatr   Úpip._internal.utils.entrypointsr   r   Úpip._internal.utils.filesystemr   r   r   Úpip._internal.utils.miscr   rC   Ú	getLoggerrU   r}   rX   r$   r'   r\   Úboolrk   ÚValuesry   r…   r�   rZ   r%   r#   ú<module>r¦      s+  ðØ €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø 
€
€
€
Ø !Ð !Ð !Ð !Ð !Ð !Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à @Ð @Ð @Ð @Ð @Ð @Ø *Ð *Ð *Ð *Ð *Ð *Ø *Ð *Ð *Ð *Ð *Ð *Ø &Ð &Ð &Ð &Ð &Ð &à 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø <Ð <Ð <Ð <Ð <Ð <Ø :Ð :Ð :Ð :Ð :Ð :Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø EÐ EÐ EÐ EÐ EÐ EØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð XÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WØ /Ð /Ð /Ð /Ð /Ð /à €	ð 
ˆÔ	˜8Ñ	$Ô	$€ð˜Sð  Sð ð ð ð ðKð Kð Kð Kð Kñ Kô Kð Kð\ ð
ð 
ð 
ð 
ð 
ñ 
ô 
ñ „ð
ð08˜cð 8 dð 8ð 8ð 8ð 8ð'Øð'Ø"*¤/ð'àˆc„]ð'ð 'ð 'ð 'ð8àðð Ô#ðð 'ð	ð
 !  X¨c¤]Ð!2Ô3ðð ˆmÔðð ð ð ðD; Jð ;¸¼ð ;ÈTð ;ð ;ð ;ð ;ð ;ð ;r%   