Your IP : 216.73.216.252
�
�Rec@@s\ddlmZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlZddl
mZddlmZddlmZddlmZddlmZddlmZmZdd lmZmZmZmZmZdd
l m!Z"ddl#m$Z%ddl&m'Z'dd
l(m)Z)ddl*m+Z+m,Z,m-Z-m.Z.ddl/m0Z0m1Z1m2Z2m3Z3ddl4m5Z5m6Z6ddl7m8Z8m9Z9er�ddlm:Z;nddlm;Z;e5r�ddl<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHddlImJZJeFeKeKeKfZLeGd�ZMndddddddddd d!d"d#d$gZNejOeP�ZQd%�ZRd&�ZSd'�ZTd(�ZUed)d*d+d,�eVd-��ZWd.�ZXd/�ZYd0�ZZd1d2�Z[d3�Z\d4�Z]d5�Z^d6�Z_d7�Z`d8�Zad9�Zbd:�Zcejdd;�Zeefd<�Zgd=�Zhd>�Zid?�Zjd@�ZkdA�ZldB�ZmdC�ZndD�Zoefe2efeVeVddE�ZqdF�ZrdG�ZsdH�ZtdI�ZudJ�ZvdKewfdL��YZxdMe;fdN��YZyejzdO��Z{dP�Z|dQ�Z}ddR�Z~dS�ZdT�Z�dU�Z�dVdW�Z�dX�Z�dY�Z�dZ�Z�d[�Z�d\�Z�d]�Z�d^�Z�d_�Z�d`�Z�daewfdb��YZ�dc�Z�dd�Z�de�Z�df�Z�dmdi�Z�dj�Z�dk�Z�dl�Z�dS(ni(tabsolute_importN(tdeque(ttee(t
pkg_resources(tcanonicalize_name(tretry(tPY2t text_type(tfiltertfilterfalsetinputtmaptzip_longest(tparse(tunquote(t__version__(tCommandError(tdistutils_schemetget_major_minor_versiont
site_packagest user_site(tWINDOWSt
expandusertstdlib_pkgststr_to_display(tMYPY_CHECK_RUNNINGtcast(trunning_under_virtualenvtvirtualenv_no_global(tBytesIO(tStringIO(tAnytAnyStrtCallablet ContainertIterabletIteratortListtOptionaltTexttTupletTypeVartUnion(tDistributiontTtrmtreetdisplay_patht
backup_dirtasktsplitexttformat_sizetis_installable_dirtnormalize_pathtrenamestget_progtcaptured_stdoutt
ensure_dirtget_installed_versiontremove_auth_from_urlcC@sLtjjtjjt�dd�}tjj|�}djt|t��S(Ns..spip {} from {} (python {})( tostpathtjointdirnamet__file__tabspathtformatRR(tpip_pkg_dir((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytget_pip_versionOs$cC@sYt|�dkr-|dt|�d7}nt|�dkrL|d }ntd|�S(sx
Convert a tuple of ints representing a Python version to one of length
three.
:param py_version_info: a tuple of ints representing a Python version,
or None to specify no version. The tuple can have any length.
:return: a tuple of length three if `py_version_info` is non-None.
Otherwise, return `py_version_info` unchanged (i.e. None).
iitVersionInfo(i(tlenR(tpy_version_info((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytnormalize_version_info[s
cC@sUytj|�Wn=tk
rP}|jtjkrQ|jtjkrQ�qQnXdS(s os.path.makedirs without EEXIST.N(R;tmakedirstOSErrorterrnotEEXISTt ENOTEMPTY(R<te((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR8os
$cC@s^y=tjjtjd�}|dkr8djtj�S|SWnttt fk
rYnXdS(Nis__main__.pys-cs {} -m piptpip(s__main__.pys-c(
R;R<tbasenametsystargvRAt
executabletAttributeErrort TypeErrort
IndexError(tprog((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR6zststop_max_delayi�t
wait_fixedi�cC@stj|d|dt�dS(Nt
ignore_errorstonerror(tshutilR-trmtree_errorhandler(tdirRY((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR-�scC@sgytj|�jtj@}Wnttfk
r8dSX|r`tj|tj�||�dS�dS(s�On Windows, the files in .svn are read-only, so when rmtree() tries to
remove them, an exception is thrown. We catch that here, remove the
read-only attribute, and hopefully continue without problems.N(R;tstattst_modetS_IWRITEtIOErrorRItchmod(tfuncR<texc_infothas_attr_readonly((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR\�s
cC@s�|dkrdSt|t�r#|Sy|jtj�d�}Wn;tk
r|trmtdj |��}q}t
|�}nX|S(s�
Convert a bytes (or text) path to text (unicode in Python 2) for display
and logging purposes.
This function should never error out. Also, this function is mainly needed
for Python 2 since in Python 3 str paths are already text.
tstrictsb{!r}N(tNonet
isinstanceRtdecodeRPtgetfilesystemencodingtUnicodeDecodeErrorRRRAtascii(R<R.((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytpath_to_display�s
cC@s�tjjtjj|��}tjddkrd|jtj�d�}|jtj �d�}n|j
tj�tjj�r�d|t
tj��}n|S(sTGives the display value for a given path, making it relative to cwd
if possible.iitreplacet.(R;R<tnormcaseR@RPtversion_infoRiRjtencodetgetdefaultencodingt
startswithtgetcwdtsepRE(R<((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR.�ss.bakcC@sKd}|}x4tjj||�rB|d7}|t|�}qW||S(s\Figure out the name of a directory to back up the given dir to
(adding .bak, .bak2, etc)i(R;R<texistststr(R]texttnt extension((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR/�s
cC@sCx3tjjdd�j�D]}||kr|SqWt||�S(NtPIP_EXISTS_ACTIONt(R;tenvirontgettsplitR0(tmessagetoptionstaction((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytask_path_exists�s"cC@s.tjjd�r*tdj|���ndS(s&Raise an error if no input is allowed.tPIP_NO_INPUTs7No input was expected ($PIP_NO_INPUT set); question: {}N(R;R~Rt ExceptionRA(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt_check_no_input�scC@s`xYt|�t|�}|j�j�}||krTdj|dj|��GHq|SqWdS(s@Ask the message interactively, with the given possible responsess>Your response ({!r}) was not one of the expected responses: {}s, N(R�R
tstriptlowerRAR=(R�R�tresponse((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR0�s
cC@st|�t|�S(sAsk for input interactively.(R�R
(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt ask_inputs
cC@st|�tj|�S(s!Ask for a password interactively.(R�tgetpass(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytask_passwords
cC@sx|dkr!dj|dd�S|d krDdjt|d��S|dkradj|d�Sdjt|��SdS(
Ni�s {:.1f} MBg@�@i
s{} kBs {:.1f} kBs{} bytesi@Bi'(RAtint(tbytes((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR2scC@s�g|D]}ttt|��^q}gtdd|�D]}ttt|��^q;}g|D]*}djttj||��j�^qc}||fS(s�Return a list of formatted rows and a list of column sizes.
For example::
>>> tabulate([['foobar', 2000], [0xdeadbeef]])
(['foobar 2000', '3735928559'], [10, 4])
t fillvalueR}t ( ttupleRRxRtmaxRER=tljusttrstrip(trowstrowtcoltsizesttable((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyttabulates (47cC@sptjj|�stStjj|d�}tjj|�rAtStjj|d�}tjj|�rltStS(sBIs path is a directory containing setup.py or pyproject.toml?
ssetup.pyspyproject.toml(R;R<tisdirtFalseR=tisfiletTrue(R<tsetup_pytpyproject_toml((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR3)scc@s/x(tr*|j|�}|s"Pn|VqWdS(s7Yield pieces of data from a file-like object until EOF.N(R�tread(tfiletsizetchunk((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytread_chunks8s
cC@sIt|�}|r'tjj|�}ntjj|�}tjj|�S(sN
Convert a path to its canonical, case-normalized, absolute version.
(RR;R<trealpathR@Rp(R<tresolve_symlinks((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR4As
cC@sOtj|�\}}|j�jd�rE|d|}|d }n||fS(s,Like os.path.splitext, but take off .tar toos.tari����(t posixpathR1R�tendswith(R<tbaseRy((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR1Os
cC@s�tjj|�\}}|rG|rGtjj|�rGtj|�ntj||�tjj|�\}}|r�|r�ytj|�Wq�tk
r�q�XndS(s7Like os.renames(), but handles renaming across devices.N( R;R<R�RwRHR[tmovet
removedirsRI(toldtnewtheadttail((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR5Ys
cC@s#t�s
tS|jttj��S(s�
Return True if path is within sys.prefix, if we're running in a virtualenv.
If we're not in a virtualenv, all paths are considered "local."
Caution: this function assumes the head of path has been normalized
with normalize_path.
(RR�RtR4RPtprefix(R<((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytis_localks
cC@stt|��S(s�
Return True if given Distribution object is installed locally
(i.e. within current virtualenv).
Always True if we're not in a virtualenv.
(R�t
dist_location(tdist((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt
dist_is_localzs cC@st|�jtt��S(sF
Return True if given Distribution is installed in user site.
(R�RtR4R(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytdist_in_usersite�scC@st|�jtt��S(s[
Return True if given Distribution is installed in
sysconfig.get_python_lib().
(R�RtR4R(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytdist_in_site_packages�scC@s<tt|��}|jttd�djd�d��S(sf
Return True if given Distribution is installed in
path matching distutils_scheme layout.
R}tpurelibtpythoni(R4R�RtRR�(R�t norm_path((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytdist_in_install_path�s cC@sJxCtjD]8}tjj||jd�}tjj|�r
tSq
WtS(sC
Return True if given Distribution is an editable install.
s .egg-link(RPR<R;R=tproject_nameR�R�R�(R�t path_itemtegg_link((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytdist_is_editable�s
cC@s�|rtj|�}n tj}|r0t}n d�}|rKd�}n d�}|rfd�} n d�} |r~t}
n d�}
g|D]K}||�r�|j|kr�||�r�| |�r�|
|�r�|^q�S(s^
Return a list of installed Distribution objects.
If ``local_only`` is True (default), only return installations
local to the current virtualenv, if in a virtualenv.
``skip`` argument is an iterable of lower-case project names to
ignore; defaults to stdlib_pkgs
If ``include_editables`` is False, don't report editables.
If ``editables_only`` is True , only report editables.
If ``user_only`` is True , only report installations in the user
site directory.
If ``paths`` is set, only report the distributions present at the
specified list of locations.
cS@stS(N(R�(td((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt
local_test�scS@stS(N(R�(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt
editable_test�scS@st|�S(N(R�(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR��scS@s
t|�S(N(R�(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyteditables_only_test�scS@stS(N(R�(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR��scS@stS(N(R�(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt user_test�s(Rt
WorkingSettworking_setR�R�tkey(t
local_onlytskiptinclude_editablesteditables_onlyt user_onlytpathsR�R�R�R�R�R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytget_installed_distributions�s*
c
C@sVt|�}tdtdddtdtdtdd �}d�|D�}|j|�S(
s�Find a distribution matching the ``req_name`` in the environment.
This searches from *all* distributions available in the environment, to
match the behavior of ``pkg_resources.get_distribution()``.
R�R�R�R�R�R�cS@s"i|]}|t|j��qS((RR�(t.0tp((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pys
<dictcomp>s (N(RR�R�R�RgR(treq_nametpackagestpkg_dict((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt_search_distribution�s
cC@sKt|�}|sAytjj|�WqAtjk
r=dSXnt|�S(s�Given a requirement name, return the installed Distribution object.
This searches from *all* distributions available in the environment, to
match the behavior of ``pkg_resources.get_distribution()``.
N(R�RR�trequiretDistributionNotFoundRg(R�R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytget_distributions cC@s�g}t�r?|jt�t�rbtrb|jt�qbn#trU|jt�n|jt�x@|D]8}tjj||j�d}tjj |�ri|SqiWdS(s
Return the path for the .egg-link file if it exists, otherwise, None.
There's 3 scenarios:
1) not in a virtualenv
try to find in site.USER_SITE, then site_packages
2) in a no-global virtualenv
try to find in site_packages
3) in a yes-global virtualenv
try to find in site_packages, then site.USER_SITE
(don't look in global location)
For #1 and #3, there could be odd cases, where there's an egg-link in 2
locations.
This method will just return the first one found.
s .egg-linkN(RtappendRRRR;R<R=R�R�Rg(R�tsitestsitetegglink((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt
egg_link_path$s
cC@s)t|�}|rt|�St|j�S(sO
Get the site-packages location of this distribution. Generally
this is dist.location, except in the case of develop-installed
packages, where dist.location is the source code location, and we
want to know where the egg-link file is.
The returned location is normalized (in particular, with symlinks removed).
(R�R4tlocation(R�R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR�Hs
cG@stj||�dS(N(tloggertinfo(tmsgtargs((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytwrite_outputXstFakeFilecB@s)eZdZd�Zd�Zd�ZRS(sQWrap a list of lines in an object with readline() to make
ConfigParser happy.cC@st|�|_dS(N(titert_gen(tselftlines((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt__init__`scC@s*yt|j�SWntk
r%dSXdS(NR}(tnextR�t
StopIteration(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytreadlinecs
cC@s|jS(N(R�(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt__iter__is(t__name__t
__module__t__doc__R�R�R�(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR�]s t
StreamWrappercB@s&eZed��Zed��ZRS(cC@s||_|�S(N(torig_stream(tclsR�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytfrom_streamos cC@s
|jjS(N(R�tencoding(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR�us(R�R�tclassmethodR�tpropertyR�(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR�mscc@sRtt|�}tt|tj|��ztt|�VWdtt||�XdS(s�Return a context manager used by captured_stdout/stdin/stderr
that temporarily replaces the sys stream *stream_name* with a StringIO.
Taken from Lib/support/__init__.py in the CPython repo.
N(tgetattrRPtsetattrR�R�(tstream_nametorig_stdout((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytcaptured_outputzs
cC@s
td�S(s�Capture the output of sys.stdout:
with captured_stdout() as stdout:
print('hello')
self.assertEqual(stdout.getvalue(), 'hello
')
Taken from Lib/support/__init__.py in the CPython repo.
tstdout(R�(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR7�s cC@s
td�S(s
See captured_stdout().
tstderr(R�(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytcaptured_stderr�scC@sMtjj|�}|dkr-tj�}n|j|�}|rI|jSdS(sCGet the installed version of dist_name avoiding pkg_resources cacheN(RtRequirementR
RgR�tfindtversion(t dist_nameR�treqR�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR9�s
cC@st|dd�dS(sConsume an iterable at C speed.tmaxleniN(R(titerator((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytconsume�scO@sTtt|tt|���|�}d�|j�D�}||d<tdd|�S(NcS@si|]\}}||�qS(((R�R�tvalue((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pys
<dictcomp>�s treverse_mappingtEnum((tdicttziptrangeREtitemsttype(t
sequentialtnamedtenumstreverse((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytenum�s$
cC@s>|dkr|Sd|kr.dj|�}ndj||�S(s.
Build a netloc from a host-port pair
t:s[{}]s{}:{}N(RgRA(thosttport((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytbuild_netloc�s
thttpscC@sO|jd�dkr?d|kr?d|kr?dj|�}ndj||�S(s)
Build a full URL from a netloc.
Rit@t[s[{}]s{}://{}(tcountRA(tnetloctscheme((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytbuild_url_from_netloc�s-cC@s+t|�}tj|�}|j|jfS(s2
Return the host-port pair from a netloc.
(Rturllib_parseturlparsethostnameR(Rturltparsed((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytparse_netloc�scC@s{d|kr|dfS|jdd�\}}d|krO|jdd�}n|df}td�|D��}||fS(sp
Parse out and remove the auth information from a netloc.
Returns: (netloc, (username, password)).
RiRcs@s-|]#}|dkrdn t|�VqdS(N(Rgturllib_unquote(R�tx((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pys <genexpr>�sN(NN(RgtrsplitR�R�(Rtautht user_pass((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytsplit_auth_from_netloc�s
cC@stt|�\}\}}|dkr(|S|dkrCd}d}ntj|�}d}djd|d|d|�S( s�
Replace the sensitive data in a netloc with "****", if it exists.
For example:
- "user:pass@example.com" returns "user:****@example.com"
- "accesstoken@example.com" returns "****@example.com"
s****R}s:****s{user}{password}@{netloc}tusertpasswordRN(R+RgR tquoteRA(RR,R-((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt
redact_netloc�s cC@s\tj|�}||j�}|j|d|j|j|jf}tj|�}||fS(sRTransform and replace netloc in a url.
transform_netloc is a function taking the netloc and returning a
tuple. The first element of this tuple is the new netloc. The
entire tuple is returned.
Returns a tuple containing the transformed url as item 0 and the
original tuple returned by transform_netloc as item 1.
i(R turlsplitRRR<tquerytfragmentt
urlunsplit(R#ttransform_netloctpurltnetloc_tuplet
url_piecestsurl((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt_transform_urls
%cC@s
t|�S(N(R+(R((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt_get_netloc$scC@s
t|�fS(N(R/(R((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt_redact_netloc(scC@s(t|t�\}\}}|||fS(s�
Parse a url into separate netloc, auth, and url with no auth.
Returns: (url_without_auth, netloc, (username, password))
(R9R:(R#turl_without_authRR)((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytsplit_auth_netloc_from_url,scC@st|t�dS(s7Return a copy of url with 'username:password@' removed.i(R9R:(R#((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR:7scC@st|t�dS(s.Replace the password in a given url with ****.i(R9R;(R#((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytredact_auth_from_url?st
HiddenTextcB@s5eZd�Zd�Zd�Zd�Zd�ZRS(cC@s||_||_dS(N(tsecrettredacted(R�R@RA((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR�Fs cC@sdjt|��S(Ns<HiddenText {!r}>(RARx(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt__repr__OscC@s|jS(N(RA(R�((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt__str__SscC@s,t|�t|�krtS|j|jkS(N(RR�R@(R�tother((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt__eq__XscC@s||kS(N((R�RD((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt__ne__cs(R�R�R�RBRCRERF(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyR?Es
cC@st|dd�S(NRAs****(R?(R((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt
hide_valuehscC@st|�}t|d|�S(NRA(R>R?(R#RA((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pythide_urlmscC@s�ddjtjd�djtjd �g}|oWtoWtjjtjd�|k}|r�tjddgtjd}t d jd
j
|����ndS(s�Protection of pip.exe from modification on Windows
On Windows, any operation modifying pip should be run as:
python -m pip ...
spip.exes pip{}.exeispip{}.{}.exeis-mRNis3To modify pip, please run the following command:
{}R�N(RARPRqRR;R<RORQRRRR=(t
modifying_pipt pip_namestshould_show_use_python_msgtnew_command((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt(protect_pip_from_modification_on_windowssscC@stjdk otjj�S(s!Is this console interactive?
N(RPtstdinRgtisatty(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytis_console_interactive�siicC@sntj�}d}t|d��A}x7t|d|�D]#}|t|�7}|j|�q7WWdQX||fS(s:Return (hash, length) for path using hashlib.sha256()
itrbR�N(thashlibtsha256topenR�REtupdate(R<t blocksizethtlengthtftblock((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt hash_file�scC@s)yddl}Wntk
r$tSXtS(s8
Return whether the wheel package is installed.
iN(twheeltImportErrorR�R�(R\((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytis_wheel_installed�s
cC@st|�}t||�S(sb
Return paired elements.
For example:
s -> (s0, s1), (s2, s3), (s4, s5), ...
(R�R(titerable((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pytpairwise�scC@s.t|�\}}t||�t||�fS(s�
Use a predicate to partition entries into false entries and true entries,
like
partition(is_odd, range(10)) --> 0 2 4 6 8 and 1 3 5 7 9
(RR R(tpredR_tt1tt2((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt partition�si(�t
__future__Rt
contextlibRJR�RRtiotloggingR;R�R[R^RPtcollectionsRt itertoolsRtpip._vendorRtpip._vendor.packaging.utilsRtpip._vendor.retryingRtpip._vendor.sixRRtpip._vendor.six.movesRR R
RRtpip._vendor.six.moves.urllibR
R t"pip._vendor.six.moves.urllib.parseRR&RNRtpip._internal.exceptionsRtpip._internal.locationsRRRRtpip._internal.utils.compatRRRRtpip._internal.utils.typingRRtpip._internal.utils.virtualenvRRRRttypingRR R!R"R#R$R%R&R'R(R)R*tpip._vendor.pkg_resourcesR+R�RDR,t__all__t getLoggerR�R�RCRGR8R6R�R-R\RmR.R/R�R�R0R�R�R2R�R3tDEFAULT_BUFFER_SIZER�R�R4R1R5R�R�R�R�R�R�RgR�R�R�R�R�R�tobjectR�R�tcontextmanagerR�R7R�R9RRRRR%R+R/R9R:R;R=R:R>R?RGRHRMRPR[R^R`Rd(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/misc.pyt<module>s�(""R "
> $
#
?>