1j"JddlmZgdZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl m Z mZddlmZmZmZddlmZmZmZerddlmZmZe jde jZd Zejd ZGd d e Z!ddZ"ddZ# dddZ$GddeZ%dS)) annotations) WHEEL_INFO_RE WheelFile WheelErrorN)StringIO TextIOWrapper)IO TYPE_CHECKINGLiteral) ZIP_DEFLATEDZipFileZipInfo) SizedBufferStrPathz^(?P(?P[^\s-]+?)-(?P[^\s-]+?))(-(?P\d[^\s-]*))? -(?P[^\s-]+?)-(?P[^\s-]+?)-(?P\S+)\.whl$iwheelceZdZdS)rN)__name__ __module__ __qualname__t/builddir/build/BUILD/cloudlinux-venv-1.0.11/venv/lib/python3.11/site-packages/setuptools/_vendor/wheel/wheelfile.pyrr!sDrrdatabytesreturncPtj|dS)z!urlsafe_b64encode without padding=)base64urlsafe_b64encoderstrip)rs rrr%s!  #D ) ) 0 0 6 66rc`ddt|dzz z}tj||zS)z!urlsafe_b64decode without paddingr)lenrurlsafe_b64decode)rpads rr%r%*s0 !s4yy1}% &C  #D3J / //r timestamp float | Nonetuple[int, int, int, int, int]cttjd|pt j}t |t }t j|ddS)NSOURCE_DATE_EPOCHr)intosenvirongettimemaxMINIMUM_TIMESTAMPgmtime)r's rget_zipinfo_datetimer50sV BJNN#6 8PTY[[QQRRII011I ;y ! !!A# &&rcfeZdZdZejZdefd"d Z d#d$dZ d%dZ d&d'dZ d(d)d Z d*d!Z d S)+rzA ZipFile derivative class that also reads SHA-256 hashes from .dist-info/RECORD and checks any read files against those. rfilermodeLiteral['r', 'w', 'x', 'a'] compressionr-ctj|}t||_|dr|jtd|tj ||||dd |j d|_ |j dz|_ i|_i|_|dkrhd |j|j <d |j|j d z<d |j|j d z< ||j }n'#t"$rtd |j d dwxYw|5t%jt)|ddD]}|\}}} |s |d\} } t-j| n!#t0$rtd| dwxYw| dvrtd| d| t5|df|j|< ddddS#1swxYwYdSdS)Nz.whlzBad wheel filename T)r; allowZip64z {}.dist-infonameverz/RECORDr7NNz.jwsz.p7szMissing z fileutf-8)newlineencoding=zUnsupported hash algorithm: >md5sha1zWeak hash algorithm (z) is not permitted by PEP 427ascii)r.pathbasenamermatchparsed_filenameendswithrr __init__formatgroupdist_info_path record_path _file_hashes _file_sizesopenKeyErrorcsvreaderrsplithashlibnew ValueErrorlowerr%encode) selfr8r9r;rIrecordlinerHhash_sumsize algorithms rrMzWheelFile.__init__As 7##D)),228<<  (( AD,@,H?8??@@ @tT{tTTTT,33  & &y 1 1   .:NP 3;;2H;N name_or_info str | ZipInfoLiteral['r', 'w']pwd bytes | Noner IO[bytes]c d  fd }t|tr|jn||dkr1ds|jvrt dd t j|||||dkrJds5|j\}#tj | j |c _ S) NnewdatarrNonecj}|||r+krtdddSdS)NzHash mismatch for file '')_eofupdatedigestr)rkeofefef_name expected_hash running_hashupdate_crc_origs r _update_crcz#WheelFile.open.._update_crcsy'C OG $ $ $    ( ( ( H|**,, == !FG!F!F!FGGG H H==rr7/zNo hash found for file 'rn)rkrrrl) isinstancerfilenamerLrRrr rTrYrZrx) r^rdr9rgrxrcrsrtrurvrws @@@@@rrTzWheelFile.open{s  H H H H H H H H H H&0 g%F%F XL ! !L  CKK$$S)) t000BBBBCC C \$ dC 8 8 3;;w//44;'+'8'A $I}( '{955 24.+/ rbase_dirstrrlctd|j|g}tj|D]\}}}|t |D]}tjtj ||}tj |rtj || tjj d}||jkr|dr|||f|||||D]\}}|||dS)Nzcreating %r and adding %r to itryz .dist-info)loginfor{r.walksortsortedrHnormpathjoinisfilerelpathreplaceseprQrLappendwrite) r^r|deferredrootdirnames filenamesnamerHarcnames r write_fileszWheelFile.write_filessf 2DM8LLL*,)+):): 2 2 %D(I MMOOOy)) 2 2w'' T4(@(@AA7>>$''2 goodH==EEbgkSVWWG$"222|442 w8888 4111 2  % & &MD' JJtW % % % % & &rr{r str | None compress_type int | Nonect|d5}tj|}|}dddn #1swxYwYt |p|t |j}tj |j tj |j zdz|_ |p|j |_||||dS)Nrb date_time)rTr.fstatfilenoreadrr5st_mtimestatS_IMODEst_modeS_IFMT external_attrr;rwritestr)r^r{rrfstrzinfos rrzWheelFile.writes (D ! ! Q!((**%%B6688D                 x+? +L+L    $|BJ77$+bj:Q:QQVXX+?t/? eT=11111s;AAAzinfo_or_arcnamerSizedBuffer | strct|tr@t|t}|j|_dt jzdz|_t|tr| d}tj ||||t|tr|j n|}td|||jkrq||}|jt%|df|j|<t-||j|<dSdS)NrirrAz adding %rrG)rzr}rr5r;rrS_IFREGrr]r rr{rrrQ_default_algorithmrrrqdecoderRr$rS)r^rrrfnamehash_s rrzWheelFile.writestrsL & , , J& ,@,B,B    .2-=  *.3dl.Br-I  * dC  (;;w''D/}EEE*G44 "  % %!  e$$$ D$ $ $++D11E !%,,..1188AA(D e $'*$iiD U # # # % $rcjljjdkrjrt}t j|ddd}|fdjD|tj ddf j | tjdS)Nw," ) delimiter quotecharlineterminatorc3PK|] \}\}}||dz|zj|fV!dS)rDN)rS).0rrcrr^s r z"WheelFile.close..sX11 5IOe3T5Ee5LMrr@)fpr9rRrrVwriter writerowsitemswriterowrNrQrgetvaluer close)r^rrs` rrzWheelFile.closes 7 49#3#38I#3::DZsSWXXXF   595F5L5L5N5N    OOVD$455r2> ? ? ? MM$*DMMOO < < < dr)r8rr9r:r;r-)r7N)rdrer9rfrgrhrri)r|r}rrlr?)r{r}rrrrrrlN)rrerrrrrrl)rrl)rrr__doc__rYsha256rr rMrTrrrrrrrrr:s! -0' 88888z#&     D&&&&2#$( 22222*%) 00000>rr)rrrrr)r'r(rr))& __future__r__all__rrVrYloggingos.pathr.rerr1iorrtypingr r r zipfiler r r _typeshedrrcompileVERBOSErr3 getLoggerr Exceptionrrr%r5rrrrrs"""""" 6 6 6  &&&&&&&&----------2222222222/........  CJ g          7777 0000#'''''wwwwwwwwwwr