Ë
    
_ßd´!  ã                   ó^  — d 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Zddl	m
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mZ ddlmZ  ej0                  d	ej2                  «      j4                  Zd
Z ej:                  d¬«      d„ «       Zd„ Zej@                  d„ «       Z! G d„ d«      Z"y)zWheels support.é    N)Úget_platform)ÚVersion)Úsys_tags)Úcanonicalize_name)Úwrite_requirementsÚ_egg_basename)Ú_unpack_zipfile_objz‚^(?P<project_name>.+?)-(?P<version>\d.*?)
    ((-(?P<build>\d.*?))?-(?P<py_version>.+?)-(?P<abi>.+?)-(?P<platform>.+?)
    )\.whl$z8__import__('pkg_resources').declare_namespace(__name__)
)Úmaxsizec                  ó~   — t        «       D � ch c]%  } | j                  | j                  | j                  f’Œ' c} S c c} w ©N)r   ÚinterpreterÚabiÚplatform)Úts    ú2/usr/lib/python3/dist-packages/setuptools/wheel.pyÚ_get_supported_tagsr       s.   € ô
 9A»
ÖC°1ˆQ�]‰]˜AŸE™E 1§:¡:Ò.ÒCÐCùÒCs   �*:c                 óð  — t        j                  | «      D �]$  \  }}}t         j                  j                  || «      }|D ]Y  }t         j                  j	                  ||«      }t         j                  j	                  |||«      }t        j
                  ||«       Œ[ t        t        t        |«      «      «      D ]  \  }	}
t         j                  j	                  ||
«      }t         j                  j	                  |||
«      }t         j                  j                  |«      rŒgt        j
                  ||«       ||	= Œ� �Œ' t        j                  | d¬«      D ]  \  }}}|rJ ‚t        j                  |«       Œ! y)zDMove everything under `src_dir` to `dst_dir`, and delete the former.T)ÚtopdownN)ÚosÚwalkÚpathÚrelpathÚjoinÚrenamesÚreversedÚlistÚ	enumerateÚexistsÚrmdir)Úsrc_dirÚdst_dirÚdirpathÚdirnamesÚ	filenamesÚsubdirÚfÚsrcÚdstÚnÚds              r   Úunpackr+   (   s(  € ä(*¯©°Ó(8ó  Ñ$ˆ�˜9Ü—‘—‘ ¨'Ó2ˆØò 	!ˆAÜ—'‘'—,‘,˜w¨Ó*ˆCÜ—'‘'—,‘,˜w¨°Ó2ˆCÜ�J‰J�s˜CÕ ð	!ô œT¤)¨HÓ"5Ó6Ó7ò 	 ‰DˆAˆqÜ—'‘'—,‘,˜w¨Ó*ˆCÜ—'‘'—,‘,˜w¨°Ó2ˆCÜ—7‘7—>‘> #Õ&ô —
‘
˜3 Ô$Ø˜Q‘Kò	 ð ô )+¯©°ÀÔ(Fò Ñ$ˆ�˜9ÙÐˆ}Ü
�‰�Õñó    c               #   ó¦   K  — ddl m}  | j                  | j                  «      }	 d–— | j                  |«       y# | j                  |«       w xY w­w)z*
    Temporarily disable info traces.
    r   )ÚlogN)Ú	distutilsr.   Úset_thresholdÚWARN)r.   Úsaveds     r   Údisable_info_tracesr3   >   sC   è ø€ õ
 à×Ñ˜cŸh™hÓ'€Eð!Ûà×Ñ˜%Õ øˆ×Ñ˜%Õ üs   ‚"A¥; ©A»AÁAc                   óf   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
d„ «       Ze
d	„ «       Ze
d
„ «       Zy)ÚWheelc                 óè   — t        t        j                  j                  |«      «      }|€t	        d|z  «      ‚|| _        |j                  «       j                  «       D ]  \  }}t        | ||«       Œ y )Nzinvalid wheel name: %r)	Ú
WHEEL_NAMEr   r   ÚbasenameÚ
ValueErrorÚfilenameÚ	groupdictÚitemsÚsetattr)Úselfr:   ÚmatchÚkÚvs        r   Ú__init__zWheel.__init__M   sg   € Üœ2Ÿ7™7×+Ñ+¨HÓ5Ó6ˆØˆ=ÜÐ5¸Ñ@ÓAÐAØ ˆŒØ—O‘OÓ%×+Ñ+Ó-ò 	 ‰DˆAˆqÜ�D˜!˜QÕñ	 r,   c                 óÆ   — t        j                  | j                  j                  d«      | j                  j                  d«      | j
                  j                  d«      «      S )z>List tags (py_version, abi, platform) supported by this wheel.ú.)Ú	itertoolsÚproductÚ
py_versionÚsplitr   r   ©r>   s    r   Útagsz
Wheel.tagsU   sI   € ä× Ñ Ø�O‰O×!Ñ! #Ó&Ø�H‰H�N‰N˜3ÓØ�M‰M×Ñ Ó$ó
ð 	
r,   c                 óD   — t        d„ | j                  «       D «       d«      S )z2Is the wheel compatible with the current platform?c              3   ó:   K  — | ]  }|t        «       v sŒd –— Œ y­w)TN)r   )Ú.0r   s     r   ú	<genexpr>z&Wheel.is_compatible.<locals>.<genexpr>_   s   è ø€ ÒM˜a°!Ô7JÓ7LÒ2L”TÑMùs   ‚”F)ÚnextrJ   rI   s    r   Úis_compatiblezWheel.is_compatible]   s   € äÑM 4§9¡9£;ÔMÈuÓUÐUr,   c                 ó~   — t        | j                  | j                  | j                  dk(  rd n	t	        «       ¬«      dz   S )NÚany)r   z.egg)r   Úproject_nameÚversionr   r   rI   s    r   Úegg_namezWheel.egg_namea   s;   € äØ×!Ñ!Ø—‘Ø"&§-¡-°5Ò"8™$¼l»nôð
 ñð	
r,   c                 óò   — |j                  «       D ]Z  }t        j                  |«      }|j                  d«      sŒ*t	        |«      j                  t	        | j                  «      «      sŒX|c S  t        d«      ‚)Nz
.dist-infoz.unsupported wheel format. .dist-info not found)ÚnamelistÚ	posixpathÚdirnameÚendswithr   Ú
startswithrS   r9   )r>   ÚzfÚmemberrY   s       r   Úget_dist_infozWheel.get_dist_infok   sk   € à—k‘k“mò 	ˆFÜ×'Ñ'¨Ó/ˆGØ×Ñ Õ-Ô2CÀGÓ2L×2WÑ2WÜ! $×"3Ñ"3Ó4õ3ð ’ð	ô ÐIÓJÐJr,   c                 ó�   — t        j                  | j                  «      5 }| j                  ||«       ddd«       y# 1 sw Y   yxY w)z"Install wheel as an egg directory.N)ÚzipfileÚZipFiler:   Ú_install_as_egg)r>   Údestination_eggdirr\   s      r   Úinstall_as_eggzWheel.install_as_eggu   s:   € ä�_‰_˜TŸ]™]Ó+ð 	9¨rØ× Ñ Ð!3°RÔ8÷	9÷ 	9ñ 	9ús	    <¼Ac                 ó  — | j                   ›d| j                  ›�}| j                  |«      }d|z  }t        j                  j                  |d«      }| j                  ||||«       | j                  ||«       | j                  ||«       y )Nú-z%s.dataúEGG-INFO)	rS   rT   r^   r   r   r   Ú_convert_metadataÚ_move_data_entriesÚ_fix_namespace_packages)r>   rc   r\   Údist_basenameÚ	dist_infoÚ	dist_dataÚegg_infos          r   rb   zWheel._install_as_eggz   s|   € Ø#'×#4Ó#4°d·l²lÐCˆØ×&Ñ& rÓ*ˆ	Ø Ñ-ˆ	Ü—7‘7—<‘<Ð 2°JÓ?ˆà×Ñ˜rÐ#5°yÀ(ÔKØ×ÑÐ 2°IÔ>Ø×$Ñ$ XÐ/AÕBr,   c                 ó.  ‡ ‡— dd l }ˆˆ fd„} |d«      }t        |j                  d«      «      }t        d«      |cxk  xr t        d«      k  nc }|st        d|z  «      ‚t	        ‰ |«       t
        j                  j                  |‰«      Š|j                  j                  |‰|j                  |‰«      ¬«      }	d	„ }
t        t        |
|	j                  «       «      «      }|	j                  D ��ci c]1  }|t        |
|	j                  |f«      «      D �cg c]  }||vr|‘Œ
 c}“Œ3 }}}t        j                  ‰|«       t        j                  t
        j                  j                  |d
«      t
        j                  j                  |d«      «       t!        j                  t#        ||¬«      ¬«      }t%        «       5  t'        |j)                  d«      d t
        j                  j                  |d«      «       d d d «       y c c}w c c}}w # 1 sw Y   y xY w)Nr   c                 ó  •— ‰j                  t        j                  ‰| «      «      5 }|j                  «       j	                  d«      }t
        j                  j                  «       j                  |«      cd d d «       S # 1 sw Y   y xY w)Nzutf-8)	ÚopenrX   r   ÚreadÚdecodeÚemailÚparserÚParserÚparsestr)ÚnameÚfpÚvaluerl   r\   s      €€r   Úget_metadataz-Wheel._convert_metadata.<locals>.get_metadataˆ   sb   ø€ Ø—‘œŸ™¨	°4Ó8Ó9ð =¸RØŸ™›	×(Ñ(¨Ó1�Ü—|‘|×*Ñ*Ó,×5Ñ5°eÓ<÷=÷ =ò =ús   §AA=Á=BÚWHEELzWheel-Versionz1.0z2.0dev0z$unsupported wheel format version: %s)Úmetadatac                 ó&   — d | _         t        | «      S r   )ÚmarkerÚstr)Úreqs    r   Úraw_reqz(Wheel._convert_metadata.<locals>.raw_req    s   € ØˆCŒJÜ�s“8ˆOr,   ÚMETADATAzPKG-INFO)Úinstall_requiresÚextras_require)Úattrsrn   zrequires.txt)Úpkg_resourcesÚparse_versionÚgetr9   r	   r   r   r   ÚDistributionÚfrom_locationÚPathMetadatar   ÚmapÚrequiresÚextrasÚrenameÚ
setuptoolsÚdictr3   r   Úget_command_obj)r\   rc   rl   rn   r‡   r{   Úwheel_metadataÚwheel_versionÚwheel_v1Údistr‚   r„   Úextrar�   r…   Ú
setup_dists   ` `             r   rh   zWheel._convert_metadata„   sÜ  ù€ ãõ	=ñ
 & gÓ.ˆä% n×&8Ñ&8¸Ó&IÓJˆÜ  Ó'¨=ÖS¼=ÈÓ;SÔSˆÙÜÐCÀmÑSÓTÐTä˜BÐ 2Ô3ä—G‘G—L‘LÐ!3°YÓ?ˆ	Ø×)Ñ)×7Ñ7ØØØ"×/Ñ/Ð0BÀIÓNð 8ó 
ˆò	ô  ¤ G¨T¯]©]«_Ó =Ó>Ðð Ÿ™÷
ð ð ä˜w¨¯©°u°hÓ(?Ó@öàØÐ.Ñ.ò òñ ð
ˆñ 
ô 	�	‰	�)˜XÔ&Ü
�	‰	Ü�G‰G�L‰L˜ :Ó.Ü�G‰G�L‰L˜ :Ó.ô	
ô  ×,Ñ,ÜØ!1Ø-ôô
ˆ
ô !Ó"ñ 	ÜØ×*Ñ*¨:Ó6ØÜ—‘—‘˜X ~Ó6ô÷	ð 	ùò%ùó
÷&	ð 	ús$   Ã0$HÄH Ä!HÆ<;HÈ HÈHc                 ó¢  ‡— t         j                  j                  | ‰«      Št         j                  j                  ‰d«      }t         j                  j                  |«      rüt         j                  j                  | dd«      }t        j                  |«       t        j
                  |«      D ]™  }|j                  d«      r4t        j                  t         j                  j                  ||«      «       ŒHt        j                  t         j                  j                  ||«      t         j                  j                  ||«      «       Œ› t        j                  |«       t        t         j                  j                  ˆfd„dD «       «      D ]  }t        || «       Œ t         j                  j                  ‰«      rt        j                  ‰«       yy)z,Move data entries to their correct location.Úscriptsrg   z.pycc              3   ó^   •K  — | ]$  }t         j                  j                  ‰|«      –— Œ& y ­wr   )r   r   r   )rM   r*   rm   s     €r   rN   z+Wheel._move_data_entries.<locals>.<genexpr>Ô   s(   øè ø€ ò àô —‘—‘˜Y¨×*ñùs   ƒ*-)ÚdataÚheadersÚpurelibÚplatlibN)r   r   r   r   ÚmkdirÚlistdirrZ   Úunlinkr�   r   Úfilterr+   )rc   rm   Údist_data_scriptsÚegg_info_scriptsÚentryr%   s    `    r   ri   zWheel._move_data_entries¿   sE  ø€ ô —G‘G—L‘LÐ!3°YÓ?ˆ	ÜŸG™GŸL™L¨°IÓ>ÐÜ�7‰7�>‰>Ð+Ô,Ü!Ÿw™wŸ|™|Ð,>À
ÈIÓVÐÜ�H‰HÐ%Ô&ÜŸ™Ð$5Ó6ò 	�ð —>‘> &Ô)Ü—I‘IœbŸg™gŸl™lÐ+<¸eÓDÕEä—I‘IÜŸ™Ÿ™Ð%6¸Ó>ÜŸ™Ÿ™Ð%5°uÓ=õð	ô �H‰HÐ&Ô'ÜÜ�G‰G�N‰NóàBôó
ò 	/ˆFô �6Ð-Õ.ð	/ô �7‰7�>‰>˜)Ô$Ü�H‰H�YÕð %r,   c                 óÂ  — t         j                  j                  | d«      }t         j                  j                  |«      �rt	        |«      5 }|j                  «       j                  «       }d d d «       |D ]Ï  }t        j                  j                  |g|j                  d«      ¢­Ž }t         j                  j                  |d«      }t         j                  j                  |«      st        j                  |«       t         j                  j                  |«      rŒ¦t	        |d«      5 }|j                  t        «       d d d «       ŒÑ y y # 1 sw Y   ŒßxY w# 1 sw Y   ŒéxY w)Nznamespace_packages.txtrD   z__init__.pyÚw)
r   r   r   r   rq   rr   rH   r¡   ÚwriteÚNAMESPACE_PACKAGE_INIT)rn   rc   Únamespace_packagesry   ÚmodÚmod_dirÚmod_inits          r   rj   zWheel._fix_namespace_packagesÝ   s  € äŸW™WŸ\™\¨(Ð4LÓMÐÜ�7‰7�>‰>Ð,Õ-ÜÐ(Ó)ð 7¨RØ%'§W¡W£Y§_¡_Ó%6Ð"÷7à)ò 9�ÜŸ'™'Ÿ,™,Ð'9ÐK¸C¿I¹IÀc»NÒK�ÜŸ7™7Ÿ<™<¨°Ó?�Ü—w‘w—~‘~ gÔ.Ü—H‘H˜WÔ%Ü—w‘w—~‘~ hÕ/Ü˜h¨Ó,ð 9°ØŸ™Ô!7Ô8÷9ð 9ñ9ð .÷7ð 7ú÷9ð 9ús   ÁE	Ä'EÅ	EÅE	N)Ú__name__Ú
__module__Ú__qualname__rB   rJ   rP   rU   r^   rd   rb   Ústaticmethodrh   ri   rj   © r,   r   r5   r5   L   se   „ ò ò
òVò
òKò9ò
Cð ñ8ó ð8ðt ñ ó ð ð: ñ9ó ñ9r,   r5   )#Ú__doc__rt   rE   Ú	functoolsr   rX   Úrer`   Ú
contextlibÚdistutils.utilr   r‘   Ú#setuptools.extern.packaging.versionr   rˆ   Ú setuptools.extern.packaging.tagsr   Ú!setuptools.extern.packaging.utilsr   Úsetuptools.command.egg_infor   r   Úsetuptools.archive_utilr	   ÚcompileÚVERBOSEr?   r7   r«   Ú	lru_cacher   r+   Úcontextmanagerr3   r5   r´   r,   r   ú<module>rÃ      s¶   ðÙ ã Û Û Û 	Û Û 	Û Û å 'ã Ý HÝ 5Ý ?ß IÝ 7ð ˆR�Z‰Zðð ‡J�Jó	÷
 �%ð ð UÐ ð €×Ñ˜TÔ"ñDó #ðDòð, ×Ññ
!ó ð
!÷^9ò ^9r,   