ó
    Ñ]j(  ã                  óÖ   • S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  \	(       a  S SKJr  S SKJr   " S	 S
5      r " S S\\5      r " S S\\5      r " S S\\5      r/ SQrg)é    )Úannotations)ÚABC)ÚOrderedDict)ÚPath)ÚTYPE_CHECKING)ÚIS_WIN)ÚAny)Ú
PythonInfoc                  ó<  • \ rS rSrSr\(       a  SO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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rg)ÚDescribeé   z`Given a host interpreter tell us information about what the created interpreter might look like.z.exeÚ c                óT   • X l         Xl        S U l        S U l        S U l        S U l        g ©N)ÚinterpreterÚdestÚ_stdlibÚ_stdlib_platformÚ_system_stdlibÚ
_conf_vars)Úselfr   r   s      ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/virtualenv/create/describe.pyÚ__init__ÚDescribe.__init__   s+   € Ø&ÔØŒ	ØˆŒØ $ˆÔØ"ˆÔØˆ�ó    c                ó   • U R                   $ r   )Ú
script_dir©r   s    r   Úbin_dirÚDescribe.bin_dir   s   € à�‰Ðr   c                óR   • U R                   U R                  R                  S5      -  $ )NÚscripts©r   r   Úinstall_pathr   s    r   r   ÚDescribe.script_dir!   ó"   € à�y‰y˜4×+Ñ+×8Ñ8¸ÓCÑCÐCr   c                óR   • U R                   U R                  R                  S5      -  $ )NÚpurelibr#   r   s    r   r(   ÚDescribe.purelib%   r&   r   c                óR   • U R                   U R                  R                  S5      -  $ )NÚplatlibr#   r   s    r   r+   ÚDescribe.platlib)   r&   r   c                óz   • [        [        U R                  S 4U R                  S 445      R	                  5       5      $ r   )Úlistr   r+   r(   Úkeysr   s    r   ÚlibsÚDescribe.libs-   s2   € ä”K $§,¡,°Ð!5¸¿¹ÀdÐ7KÐ LÓM×RÑRÓTÓUÐUr   c                ó˜   • U R                   c2  [        U R                  R                  SU R                  S95      U l         U R                   $ )NÚstdlib©Ú
config_var)r   r   r   Úsysconfig_pathÚ_config_varsr   s    r   r3   ÚDescribe.stdlib1   s?   € à�<‰<ÑÜ × 0Ñ 0× ?Ñ ?ÀÐUY×UfÑUfÐ ?Ð gÓhˆDŒLØ�|‰|Ðr   c                ó˜   • U R                   c2  [        U R                  R                  SU R                  S95      U l         U R                   $ )NÚ
platstdlibr4   )r   r   r   r6   r7   r   s    r   Ústdlib_platformÚDescribe.stdlib_platform7   sD   € à× Ñ Ñ(Ü$(¨×)9Ñ)9×)HÑ)HÈÐbf×bsÑbsÐ)HÐ)tÓ$uˆDÔ!Ø×$Ñ$Ð$r   c                ót   • U R                   c   U R                  U R                  5      U l         U R                   $ r   )r   Ú_calc_config_varsr   r   s    r   r7   ÚDescribe._config_vars=   s,   € à�?‰?Ñ"Ø"×4Ñ4°T·Y±YÓ?ˆDŒOØ�‰Ðr   c           	     ó  • U R                   R                  nUR                  5        VVs0 s HI  u  p4U[        U[        5      (       a,  UR                  U R                   R                  5      (       a  UOU_MK     snn$ s  snnf r   )r   Úsysconfig_varsÚitemsÚ
isinstanceÚstrÚ
startswithÚprefix)r   ÚtoÚsys_varsÚkÚvs        r   r>   ÚDescribe._calc_config_varsC   sp   € Ø×#Ñ#×2Ñ2ˆàgo×guÑguÔgwô
ÚgwÑ_cÐ_`ˆA”j ¤C×(Ñ(¨Q¯\©\¸$×:JÑ:J×:QÑ:Q×-RÑ-R‘ÐXYÒYÑgwò
ð 	
ùó 
s   ªAA>c                ó   • g)z.Knows means it knows how the output will look.T© )Úclsr   s     r   Úcan_describeÚDescribe.can_describeI   s   € ð r   c                ó4   • U R                   R                  S   $ )Néÿÿÿÿ)r   Úpartsr   s    r   Úenv_nameÚDescribe.env_nameN   s   € à�y‰y�‰˜rÑ"Ð"r   c                óX   • U R                   U R                  5        U R                   3-  $ r   )r   Úexe_stemÚsuffixr   s    r   ÚexeÚDescribe.exeR   s%   € à�|‰| §¡£Ð 1°$·+±+°Ð?Ñ?Ð?r   c                ó   • [         e)zcExecutable name without suffix - there seems to be no standard way to get this without creating it.)ÚNotImplementedError)rN   s    r   rW   ÚDescribe.exe_stemV   s
   € ô "Ð!r   c                ó<   • U R                   U U R                   3-  $ r   )r   rX   )r   Únames     r   ÚscriptÚDescribe.script[   s   € Ø�‰ D 6¨$¯+©+¨Ð!7Ñ7Ð7r   )r   r   r   r   r   r   N)r   r   r   r
   ÚreturnÚNone)rb   r   )rb   z
list[Path])rb   údict[str, Any])rG   r   rb   rd   ©r   r
   rb   Úbool)rb   rD   )r_   rD   rb   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   rX   r   Úpropertyr   r   r(   r+   r0   r3   r;   r7   r>   ÚclassmethodrO   rT   rY   rW   r`   Ú__static_attributes__rM   r   r   r   r      s  † Ùjæ‰V 2€Fôð óó ðð óDó ðDð óDó ðDð óDó ðDð óVó ðVð óó ðð
 ó%ó ð%ð
 óó ðô

ð óó ðð ó#ó ð#ð ó@ó ð@ð ó"ó ð"÷8r   r   c                  ó   • \ rS rSrSrg)ÚPython3Supportsé_   rM   N)rg   rh   ri   rj   rn   rM   r   r   rp   rp   _   s   † Úr   rp   c                  ó6   ^ • \ rS rSr\SU 4S jj5       rSrU =r$ )ÚPosixSupportséc   c                óN   >• UR                   S:H  =(       a    [        TU ]	  U5      $ )NÚposix©ÚosÚsuperrO   ©rN   r   Ú	__class__s     €r   rO   ÚPosixSupports.can_described   s!   ø€ à�~‰~ Ñ(×N¬U©WÑ-AÀ+Ó-NÐNr   rM   re   ©rg   rh   ri   rj   rm   rO   rn   Ú__classcell__©r{   s   @r   rs   rs   c   s   ø† ØöOó öOr   rs   c                  ó6   ^ • \ rS rSr\SU 4S jj5       rSrU =r$ )ÚWindowsSupportséi   c                óN   >• UR                   S:H  =(       a    [        TU ]	  U5      $ )NÚntrw   rz   s     €r   rO   ÚWindowsSupports.can_describej   s!   ø€ à�~‰~ Ñ%×K¬%©'Ñ*>¸{Ó*KÐKr   rM   re   r}   r   s   @r   r�   r�   i   s   ø† ØöLó öLr   r�   )r   rs   rp   r�   N)Ú
__future__r   Úabcr   Úcollectionsr   Úpathlibr   Útypingr   Úvirtualenv.infor   r	   Úpython_discoveryr
   r   rp   rs   r�   Ú__all__rM   r   r   Ú<module>rŽ      sb   ðÝ "å Ý #Ý Ý  å "æÝå+÷L8ñ L8ô^	�h ô 	ôO�H˜cô OôL�h ô Lò�r   