Ë :� C¿¦Kgãó¦—dZddlmZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z m Z ddlmZddlmZddlmZddlmZmZddlZdd lmZd d lmZd d lmZd d lmZd dlm Z d dl!m"Z"d dl!m#Z$d dl%m&Z&d„Z'd„Z(e)ej2jUd«d«Z+dZ,d„Z-d„Z.d„Z/d!d„Z0d„Z1d„Z2d„Z3d„Z4d„Z5Gd„d e«Z6y)"zI Create a wheel (.whl) distribution. A wheel is a built archive format. é)Ú annotationsN)ÚBytesGeneratorÚ Generator)Ú EmailPolicy)Úiglob)Úrmtree)Ú ZIP_DEFLATEDÚ ZIP_STORED)ÚCommandé)Ú __version__)Úcalculate_macosx_platform_tag)Úpkginfo_to_metadata)Úlog)Útags©Úversion)Ú WheelFilecó0—tjdd|«S)zŽConvert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. ú[^A-Za-z0-9.]+Ú-)ÚreÚsub©Únames ú6/usr/lib/python3.12/site-packages/wheel/bdist_wheel.pyÚ safe_namer#s€ô �6‰6Ð" C¨Ó .Ð.ócóÄ— ttj|««S#tj$r,|j dd«}t j dd|«cYSwxYw)zB Convert an arbitrary string to a standard version string Ú Ú.rr)ÚstrÚ_packaging_versionÚVersionÚInvalidVersionÚreplacerrrs rÚ safe_versionr'*sW€ð6äÔ%×-Ñ-¨gÓ6Ó7Ð7øÜ × ,Ñ ,ò6Ø—/‘/ # sÓ+ˆÜ�v‰vÐ&¨¨WÓ5Ò5ð6ús‚  ‰>˜#˜sÓ #Ð#rcó‚—tj|«}|€$|r tjd|›d�td¬«|S||k(S)zfUse a fallback value for determining SOABI flags if the needed config var is unset or unavailable.zConfig variable 'z+' is unset, Python ABI tag may be incorrecté©Ú stacklevel)r9Úget_config_varÚwarningsÚwarnÚRuntimeWarning)ÚvarÚfallbackÚexpectedrDÚvals rÚget_flagrJUsL€ô × "Ñ " 3Ó '€CØ €{Ù Ü �M‰MØ# C 5Ð(WÐWÜØõ ð ˆØ �(‰?ÐrcóÔ—tjd«}tj«}|s™|dvr•t t d«r…d}d}d}t dt t d«|dk(¬«rd }t d |dk(|dk(xrt jd k¬«rt jd krd }|›tj«›|›|›|›�}|S|r/|dk(r*|jd «rd|jd«dz}|S|r,|dk(r'|jd«r|jd«d}|S|rL|dk(rGdj|jd«dd«}|jdd«jdd«}|S|rL|dk(rGdj|jd«dd«}|jdd«jdd«}|S|r$|jdd«jdd«}|Sd}|S)zJReturn the ABI tag based on SOABI (if available) or emulate SOABI (PyPy2).ÚSOABI)ÚcpÚppÚ maxunicodeÚÚPy_DEBUGÚgettotalrefcountrM)rDÚdÚ WITH_PYMALLOC)ééÚmÚcpythonrr rrNNr?r!r8ÚgraalpyrU) r9rBrÚinterpreter_nameÚhasattrr1rJr2Úinterpreter_versionr;ÚsplitÚjoinr&)ÚsoabiÚimplrSrWÚuÚabis rÚ get_abi_tagrcds€ä × $Ñ $ WÓ -€EÜ × Ñ Ó "€DÙ �T˜\Ñ)¬g´c¸<Ô.HØ ˆØ ˆØ ˆÜ �J¤¬Ð-?Ó @ÈÐPTÉ Õ V؈Aä Ø Ø �D‰Lؘ$‘,Ò<¤3×#3Ñ#3°fÑ#<õ ô×Ñ Ò'؈Aà�”t×/Ñ/Ó1Ð2°1°#°a°S¸¸Ð<ˆð& €Jñ% �4˜4’< E×$4Ñ$4°YÔ$?à�U—[‘[ Ó% aÑ(Ñ(ˆð €Jñ �4˜4’< E×$4Ñ$4°TÔ$:à�k‰k˜#Ó˜qÑ!ˆð €Jñ �4˜4’<à�h‰h�u—{‘{ 3Ó'¨¨Ð+Ó,ˆØ�k‰k˜#˜sÓ#×+Ñ+¨C°Ó5ˆð €Jñ �4˜9Ò$Ø�h‰h�u—{‘{ 3Ó'¨¨Ð+Ó,ˆØ�k‰k˜#˜sÓ#×+Ñ+¨C°Ó5ˆð €Jñ Ø�m‰m˜C Ó%×-Ñ-¨c°3Ó7ˆð €Jðˆà €Jrcó8—t|«jdd«S©Nrr8)rr&rs rÚ safer_namerfŒs€Ü �T‹?× "Ñ " 3¨Ó ,Ð,rcó8—t|«jdd«Sre)r'r&rs rÚ safer_versionrh�s€Ü ˜Ó × (Ñ (¨¨cÓ 2Ð2rcó$—t|||d«y)Nr )Úremove_readonly_exc)ÚfuncÚpathÚexcinfos rÚremove_readonlyrn”s€Ü˜˜d G¨A¡JÕ/rcó\—tj|tj«||«y)N)ÚosÚchmodÚstatÚS_IWRITE)rkrlÚexcs rrjrj˜s€Ü‡H�HˆT”4—=‘=Ô!Ùˆ…Jrcó —eZdZdZeedœZdddded«zfdd d d d d ddddjdje««fddde «zfddg Z gd¢Z d„Z d„Zed„«Zd„Zd„Zdezdzfd„Zd„Zed „«Zd!„Zy)"Ú bdist_wheelzcreate a wheel distribution)ÚstoredÚdeflated)z bdist-dir=Úbz1temporary directory for creating the distributionz plat-name=Úpz;platform name to embed in generated filenames (default: %s)N)ú keep-tempÚkzPkeep the pseudo-installation tree around after creating the distribution archive)z dist-dir=rSz-directory to put final built distributions in)ú skip-buildNz2skip rebuilding everything (for testing/debugging))ÚrelativeNz7build the archive using relative paths (default: false))zowner=raz@Owner name used when creating a tar file [default: current user])zgroup=ÚgzAGroup name used when creating a tar file [default: current group])Ú universalNz'make a universal wheel (default: false)z compression=z6zipfile compression (one of: {}) (default: 'deflated')z, z python-tag=z7Python implementation compatibility tag (default: '%s'))z build-number=NzqBuild number for this particular version. As specified in PEP-0427, this must start with a digit. [default: None])zpy-limited-api=Nz?Python tag (cp32|cp33|cpNN) for abi3 wheel tag (default: false))r{r}r~r€có—d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_t«|_d|_d|_d|_y)NÚzipFrx)Ú bdist_dirÚdata_dirÚ plat_nameÚplat_tagÚformatÚ keep_tempÚdist_dirÚ egginfo_dirÚ root_is_pureÚ skip_buildr~ÚownerÚgroupr€Ú compressionr3Ú build_numberÚpy_limited_apiÚplat_name_supplied)Úselfs rÚinitialize_optionszbdist_wheel.initialize_optionsâs�€ØˆŒØˆŒ ؈ŒØˆŒ ؈Œ ؈ŒØˆŒ ØˆÔØ ˆÔ؈ŒØˆŒ ؈Œ ؈Œ ؈ŒØ%ˆÔÜ$›,ˆŒØ ˆÔØ#ˆÔØ"'ˆÕrcó4—|j€@|jd«j}tjj |d«|_|j jd«}|j«|jdz|_ |jdu|_ |j|j|_d}|j"dgt%||«¢­Ž|j j'«xs|j j)« |_|j,r6t/j0t2|j,«st!dt2z«‚|j j5d«}d|vrDt7j8d «|dd j;«}|j=«d vrd |_|j@�)|j@dd jC«s t!d «‚yy#t$rt!d|j›�«d‚wxYw)NÚbdistÚwheelÚegg_infoz.datazUnsupported compression: )r‰r…rŒzpy-limited-api must match '%s'r€z=The [wheel] section is deprecated. Use [bdist_wheel] instead.r )Ú1ÚtrueÚyesTz1Build tag (build-number) must start with a digit.)"rƒÚget_finalized_commandÚ bdist_baserprlr^Ú distributionÚget_command_objÚensure_finalizedÚwheel_dist_namer„r…r’Úsupported_compressionsr�ÚKeyErrorÚ ValueErrorÚset_undefined_optionsr‚Úhas_ext_modulesÚhas_c_librariesr‹r‘rÚmatchÚPY_LIMITED_API_PATTERNÚget_option_dictrÚwarningÚstripÚlowerr€r�Úisdigit)r“r�r˜Ú need_optionsr—rIs rÚfinalize_optionszbdist_wheel.finalize_options÷sî€Ø �>‰>Ð !Ø×3Ñ3°GÓ<×GÑGˆJÜŸW™WŸ\™\¨*°gÓ>ˆDŒNà×$Ñ$×4Ñ4°ZÓ@ˆØ×!Ñ!Ô#à×,Ñ,¨wÑ6ˆŒ Ø"&§.¡.¸Ð"<ˆÔð WØ#×:Ñ:¸4×;KÑ;KÑLˆDÔ ð?ˆ à"ˆ×"Ñ" 7ÐM¬S°¸|Ó-LÓMð × Ñ × -Ñ -Ó /Ò V°4×3DÑ3D×3TÑ3TÓ3Vð ˆÔð × Ò ¤r§x¡xÜ " D×$7Ñ$7ô( ôÐ=Ô@VÑVÓWÐ Wð×!Ñ!×1Ñ1°'Ó:ˆØ ˜%Ñ ä �K‰KØOô ð˜ Ñ$ QÑ'×-Ñ-Ó/ˆCØ�y‰y‹{Ð2Ñ2Ø!%�”à × Ñ Ð (°×1BÑ1BÀ2ÀAÐ1F×1NÑ1NÔ1PÜÐPÓQÐ Qð2QÐ (øô7ò WÜÐ8¸×9IÑ9IÐ8JÐKÓLÐRVÐ Vð Wús  G4Ç4#Hcóè—t|jj««t|jj ««f}|j r||j fz }dj |«S)z4Return distribution full name with - replaced with _r)rfržÚget_namerhÚ get_versionr�r^)r“Ú componentss rr¡zbdist_wheel.wheel_dist_name"sf€ô �t×(Ñ(×1Ñ1Ó3Ó 4Ü ˜$×+Ñ+×7Ñ7Ó9Ó :ð ˆ ð × Ò Ø ˜4×,Ñ,Ð.Ñ .ˆJØ�x‰x˜ Ó#Ð#rcóŠ—|jr |j}nn|jrd}n_|jr(|jjd«s |j}nt |j «}t «r |dvrd}|dvrd}|j«jdd«jd d«jd d«}|jr"|jrd }n |j}|d |f}|Stj«}tj«}||z}|jr#||zjd «r|j}d}n!tt!««j«}|||f}tj"«D�cgc]}|j$|j&|f‘Œ}}||vs Jd|›�«‚|Scc}w)NÚanyr5)r6Ú linux_x86_64Ú linux_i686)r7Ú linux_aarch64Ú linux_armv7lrr8r!r zpy2.py3ÚnoneÚcp3Úabi3z'would build wheel with unsupported tag )r’r…r‹r;r:rƒr.r­r&r€r3rrZr\r‘r"rcÚsys_tagsÚ interpreterrb) r“r…r`ÚtagÚ impl_nameÚimpl_verÚabi_tagÚtÚsupported_tagss rÚget_tagzbdist_wheel.get_tag-s¹€ð × "Ò "ØŸ™‰IØ × Ò Ø‰Ið�~Š~ d§n¡n×&?Ñ&?ÀÔ&IØ ŸN™N‘ ô)¨¯©Ó8� ä$Ô&ØÐ @Ñ@Ø ,�IØÐ BÑBð!/�Ið �O‰OÓ × %Ñ % c¨3Ó /× 7Ñ 7¸¸SÓ A× IÑ IÈ#ÈsÓ Sð ð × Ò Ø�~Š~Ø ‘à—‘�ؘ Ð+ˆCð&ˆ ô#×-Ñ-Ó/ˆIÜ×/Ñ/Ó1ˆHؘxÑ'ˆDà×"Ò"¨ °HÑ(<×'HÑ'HÈÔ'OØ×*Ñ*�Ø ‘äœk›mÓ,×2Ñ2Ó4�ؘ )Ð,ˆCô<@¿=¹=¼?óÙ;J°a�—‘ §¡ yÒ1¸?ð ðð�~Ñ%ð ?à8¸¸Ð>ó ?Ø%àˆ ùò sÆ Gc óÖ—|jd«}d|_d|_|jd«}d|_|js|j d«|jdd¬«}|j |_d|_|j|_d|_ |jd «}d|_ d D]:}t|d |ztjj|j|««Œ<d }tj d k(rUtjj#tjj|jd««}|x|_|_t||j(rdnd|«t+j,d|j ›�«|j d«|j/«\}}} |j0›d|›d|›d| ›�} |j2s |j } nCtjj|j |j5|j6««} |j9dd«dj;t=|j>jA««tC|j>jE«««} tjj|j | «} |jG|jH| «|jK| «tjjM|jN«stjP|jN«tjj|jN| dz«}tS|d|jT«5}|jW| «ddd«tY|j>dg«j[ddj:t\j^ddŽ|f«|j`szt+j,d|j ›�«|jbsKt\j^dkrte|j tf¬«yte|j th¬«yyy#1swYŒ×xYw) NÚ build_scriptsÚpythonTÚ build_extFÚbuildÚinstall)Úreinit_subcommandsÚinstall_scripts)ÚheadersÚscriptsÚdataÚpurelibÚplatlibÚinstall_rPÚntz..Úinstall_purelibÚinstall_platlibzinstalling to rÚinstall_egg_info)ÚtargetrŠz{}-{}.dist-infoz.whlÚwÚ dist_filesrvz{}.{}r?z removing )rUé )Úonerror)Úonexc)5Úreinitialize_commandÚ executableÚforceÚinplacerŒÚ run_commandrƒÚrootÚcompileÚwarn_dirÚno_epÚsetattrrprlr^r„rÚnormpathÚinstall_libbaseÚ install_libr‹rÚinforÆr¡r~Ú_ensure_relativeÚ install_baser¥r‡rfržr²rhr³Úegg2distrŠÚwrite_wheelfileÚexistsr‰Úmakedirsrr�Ú write_filesÚgetattrÚappendr1r2rˆÚdry_runrrnrj)r“rÈrÊrÌrÎÚkeyÚbasedir_observedÚimpl_tagrÃr†Úarchive_basenamer<Údistinfo_dirnameÚ distinfo_dirÚ wheel_pathÚwfs rÚrunzbdist_wheel.rungs€Ø×1Ñ1°/ÓBˆ Ø#+ˆ Ô Ø"ˆ Ôà×-Ñ-¨kÓ:ˆ Ø!ˆ Ôà�ŠØ × Ñ ˜WÔ %à×+Ñ+¨IÈ$Ð+ÓOˆØ—~‘~ˆŒ ؈ŒØ!Ÿ_™_ˆÔØ ˆÔð ×3Ñ3Ð4EÓFˆØ $ˆÔóHˆCÜ �G˜Z¨#Ñ-¬r¯w©w¯|©|¸D¿M¹MÈ3Ó/OÕ PðHðÐä �7‰7�dŠ?ô "Ÿw™w×/Ñ/´·±· ± ¸T¿]¹]ÈDÓ0QÓRÐ Ø6FÐ FˆDÔ  4Ô#3äØ Ø!%×!2Ò!2Ñ Ð8IØ ô ô �‰�> $§.¡.Ð!1Ð2Ô3à ×јÔ#à&*§l¡l£nÑ#ˆ�'˜8Ø"×2Ñ2Ð3°1°X°J¸aÀ¸yÈÈ(ÈÐTÐØ�}Š}ØŸ>™>‰LäŸ7™7Ÿ<™<Ø—‘ × 5Ñ 5°g×6JÑ6JÓ KóˆLð ×"Ñ"Ð#5Ð7PÔQØ,×3Ñ3Ü �t×(Ñ(×1Ñ1Ó3Ó 4Ü ˜$×+Ñ+×7Ñ7Ó9Ó :ó Ðô—w‘w—|‘| D§N¡NÐ4DÓEˆ Ø � ‰ �d×&Ñ&¨ Ô5à ×ј\Ô*ô�w‰w�~‰~˜dŸm™mÔ,Ü �K‰K˜Ÿ ™ Ô &ä—W‘W—\‘\ $§-¡-Ð1AÀFÑ1JÓKˆ Ü �z 3¨×(8Ñ(8Ô 9¸RØ �N‰N˜<Ô (÷:ô �×!Ñ! <°Ó4×;Ñ;àØ�—‘¤× 0Ñ 0°°!Ð 4Ð5Øð ô ð�~Š~Ü �H‰H�y §¡Ð 0Ð1Ô 2Ø—<’<Ü×#Ñ# gÒ-ܘ4Ÿ>™>´?ÖCä˜4Ÿ>™>Ô1DÖEð  ð÷:Ð 9ús Í7QÑQ(z bdist_wheel (Ú)cóx—ddlm}|«}d|d<||d<t|j«j «|d<|j �|j |d<|j «\}}}|jd«D]E}|jd«D]/} |jd«D]} d j|| | f«|d <ŒŒ1ŒGtjj|d «} tjd | ›�«t| d «5} t| d¬«j|«ddd«y#1swYyxYw)Nr)ÚMessagez1.0z Wheel-VersionrzRoot-Is-PurelibÚBuildr!rÚTagÚWHEELz creating Úwb)Ú maxheaderlen)Ú email.messagerr"r‹r­r�rÆr]r^rprlrrìÚopenrÚflatten) r“Úwheelfile_baseÚ generatorrÚmsgrùrÃr†r`rbÚplatÚwheelfile_pathÚfs rrðzbdist_wheel.write_wheelfileÁs€õ *á‹iˆØ$ˆˆOÑØ$ˆˆKÑÜ!$ T×%6Ñ%6Ó!7×!=Ñ!=Ó!?ˆÐ ÑØ × Ñ Ð (Ø×,Ñ,ˆC�‰Lð'+§l¡l£nÑ#ˆ�'˜8Ø—N‘N 3Ö'ˆDØ—}‘} SÖ)�Ø$ŸN™N¨3Ö/�DØ!$§¡¨4°°dÐ*;Ó!<�C˜’Jñ0ñ*ð(ô Ÿ™Ÿ™ n°gÓ>ˆÜ �‰�9˜^Ð,Ð-Ô.Ü �. $Ô '¨1Ü ˜1¨1Ô -× 5Ñ 5°cÔ :÷(× 'Ñ 'ús Ä D0Ä0D9có†—tjj|«\}}|ddtjk(r||ddz}|S)Nrr )rprlÚ splitdriveÚsep)r“rlÚdrives rrízbdist_wheel._ensure_relativeÙsA€ä—g‘g×(Ñ(¨Ó.‰ ˆˆtØ ��!ˆ9œŸ™Ò ؘ4  ˜8Ñ#ˆD؈ rc óú—tdk\r$|jjjxsdSt «}|jj d«}tdk\r!|jjj}nd|vr|ddj «}nd}d|vr3tjdtd ¬ «|j|dd«|s|st|t«sd }|D]�}t|«D]}|jd «rtj d |›d�«Œ.||vsŒ3t"j$j'|«sŒStj(d|›d|›d�«|j|«Œ�Œ‘|S)Né9r-Úmetadataé*Ú license_filesr Ú license_filezEThe "license_file" option is deprecated. Use "license_files" instead.r?r@)z LICEN[CS]E*zCOPYING*zNOTICE*zAUTHORS*Ú~zignoring license file "z" as it looks like a backupzadding license file "z" (matched pattern "z"))Úsetuptools_major_versionržrrÚsetrªr]rCrDÚDeprecationWarningÚaddÚ isinstanceÚlistrÚendswithrÚdebugrprlÚisfilerì)r“ÚfilesrÚpatternsÚpatternrls rÚ license_pathszbdist_wheel.license_pathsàs_€ä # rÒ )à×$Ñ$×-Ñ-×;Ñ;ÒA¸rÐ A䓈Ø×$Ñ$×4Ñ4°ZÓ@ˆÜ # rÒ )à×(Ñ(×1Ñ1×?Ñ?‰Hð (Ñ*Ø# OÑ4°QÑ7×=Ñ=Ó?‘à�à ˜XÑ %Ü �M‰MØWÜ"Øõ ð �I‰I�h˜~Ñ.¨qÑ1Ô 2á™X¬j¸Ä4Ô.HØIˆHãˆGܘgž�Ø—=‘= Ô%Ü—I‘IØ1°$°Ð7RÐSôðà˜uÒ$¬¯©¯©¸Õ)=Ü—H‘HØ/°¨vÐ5IÈ'ÈÐRTÐUôð—I‘I˜d•Oñ'ð ðˆ rcó—d„}||«tjj|«s�ddl}tjj tjj |«d«}|j|«}d|›d�}|r+tjj |d«}|d|›d�z }t|«‚tjj|«r$|} t||«} tj|«n£tjj |d «} t|| «} tj||d „¬ «tjj |d «} t| d ¬«5} | j«j«} ddd« s|| «tjj |d«}t!ddd¬«}t|dd ¬«5}t#||¬«j%| «ddd«|j&D]U}tjj |«}tj(|tjj ||««ŒW||«y#1swYŒáxYw#1swYŒ‚xYw)z:Convert an .egg-info directory into a .dist-info directorycóT—tjj|«rTtjj|«s5tjj |«rt j |«ytjj|«rtj|«yy)z-Appropriately delete directory, file or link.N)rprlrñÚislinkÚisdirÚshutilrÚunlink)rzs rÚadiosz#bdist_wheel.egg2dist..adioss\€ä�w‰w�~‰~˜aÔ ¬¯©¯©¸Ô):¼r¿w¹w¿}¹}ÈQÔ?OÜ— ‘ ˜aÕ Ü—‘—‘ Ô"Ü— ‘ ˜!• ð#rrNz *.egg-infozEgg metadata expected at z but not foundz (z) found - possible misnamed archive file?)úPKG-INFOcó —hd£S)N>ú SOURCES.txtú not-zip-safeú requires.txtr0r-)ÚxÚys rÚz&bdist_wheel.egg2dist..7s€ó%r)Úignorezdependency_links.txtzutf-8)ÚencodingÚMETADATATF)Úutf8Ú mangle_from_Úmax_line_lengthrÚ)Úpolicy)rprlrñÚglobr^ÚdirnameÚbasenamer¤r$rÚmkdirr-Úcopytreer Úreadr¬rrr r(Úcopy)r“Ú egginfo_pathÚ distinfo_pathr/r?ÚpatÚpossibleÚerrÚaltÚ pkginfo_pathÚpkg_infoÚdependency_links_pathÚdependency_links_fileÚdependency_linksÚ pkg_info_pathÚserialization_policyÚoutÚ license_pathÚfilenames rrïzbdist_wheel.egg2dist s€ò ñ ˆmÔä�w‰w�~‰~˜lÔ+ó ä—'‘'—,‘,œrŸw™wŸ™¨|Ó<¸lÓKˆCØ—y‘y “~ˆHØ-¨l¨^¸>ÐJˆCÙÜ—g‘g×&Ñ& x°¡{Ó3�ؘ˜C˜5Ð IÐJÑJ�ä˜S“/Ð !ä �7‰7�>‰>˜,Ô 'à'ˆLÜ*¨<¸ÓFˆHÜ �H‰H�]Õ #ôŸ7™7Ÿ<™<¨ °jÓAˆLÜ*¨<¸ÓFˆHô �O‰OØØñõ ô%'§G¡G§L¡L°Ð@VÓ$WÐ !ÜÐ+°gÕ>ÐBWØ#8×#=Ñ#=Ó#?×#EÑ#EÓ#GÐ ÷?á#ÙÐ+Ô,䟙Ÿ ™  ]°JÓ?ˆ Ü*ØØØô Ðô �- ¨wÕ 7¸3Ü �cÐ"6Ô 7× ?Ñ ?ÀÔ I÷8ð!×.Ô.ˆLÜ—w‘w×'Ñ'¨ Ó5ˆHÜ �K‰K˜ ¤b§g¡g§l¡l°=À(Ó&KÕ Lð/ñ ˆlÕ÷%?Ð>ú÷8Ð 7úsÅ0I/ÇI;É/I8É;J)Ú__name__Ú __module__Ú __qualname__Ú descriptionr r r¢r:r‡r^r3Ú user_optionsÚboolean_optionsr”r°Úpropertyr¡rÆrÿÚ wheel_versionrðrír(rïr-rrrvrv�s„Ø/€KðØ ñÐð Qà Ø ð Ù*¨4Ó0ñ 1ð ð  ð LØRð ð  ð  ð Jà Ø Ø G× NÑ NØ— ‘ Ð0Ó1ó ð ð Ø ð Ù",£,ñ 0ð ð  ð ði9€LòvK€Oò(ò*)RðVñ$óð$ò8òtXFðv)8¸-Ñ(GÈ#Ñ(Mó;ò0ðñ*óð*óXFrrv)TT)7Ú__doc__Ú __future__rrprr-rrr+r1r9rCÚemail.generatorrrÚ email.policyrr?rrÚzipfiler r Ú setuptoolsr rPr r]Úmacosx_libfilerrrÚutilrÚvendored.packagingrrr#Ú wheelfilerrr'Úintr]rr©r.r3r:rJrcrfrhrnrjrvr-rrÚrisÀðñõ #ã Û Û Û Û Û ÛÛß5Ý$ÝÝß,ãÝå*Ý9Ý)ÝÝ$Ý=Ý ò/ò 6ñ˜z×5Ñ5×;Ñ;¸CÓ@ÀÑCÓDÐà!Ðò%ò&ò$ó$ ò%òP-ò3ò0òô v�'õvr