Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ÝPf~ã@s$dZddlmZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlmZddlmZddlmZddlZddlmZddlmZmZdd lmZmZm Z dd l!m"Z"m#Z#dd lm$Z$dd l%m&Z&m'Z'm(Z(m)Z)m*Z*dd l+m,Z,ddl-m.Z.ddl/m0Z0ddl1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8dZ9d9Z:ej;e<ƒZ=Gdd„de>ƒZ?dd„Z@dd„ZAd;dd„ZBd d!„ZCd"d#„ZDe jEd$e jFƒZGd%d&„ZHd'd(„ZIdƒZOGd7d8„d8e>ƒZPdS)=zH Support for installing and building the "wheel" binary package format. é)Úabsolute_importN)Úurlsafe_b64encode)ÚParser)ÚStringIO)Ú expanduser)Ú path_to_urlÚ unpack_url)ÚInstallationErrorÚInvalidWheelFilenameÚUnsupportedWheel)Údistutils_schemeÚPIP_DELETE_MARKER_FILENAME)Ú pep425tags)Úcall_subprocessÚ ensure_dirÚcaptured_stdoutÚrmtreeÚ read_chunks)Ú open_spinner)Ú indent_log)ÚSETUPTOOLS_SHIM)Ú ScriptMaker)Ú pkg_resources)Úcanonicalize_name)Ú configparserz.whléc@s eZdZdZdd„Zdd„ZdS)Ú WheelCachez&A cache of wheels for future installs.cCs|r t|ƒnd|_||_dS)zÉCreate a wheel cache. :param cache_dir: The root of the cache. :param format_control: A pip.index.FormatControl object to limit binaries being read from the cache. N)rÚ _cache_dirÚ_format_control)ÚselfÚ cache_dirÚformat_control©r"ú/usr/lib/python3.6/wheel.pyÚ__init__8szWheelCache.__init__cCst|j||j|ƒS)N)Ú cached_wheelrr)rÚlinkÚ package_namer"r"r#r%BszWheelCache.cached_wheelN)Ú__name__Ú __module__Ú __qualname__Ú__doc__r$r%r"r"r"r#r5s rcCs�|jg}|jdk r4|jdk r4|jdj|j|jgƒƒdj|ƒ}tj|jƒƒjƒ}|dd…|dd…|dd…|dd…g}t j j|df|žŽS)aË Return a directory to store cached wheels in for link. Because there are M wheels for any one sdist, we provide a directory to cache them in, and then consult that directory when looking up cache hits. We only insert things into the cache if they have plausible version numbers, so that we don't contaminate the cache with things that were not unique. E.g. ./package might have dozens of installs done for it and build a version of 0.0...and if we built and cached a wheel, we'd end up using the same wheel even if the source has been edited. :param cache_dir: The cache_dir being used by pip. :param link: The link of the sdist for which this will cache wheels. Nú=ú#éééZwheels) Zurl_without_fragmentZ hash_nameÚhashÚappendÚjoinÚhashlibZsha224ÚencodeZ hexdigestÚosÚpath)r r&Z key_partsZkey_urlZhashedÚpartsr"r"r#Ú_cache_for_linkGs ,r9c Cs,|s|S|s|S|jr|S|js$|S|s,|St|ƒ}tjj||ƒ}d|krN|St||ƒ}ytj|ƒ}Wn:t k r }z|j t j t j fkrŽ|S‚WYdd}~XnXg} xL|D]D} y t | ƒ} Wntk rÒw¬YnX| jƒsÞq¬| j| jƒ| fƒq¬W| �sþ|S| jƒtjj|| ddƒ} tjjt| ƒƒS)NÚbinaryrr)Úis_wheelÚ is_artifactrÚpipÚindexÚfmt_ctl_formatsr9r6ÚlistdirÚOSErrorÚerrnoÚENOENTÚENOTDIRÚWheelr Ú supportedr2Úsupport_index_minÚsortr7r3ÚLinkr) r r&r!r'Zcanonical_nameZformatsÚrootZ wheel_namesÚeZ candidatesÚ wheel_nameÚwheelr7r"r"r#r%psF   r%Úsha256éc Csttj|ƒ}d}t|dƒ�2}x*t||d�D]}|t|ƒ7}|j|ƒq(WWdQRXdt|jƒƒjdƒj dƒ}||fS)z6Return (hash, length) for path using hashlib.new(algo)rÚrb)ÚsizeNzsha256=Úlatin1r,) r4ÚnewÚopenrÚlenÚupdaterÚdigestÚdecodeÚrstrip)r7ZalgoZ blocksizeÚhZlengthÚfÚblockrWr"r"r#Úrehash—s    r]cCs6tjddkri}d}n ddi}d}t|||f|ŽS)NréÚbÚnewlineÚ)ÚsysÚ version_inforT)ÚnameÚmodeÚnlÚbinr"r"r#Ú open_for_csv¥s rhcCs–tjj|ƒr’t|dƒ�H}|jƒ}|jdƒs.dStjjtj ƒƒ}d|tj jdƒ}|j ƒ}WdQRXt|dƒ�}|j |ƒ|j |ƒWdQRXdSdS) zLReplace #!python with #!/path/to/python Return True if file was changed.rPs#!pythonFs#!ÚasciiNÚwbT) r6r7ÚisfilerTÚreadlineÚ startswithrbÚ executabler5ÚgetfilesystemencodingÚlinesepÚreadÚwrite)r7ZscriptÚ firstlineZexenameÚrestr"r"r#Ú fix_script¯s     ruzZ^(?P(?P.+?)(-(?P\d.+?))?) \.dist-info$c Cs†|jddƒ}xttj|ƒD]f}tj|ƒ}|r|jdƒ|krttjj||dƒƒ�,}x$|D]}|j ƒj ƒ}|dkrTdSqTWWdQRXqWdS) zP Return True if the extracted wheel in wheeldir should go into purelib. ú-Ú_rdÚWHEELzroot-is-purelib: trueTNF) Úreplacer6r@Ú dist_info_reÚmatchÚgrouprTr7r3ÚlowerrY)rdÚwheeldirZ name_foldedÚitemr{rMÚliner"r"r#Úroot_is_purelibÄs    r�c Csºtjj|ƒsiifSt|ƒ�<}tƒ}x$|D]}|j|jƒƒ|jdƒq*W|jdƒWdQRXtj ƒ}dd„|_ |j |ƒi}i}|j dƒršt |jdƒƒ}|j dƒr²t |jdƒƒ}||fS)NÚ rcSs|S)Nr")Zoptionr"r"r#Úäsz!get_entrypoints..Zconsole_scriptsZ gui_scripts)r6r7ÚexistsrTrrrÚstripÚseekrZRawConfigParserZ optionxformZreadfpZ has_sectionÚdictÚitems)ÚfilenameÚfpÚdatar€ZcpÚconsoleÚguir"r"r#Úget_entrypointsÔs$       rŽFTc +)s|st|||||| d�}t|ˆ ƒr,|d‰n|d‰g‰g‰ˆ jtjjƒtjj} i‰tƒ‰g} |r²tƒ�4} tj ƒ� tj dƒt j | ddd�WdQRXWdQRXt j| jƒƒdd „‰d2‡‡‡‡‡ fd d „ ‰ d3‡‡‡ ‡ fd d„ }|| ˆdƒtjjˆddƒ}t|ƒ\‰‰‡‡fdd„}xvˆD]n}d}d}x^tjtjjˆ |ƒƒD]F}d}|dk�r^t}|}tjjˆ ||ƒ} ||}|| |d ||d��qDW�q"Wtd|dƒ‰dˆ_td4ƒˆ_dˆ_‡‡ fdd„}|ˆ_dˆ_ˆjddƒ}|�rŒdtjk�rd|}| jˆj|ƒƒtjjddƒdk�rBdtj dd…|f}| jˆj|ƒƒdtj dd…|f}| jˆj|ƒƒd d!„ˆDƒ}x|D] }ˆ|=�q|Wˆjd"dƒ}|�r dtjk�rÂd#|}| jˆj|ƒƒd$tj dd…|f}| jˆj|ƒƒd%d!„ˆDƒ}x|D] }ˆ|=�qüWt!ˆƒdk�r8| jˆj"d&d!„ˆj#ƒDƒƒƒt!ˆƒdk�rj| jˆj"d'd!„ˆj#ƒDƒd(diƒƒtjjˆdd)ƒ}tjjˆdd*ƒ}t$|d+ƒ�}|j%d,ƒWdQRXt&j'||ƒ| j(|ƒtjjˆdd-ƒ} tjjˆdd.ƒ}!t)| d/ƒ��}"t)|!d0ƒ�ø}#t*j+|"ƒ}$t*j,|#ƒ}%xV|$D]N}&ˆj|&d|&dƒ|&d<|&dˆk�r^t-|&dƒ\|&d<|&d1<|%j.|&ƒ�qWx`| D]X}'t-|'ƒ\}(})ˆ|'ˆƒ}*| �rº|*j/| ƒ�rºtjjtjtjj0|*| ƒƒ}*|%j.|*|(|)fƒ�qtWx"ˆD]}'|%j.ˆ|'ddfƒ�qÖWWdQRXWdQRXt&j'|!| ƒdS)5zInstall a wheel)ÚuserÚhomerJÚisolatedÚprefixÚpurelibÚplatlibÚignoreT)ÚforceÚquietNcSstjj||ƒjtjjdƒS)Nú/)r6r7ÚrelpathryÚsep)ÚsrcÚpr"r"r#Únormpathsz"move_wheel_files..normpathFcs.ˆ|ˆƒ}ˆ|ˆƒ}|ˆ|<|r*ˆj|ƒdS)z6Map archive RECORD paths to installation RECORD paths.N)Úadd)ÚsrcfileÚdestfileZmodifiedZoldpathÚnewpath)ÚchangedÚ installedÚlib_dirr�r~r"r#Úrecord_installeds   z*move_wheel_files..record_installedcs´t|ƒ�x¤tj|ƒD�]”\}}}|t|ƒd…jtjjƒ}tjj||ƒ} |rj|jtjjdƒdj dƒrjqxl|D]d} tjj||| ƒ} |r¨|dkr¨| j dƒr¨ˆj | ƒqpqp|rp| j dƒrpt | ƒj t ˆj ƒƒrpˆj | ƒqpWxÒ|D]Ê} |rð|| ƒrðqÞtjj|| ƒ} tjj||| ƒ}t| ƒtj| |ƒtj| ƒ}ttdƒ�rLtj||j|jfƒtj| tjƒ�rŠtj| ƒ}|jtjBtjBtjB}tj||ƒd}|�rœ||ƒ}ˆ| ||ƒqÞWqWdS)Nrrz.dataraz .dist-infoÚutimeF)rr6ÚwalkrUÚlstripr7ršr3ÚsplitÚendswithr2rrmrdÚshutilZcopyfileÚstatÚhasattrr¦Úst_atimeÚst_mtimeÚaccessÚX_OKÚst_modeÚS_IXUSRÚS_IXGRPÚS_IXOTHÚchmod)ÚsourceÚdestZis_baseÚfixerÚfilterÚdirZsubdirsÚfilesZbasedirZdestdirÚsZ destsubdirr[rŸr ÚstZ permissionsr¢)Ú data_dirsÚinfo_dirr¥Úreqr"r#ÚclobbersD           z!move_wheel_files..clobberrzentry_points.txtcsh|jƒjdƒr|dd…}n<|jƒjdƒr8|dd…}n |jƒjdƒrT|dd…}n|}|ˆkpf|ˆkS) Nz.exer/z -script.pyé z.pyaéüÿÿÿiöÿÿÿrÄ)r}rª)rdZ matchname)rŒr�r"r#Úis_entrypoint_wrapperasz/move_wheel_files..is_entrypoint_wrapperÚscripts)r¹rºracs<|jdkrtd|ˆfƒ‚ˆj|j|jjdƒd|jdœS)Nz­Invalid script entry point: %s for req: %s - A callable suffix is required. Cf https://packaging.python.org/en/latest/distributing.html#console-scripts for more information.Ú.r)ÚmoduleZ import_nameÚfunc)Úsuffixr Úscript_templater’r©)Úentry)ÚmakerrÁr"r#Ú_get_script_text�s  z*move_wheel_files.._get_script_textzÐ# -*- coding: utf-8 -*- import re import sys from %(module)s import %(import_name)s if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.exit(%(func)s()) r=ZENSUREPIP_OPTIONSzpip = Z altinstallz pip%s = %srr^cSsg|]}tjd|ƒr|‘qS)zpip(\d(\.\d)?)?$)Úrer{)Ú.0Úkr"r"r#ú ×sz$move_wheel_files..Z easy_installzeasy_install = zeasy_install-%s = %scSsg|]}tjd|ƒr|‘qS)zeasy_install(-\d\.\d)?$)rÏr{)rÐrÑr"r"r#rÒäscSsg|] }d|‘qS)z%s = %sr")rÐÚkvr"r"r#rÒìscSsg|] }d|‘qS)z%s = %sr")rÐrÓr"r"r#rÒñsr�Z INSTALLERz INSTALLER.piprjspip ÚRECORDz RECORD.pipÚrzw+r.)F)NN)ra)1r r�rYr6r7ršÚsetrÚwarningsÚcatch_warningsÚfilterwarningsÚ compileallÚ compile_dirÚloggerÚdebugÚgetvaluer3rŽr@rurrÂZvariantsZset_moderÎrËÚpopÚenvironÚextendZmakeÚgetrbÚversionrUZ make_multiplerˆrTrrr«Úmover2rhÚcsvÚreaderÚwriterr]Zwriterowrmr™)+rdrÁr~r�r�rJZ pycompileÚschemer‘r’Zstrip_file_prefixr·Z generatedÚstdoutrÂZep_filerÅZdatadirr¹rºZsubdirr¸rÎZ pip_scriptÚspecZpip_eprÑZeasy_install_scriptZeasy_install_epZ installerZtemp_installerZinstaller_fileÚrecordZ temp_recordZ record_inZ record_outrærçÚrowr[rZÚlZ final_pathr") r¢rŒr¿r�rÀr£r¤rÍr�r¥rÁr~r#Úmove_wheel_filesðsÌ     $;      #                     .rîcstjˆƒ‡fdd„ƒ}|S)Nc?s6tƒ}x*ˆ||ŽD]}||kr|j|ƒ|VqWdS)N)rÖrž)ÚargsÚkwÚseenr)Úfnr"r#Úuniques  z_unique..unique)Ú functoolsÚwraps)ròrór")ròr#Ú_uniquesröccsŠddlm}tj||jdƒƒƒ}xd|D]\}tjj|j|dƒ}|V|j dƒr&tjj |ƒ\}}|dd…}tjj||dƒ}|Vq&WdS) a Yield all the uninstallation paths for dist based on RECORD-without-.pyc Yield paths to all the files in RECORD. For each .py file in RECORD, add the .pyc in the same directory. UninstallPathSet.add() takes care of the __pycache__ .pyc. r)ÚFakeFilerÔz.pyNr^z.pycéýÿÿÿ) Ú pip.utilsr÷råræZget_metadata_linesr6r7r3Úlocationrªr©)Údistr÷rÕrìr7ZdnròÚbaser"r"r#Úuninstallation_paths"s    rýc CsdyTdd„tjd|ƒDƒd}|jdƒ}tƒj|ƒ}|djƒ}ttt|j dƒƒƒ}|SdSdS) z† Return the Wheel-Version of an extracted wheel, if possible. Otherwise, return False if we couldn't parse / extract it. cSsg|]}|‘qSr"r")rÐÚdr"r"r#rÒ?sz!wheel_version..Nrrxz Wheel-VersionrÇF) rZ find_on_pathZ get_metadatarZparsestrr…ÚtupleÚmapÚintr©)Ú source_dirrûZ wheel_datarãr"r"r#Ú wheel_version8s   rcCsb|std|ƒ‚|dtdkr>td|djtt|ƒƒfƒ‚n |tkr^tjddjtt|ƒƒƒdS)aê Raises errors or warns if called with an incompatible Wheel-Version. Pip should refuse to install a Wheel-Version that's a major series ahead of what it's compatible with (e.g 2.0 > 1.1); and warn when installing a version only minor version ahead (e.g 1.2 > 1.1). version: a 2-tuple representing a Wheel-Version (Major, Minor) name: name of wheel or package to raise exception about :raises UnsupportedWheel: when an incompatible Wheel-Version is given z(%s is in an unsupported or invalid wheelrzB%s's Wheel-Version (%s) is not compatible with this version of piprÇz*Installing from a newer Wheel-Version (%s)N)r ÚVERSION_COMPATIBLEr3rÚstrrÜÚwarning)rãrdr"r"r#Úcheck_compatibilityKs  rc@s:eZdZdZejdejƒZdd„Zd dd„Z d dd „Z dS) rEz A wheel filezŽ^(?P(?P.+?)-(?P\d.*?)) ((-(?P\d.*?))?-(?P.+?)-(?P.+?)-(?P.+?) \.whl|\.dist-info)$csžˆjj|ƒ}|std|ƒ‚|ˆ_|jdƒjddƒˆ_|jdƒjddƒˆ_|jdƒjdƒˆ_ |jdƒjdƒˆ_ |jd ƒjdƒˆ_ t ‡fd d „ˆj Dƒƒˆ_ d S) zX :raises InvalidWheelFilename: when the filename is invalid for a wheel z!%s is not a valid wheel filename.rdrwrvZverZpyverrÇÚabiZplatc3s0|](}ˆjD]}ˆjD]}|||fVqq qdS)N)ÚabisÚplats)rÐÚxÚyÚz)rr"r#ú ˆsz!Wheel.__init__..N)Ú wheel_file_rer{r r‰r|ryrdrãr©Z pyversionsr r rÖÚ file_tags)rr‰Z wheel_infor")rr#r$ts  zWheel.__init__Ncs2ˆdkrtj‰‡fdd„|jDƒ}|r.t|ƒSdS)a" Return the lowest index that one of the wheel's file_tag combinations achieves in the supported_tags list e.g. if there are 8 supported tags, and one of the file tags is first in the list, then return 0. Returns None is the wheel is not supported. Ncsg|]}|ˆkrˆj|ƒ‘qSr")r>)rÐÚc)Útagsr"r#rÒ•sz+Wheel.support_index_min..)rÚsupported_tagsrÚmin)rrZindexesr")rr#rGŒszWheel.support_index_mincCs"|dkrtj}tt|ƒj|jƒƒS)z'Is this wheel supported on this system?N)rrÚboolrÖÚ intersectionr)rrr"r"r#rF˜szWheel.supported)N)N) r(r)r*r+rÏÚcompileÚVERBOSErr$rGrFr"r"r"r#rEhs rEc@sHeZdZdZddd„Zddd„Zdd„Zdd d „Zd d „Zddd„Z dS)Ú WheelBuilderz#Build wheels from a RequirementSet.NcCs6||_||_|jj|_|j|_|p$g|_|p.g|_dS)N) Úrequirement_setÚfinderZ _wheel_cacherÚ _cache_rootZwheel_download_dirÚ _wheel_dirÚ build_optionsÚglobal_options)rrrrrr"r"r#r$¢s   zWheelBuilder.__init__cCsˆtjdƒ}zn|j|||d�rlyBtj|ƒd}tjj||ƒ}tjtjj||ƒ|ƒt j d|ƒ|SYnX|j |ƒdSt |ƒXdS)ziBuild one wheel. :return: The filename of the built wheel, or None if the build failed. z pip-wheel-)Ú python_tagrzStored in directory: %sN) ÚtempfileZmkdtempÚ_WheelBuilder__build_oner6r@r7r3r«rärÜÚinfoÚ _clean_oner)rrÁÚ output_dirr ÚtempdrLZ wheel_pathr"r"r#Ú _build_one«s   zWheelBuilder._build_onecCstjddt|jgt|jƒS)Nz-uz-c)rbrnrZsetup_pyÚlistr)rrÁr"r"r#Ú_base_setup_argsÁs zWheelBuilder._base_setup_argscCsœ|j|ƒ}d|jf}t|ƒ�t}tjd|ƒ|dd|g|j}|dk rT|d|g7}yt||jd|d�dS|jd ƒtj d |jƒdSWdQRXdS) Nz#Running setup.py bdist_wheel for %szDestination directory: %sZ bdist_wheelz-dz --python-tagF)ÚcwdÚ show_stdoutÚspinnerTÚerrorzFailed building wheel for %s) r)rdrrÜrÝrrZ setup_py_dirZfinishr-)rrÁr&r Ú base_argsZ spin_messager,Z wheel_argsr"r"r#Z __build_oneÇs       zWheelBuilder.__build_onec CsV|j|ƒ}tjd|jƒ|ddg}yt||jdd�dStjd|jƒdSdS)NzRunning setup.py clean for %sZcleanz--allF)r*r+Tz Failed cleaning build dir for %s)r)rÜr#rdrrr-)rrÁr.Z clean_argsr"r"r#r$Üs  zWheelBuilder._clean_oneFcCsž|jj|jƒ|jjjƒ}g}xÀ|D]¸}|jr0q$|jrJ|sÜtjd|j ƒq$|rV|j rVq$|rl|j rl|j j rlq$|rz|j rzq$|rÒ|j }|jƒ\}}tjj|d|ƒdkr¦q$dtjj|jjt|j ƒƒkrÒtjd|j ƒq$|j|ƒq$W|sèdStjddjdd „|Dƒƒƒtƒ��<gg}} �x(|D�]}d} |�r–tj} t|j|j ƒ} y t| ƒWnBtk �r’} z$tjd |j | ƒ| j|ƒ�w WYdd} ~ XnXn|j} |j || | d �} | �r4|j|ƒ|�r>|j �rît!j"j#t!j"j|j t$ƒƒ �rît%d ƒ‚|j&ƒ|j'|jj(ƒ|_ tjj)t*| ƒƒ|_ t+|j |j dd |jj,d�n | j|ƒ�q WWdQRX|�rptjddjdd „|Dƒƒƒ| �r’tjddjdd „| Dƒƒƒt-| ƒdkS)zÙBuild wheels. :param unpack: If True, replace the sdist we built from with the newly built wheel, in preparation for installation. :return: True if all the wheels built correctly. z(Skipping %s, due to already being wheel.Nr:zCSkipping bdist_wheel for %s, due to binaries being disabled for it.Tz*Building wheels for collected packages: %sz, cSsg|] }|j‘qSr")rd)rÐrÁr"r"r#rÒsz&WheelBuilder.build..z Building wheel for %s failed: %s)r zbad source dir - missing markerF)ÚsessionzSuccessfully built %sú cSsg|] }|j‘qSr")rd)rÐrÁr"r"r#rÒQszFailed to build %scSsg|] }|j‘qSr")rd)rÐrÁr"r"r#rÒVsr).rZ prepare_filesrZ requirementsÚvaluesZ constraintr;rÜr#rdZeditabler&r<rÚsplitextr=r>Zegg_info_matchesr?r!rr2r3rrZimplementation_tagr9rrrArrr'r6r7r„r ÚAssertionErrorZremove_temporary_sourceZbuild_locationZ build_dirrIrrr/rU)rZ autobuildingZreqsetZbuildsetrÁr&rüZextZ build_successZ build_failurer r%rKZ wheel_filer"r"r#Úbuildèsš                zWheelBuilder.build)NN)N)N)F) r(r)r*r+r$r'r)r"r$r4r"r"r"r#rŸs    r)rré)rNr5)FNNTNFNN)Qr+Z __future__rrÚrårBrôr4Zloggingr6Zos.pathrÏr«r¬rbr!r×Úbase64rZ email.parserrZpip._vendor.sixrr=Z pip.compatrZ pip.downloadrrZpip.exceptionsr r r Z pip.locationsr r rrùrrrrrZ pip.utils.uirZpip.utils.loggingrZpip.utils.setuptools_buildrZpip._vendor.distlib.scriptsrZ pip._vendorrZpip._vendor.packaging.utilsrZpip._vendor.six.movesrZ wheel_extrZ getLoggerr(rÜÚobjectrr9r%r]rhrurrrzr�rŽrîrörýrrrErr"r"r"r#Úsn              )'    ' 7