Edit File: __init__.pyc
� ��abc�����������@@��s���d��d�l��m�Z�d��d�l�m�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 �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�m�Z�m�Z�m�Z�d��d�l�m�Z�m�Z�m�Z�m�Z�m�Z�d��d�l�m �Z �d��d�l!�m"�Z"�d��d �l#�m$�Z$�d��d �l%�m&�Z&�e$�rud��d�l�m'�Z(�n�d��d�l�m(�Z(�d �d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d �d!�d"�d#�d$�g�Z)�e �j*�e+���Z,�df�Z-�dg�Z.�dh�Z/�di�Z0�e/�e-�e0�e.�Z1�e/�e0�Z2�y�d��d�l3�Z3�e2�e-�7Z2�Wn�e4�k �rPe,�j5�d1���n�Xy�d��d�l6�Z6�e2�e.�7Z2�Wn�e4�k �r�e,�j5�d2���n�Xd3����Z7�d4����Z8�d5����Z9�e&�d6�d7�d8�d9���e:�d:�����Z;�d;����Z<�d<����Z=�d=�d>���Z>�d?����Z?�d@����Z@�dA����ZA�dB����ZB�dC����ZC�dD����ZD�e�jE�dE���ZF�dF����ZG�dG����ZH�eI�dH���ZJ�dI����ZK�dJ����ZL�dK����ZM�dL����ZN�dM����ZO�dN����ZP�dO����ZQ�eI�e�eI�e:�e:�dP���ZR�dQ����ZS�dR����ZT�dS����ZU�dT����ZV�eI�dU���ZW�dV����ZX�dW����ZY�eI�d�dX�d�d�d�dY���Z[�dZ����Z\�d[����Z]�d\�e^�f�d]�������YZ_�d^�e(�f�d_�������YZ`�e�ja�d`������Zb�da����Zc�db�e^�f�dc�������YZd�d�dd���Ze�de����Zf�d�S(j���i����(���t���absolute_import(���t���dequeN(���t���InstallationError(���t���console_to_strt ���expandusert���stdlib_pkgs(���t ���site_packagest ���user_sitet���running_under_virtualenvt���virtualenv_no_globalt���write_delete_marker_file(���t ���pkg_resources(���t���input(���t���PY2(���t���retry(���t���BytesIO(���t���StringIOt���rmtreet���display_patht ���backup_dirt���askt���splitextt���format_sizet���is_installable_dirt���is_svn_paget ���file_contentst���split_leading_dirt���has_leading_dirt���normalize_patht���renamest���get_terminal_sizet���get_progt ���unzip_filet ���untar_filet���unpack_filet���call_subprocesst���captured_stdoutt ���ensure_dirt���ARCHIVE_EXTENSIONSt���SUPPORTED_EXTENSIONSt���get_installed_versions���.tar.bz2s���.tbzs���.tar.xzs���.txzs���.tlzs���.tar.lzs ���.tar.lzmas���.zips���.whls���.tar.gzs���.tgzs���.tars���bz2 module is not availables���lzma module is not availablec���������O@��s5���y�t��|����SWn �t�k �r0�|�|�|������n�Xd��S(���N(���t ���__import__t���ImportError(���t���pkg_or_module_stringt ���ExceptionTypet���argst���kwargs(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���import_or_raiseI���s���� c���������C@��sC���y�t��j�|����Wn+�t�k �r>�}�|�j�t�j�k�r?����q?�n�Xd�S(���s ���os.path.makedirs without EEXIST.N(���t���ost���makedirst���OSErrort���errnot���EEXIST(���t���patht���e(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR%���P���s ����c�����������C@��sO���y.�t��j�j�t�j�d���d�k�r-�d�t�j�SWn�t�t�t�f�k �rJ�n�Xd�S(���Ni����s���__main__.pys���-cs ���%s -m pipt���pip(���s���__main__.pys���-c( ���R0���R5���t���basenamet���syst���argvt ���executablet���AttributeErrort ���TypeErrort ���IndexError(����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR���Y���s����t���stop_max_delayi���t ���wait_fixedi���c���������C@��s���t��j�|��d�|�d�t��d��S(���Nt ���ignore_errorst���onerror(���t���shutilR���t���rmtree_errorhandler(���t���dirRA���(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR���c���s����c���������C@��sA���t��j�|���j�t�j�@r:�t��j�|�t�j���|��|���d�S���d�S(���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(���R0���t���statt���st_modet���S_IREADt���chmodt���S_IWRITE(���t���funcR5���t���exc_info(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyRD���i���s ���� c���������C@��s����t��j�j�t��j�j�|������}��t�j�d�d�k�rd�|��j�t�j����d���}��|��j�t�j ����d���}��n��|��j �t��j����t��j�j���r��d�|��t �t��j������}��n��|��S(���sT���Gives the display value for a given path, making it relative to cwd if possible.i����i���t���replacet���.(���R0���R5���t���normcaset���abspathR9���t���version_infot���decodet���getfilesystemencodingt���encodet���getdefaultencodingt ���startswitht���getcwdt���sept���len(���R5���(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR���x���s����s���.bakc���������C@��sK���d�}�|�}�x4�t��j�j�|��|���rB�|�d�7}�|�t�|���}�q�W|��|�S(���s\���Figure out the name of a directory to back up the given dir to (adding .bak, .bak2, etc)i���(���R0���R5���t���existst���str(���RE���t���extt���nt ���extension(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�������s���� c���������C@��sC���x3�t��j�j�d�d���j����D]�}�|�|�k�r�|�Sq�Wt�|��|���S(���Nt���PIP_EXISTS_ACTIONt����(���R0���t���environt���gett���splitR���(���t���messaget���optionst���action(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���ask_path_exists����s����"c���������C@��sy���xr�t��j�j�d���r(�t�d�|������n��t�|����}�|�j����j����}�|�|�k�rm�d�|�d�j�|���f�GHq�|�Sq�Wd�S(���s@���Ask the message interactively, with the given possible responsest���PIP_NO_INPUTs7���No input was expected ($PIP_NO_INPUT set); question: %ss<���Your response (%r) was not one of the expected responses: %ss���, N(���R0���Ra���Rb���t ���ExceptionR���t���stript���lowert���join(���Rd���Re���t���response(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�������s���� c���������C@��sX���|��d�k�r�d�|��d�d�S|��d �k�r4�d�|��d�S|��d�k�rL�d�|��d�Sd�|��Sd��S( ���Ni���s���%.1fMBg�����@�@i ���s���%ikBs���%.1fkBs���%ibytesi@B�i'��(����(���t���bytes(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�������s����c���������C@��sE���t��j�j�|����s�t�St��j�j�|��d���}�t��j�j�|���rA�t�St�S(���s@���Return True if `path` is a directory containing a setup.py file.s���setup.py(���R0���R5���t���isdirt���FalseRl���t���isfilet���True(���R5���t���setup_py(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�������s����c���������C@��s(���t��j�d�|����o'�t��j�d�|��t��j���S(���sT��� Returns true if the page appears to be the index page of an svn repository s���<title>[^<]*Revision \d+:s#���Powered by (?:<a[^>]*?>)?Subversion(���t���ret���searcht���I(���t���html(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�������s����c���������C@��s/���t��|��d�����}�|�j����j�d���SWd��QXd��S(���Nt���rbs���utf-8(���t���opent���readRR���(���t���filenamet���fp(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�������s����c���������c@��s/���x(�t��r*�|��j�|���}�|�s"�Pn��|�Vq�Wd�S(���s7���Yield pieces of data from a file-like object until EOF.N(���Rr���Rz���(���t���filet���sizet���chunk(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���read_chunks����s ���� c���������C@��s����|��j��d���j��d���}��d�|��k�rj�d�|��k�rN�|��j�d���|��j�d���k��sZ�d�|��k�rj�|��j�d�d���Sd�|��k�r��|��j�d�d���S|��d�f�Sd��S(���Nt���/s���\i���R`���(���t���lstript���findRc���(���R5���(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�������s����6c���������C@��s\���d�}�xO�|��D]G�}�t�|���\�}�}�|�s/�t�S|�d�k�rD�|�}�q �|�|�k�r �t�Sq �Wt�S(���sy���Returns true if all the paths have the same leading path name (i.e., everything is in one subdirectory in an archive)N(���t���NoneR���Rp���Rr���(���t���pathst ���common_prefixR5���t���prefixt���rest(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�������s���� c���������C@��sI���t��|����}��|�r'�t�j�j�|����}��n�t�j�j�|����}��t�j�j�|����S(���sN��� Convert a path to its canonical, case-normalized, absolute version. (���R���R0���R5���t���realpathRP���RO���(���R5���t���resolve_symlinks(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�������s ����c���������C@��sO���t��j�|����\�}�}�|�j����j�d���rE�|�d�|�}�|�d� }�n��|�|�f�S(���s,���Like os.path.splitext, but take off .tar toos���.tari����(���t ���posixpathR���Rk���t���endswith(���R5���t���baseR\���(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�������s ���� c���������C@��s����t��j�j�|���\�}�}�|�rG�|�rG�t��j�j�|���rG�t��j�|���n��t�j�|��|���t��j�j�|����\�}�}�|�r��|�r��y�t��j�|���Wq��t�k �r��q��Xn��d�S(���s7���Like os.renames(), but handles renaming across devices.N( ���R0���R5���Rc���RZ���R1���RC���t���movet ���removedirsR2���(���t���oldt���newt���headt���tail(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�����s���� c���������C@��s)���t�����s �t�St�|����j�t�t�j�����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." (���R���Rr���R���RV���R9���R����(���R5���(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���is_local��s���� c���������C@��s���t��t�|������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(���t���dist(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt ���dist_is_local!��s����c���������C@��s%���t��t�|������}�|�j�t��t�����S(���sF��� Return True if given Distribution is installed in user site. (���R���R����RV���R���(���R����t ���norm_path(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���dist_in_usersite,��s����c���������C@��s���t��t�|������j�t��t�����S(���se��� Return True if given Distribution is installed in distutils.sysconfig.get_python_lib(). (���R���R����RV���R���(���R����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���dist_in_site_packages4��s����c���������C@��sJ���xC�t��j�D]8�}�t�j�j�|�|��j�d���}�t�j�j�|���r �t�Sq �Wt�S(���s$���Is distribution an editable install?s ���.egg-link(���R9���R5���R0���Rl���t���project_nameRq���Rr���Rp���(���R����t ���path_itemt���egg_link(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���dist_is_editable>��s ����c��� ������C@��s����|��r�t��}�n �d����}�|�r*�d����}�n �d����}�|�rE�d����}�n �d����}�|�r]�t�}�n �d����}�g��t�j�D]K�} �|�| ���rp�| �j�|�k�rp�|�| ���rp�|�| ���rp�|�| ���rp�| �^�qp�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 ``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. c���������S@��s���t��S(���N(���Rr���(���t���d(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt ���local_test`��s����c���������S@��s���t��S(���N(���Rr���(���R����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt ���editable_testd��s����c���������S@��s���t��|����S(���N(���R����(���R����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR����g��s����c���������S@��s ���t��|����S(���N(���R����(���R����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���editables_only_testk��s����c���������S@��s���t��S(���N(���Rr���(���R����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR����n��s����c���������S@��s���t��S(���N(���Rr���(���R����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt ���user_testt��s����(���R����R����R���t���working_sett���key( ���t ���local_onlyt���skipt���include_editablest���editables_onlyt ���user_onlyR����R����R����R����R����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���get_installed_distributionsG��s$���� c���������C@��s����g��}�t�����rN�t����r(�|�j�t���qq�|�j�t���t�rq�|�j�t���qq�n#�t�rd�|�j�t���n��|�j�t���x@�|�D]8�}�t�j�j�|�|��j���d�}�t�j�j �|���rx�|�Sqx�Wd�S(���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( ���R���R ���t���appendR���R���R0���R5���Rl���R����Rq���(���R����t���sitest���sitet���egglink(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt ���egg_link_path���s���� c���������C@��s���t��|����}�|�r�|�S|��j�S(���s���� 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. (���R����t���location(���R����R����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR�������s����c����������C@��s����d����}��|��d���p*�|��d���p*�|��d���}�|�sx�y8�t��j�t��j����t��j���}�|��|���}�t��j�|���Wqx�qx�Xn��|�s��t��j�j�d�d���t��j�j�d�d���f�}�n��t�|�d���t�|�d���f�S( ���sl���Returns a tuple (x, y) representing the width(x) and the height(x) in characters of the terminal window.c���������S@��sk���yL�d�d��l��}�d�d��l�}�d�d��l�}�|�j�d�|�j�|��|�j�d�����}�Wn�d��SX|�d�k�rg�d��S|�S(���Ni����t���hht���1234(���i����i����(���t���fcntlt���termiost���structt���unpackt���ioctlt ���TIOCGWINSZR����(���t���fdR����R����R����t���cr(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���ioctl_GWINSZ���s����i����i���i���t���LINESi���t���COLUMNSiP���(���R0���Ry���t���ctermidt���O_RDONLYt���closeRa���Rb���t���int(���R����R����R����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR������s���� $-c����������C@��s ���t��j�d���}��t��j�|����|��S(���sB���Get the current umask which involves having to set it temporarily.i����(���R0���t���umask(���t���mask(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt ���current_umask���s���� c��� ������C@��s~��t��|���t�|��d���}�zSt�j�|�d�t��}�t�|�j������oF�|�}�x|�j����D]}�|�j�}�|�j �|���}�|�} �|�r��t �|���d�} �n��t�j�j �|�| ���} �t�j�j�| ���} �| �j�d���s��| �j�d���r��t��| ���qV�t��| ���t�| �d���}�z�|�j�|���Wd�|�j����|�j�d�?}�|�rft�j�|���rf|�d �@rft�j�| �d �t����d �B��n��XqV�WWd�|�j����Xd�S(���s��� Unzip the file (with path `filename`) to the destination `location`. All files are written based on system defaults and umask (i.e. permissions are not preserved), except that regular file members with any execute permissions (user, group, or world) have "chmod +x" applied after being written. Note that for windows, any execute changes using os.chmod are no-ops per the python docs. Rx���t ���allowZip64i���R����s���\t���wbNi���iI���i���(���R%���Ry���t���zipfilet���ZipFileRr���R���t���namelistt���infolistR{���Rz���R���R0���R5���Rl���t���dirnameR����t���writeR����t ���external_attrRF���t���S_ISREGRI���R����( ���R{���R����t���flattent���zipfpt���zipt���leadingt���infot���namet���datat���fnRE���R|���t���mode(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR ������s0���� 'c���������C@��s���t��|���|��j����j�d���s4�|��j����j�d���r=�d�}�np�|��j����j�t���r[�d�}�nR�|��j����j�t���ry�d�}�n4�|��j����j�d���r��d�}�n�t�j�d�|����d �}�t�j�|��|���}�z�t �g��|�j ����D]�}�|�j�d �k�r��|�j�^�q����}�x�|�j ����D]�}�|�j�}�|�d �k�r'qn��|�r@t�|���d�}�n��t �j�j�|�|���}�|�j����rnt��|���q|�j����r�y�|�j�|�|���Wq�t�k �r�}�t�j�d�|��|�j�|���qq�Xqy�|�j�|���} �Wn5�t�t�f�k �r }�t�j�d�|��|�j�|���qn�Xt��t �j�j�|�����t�|�d �����} �t�j�| �| ���Wd�QX| �j����|�j�|�|���|�j�d�@rt �j�|�d�t����d�B��qqWWd�|�j����Xd�S(���s��� Untar the file (with path `filename`) to the destination `location`. All files are written based on system defaults and umask (i.e. permissions are not preserved), except that regular file members with any execute permissions (user, group, or world) have "chmod +x" applied after being written. Note that for windows, any execute changes using os.chmod are no-ops per the python docs. s���.gzs���.tgzs���r:gzs���r:bz2s���r:xzs���.tart���rs-���Cannot determine compression type for file %ss���r:*t���pax_global_headeri���s/���In the tar file %s the member %s is invalid: %sR����NiI���i���(���R%���Rk���R����t���BZ2_EXTENSIONSt ���XZ_EXTENSIONSt���loggert���warningt���tarfileRy���R���t ���getmembersR����R���R0���R5���Rl���Ro���t���issymt���_extract_memberRi���t���extractfilet���KeyErrorR<���R����RC���t���copyfileobjR����t���utimeR����RI���R����(���R{���R����R����t���tart���memberR����R����R5���t���excR|���t���destfp(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR!�����sb���� * ! &c���������C@��s(��t��j�j�|����}��|�d�k�sB�|��j����j�t���sB�t�j�|����rb�t�|��|�d�|��j�d����n��|�d�k�s��t �j �|����s��|��j����j�t�t�t ���r��t�|��|���nz�|�r��|�j�d���r��t�t�|������r��d�d�l�m�}�|�d�|�j���j�|���n&�t�j�d �|��|�|���t�d �|�����d��S(���Ns���application/zipR����s���.whls���application/x-gzips ���text/htmli����(���t ���Subversions���svn+sZ���Cannot unpack file %s (downloaded from %s, content-type: %s); cannot detect archive formats%���Cannot determine archive format of %s(���R0���R5���R����Rk���R����t���ZIP_EXTENSIONSR����t ���is_zipfileR ���R����t ���is_tarfilet���TAR_EXTENSIONSR����R����R!���RV���R���R���t���pip.vcs.subversionR����t���urlR����R����t���criticalR���(���R{���R����t���content_typet���linkR����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR"���O��s,���� t���raisec���������C@��s���|�r�d��}�n �t�j�}�|�d��k�r��g��}�xd�|��D]\�} �d�| �k�sg�d�| �k�sg�d�| �k�sg�d�| �k�r��d�| �j�d�d���} �n��|�j�| ���q1�Wd�j�|���}�n��t�j�d�|���t�j �j ����} �|�r��| �j�|���n��y4�t�j�|��d�t�j �d �d��d �|�d�|�d�| ��}�Wn)�t�k �r7}�t�j�d �|�|������n�X|�d��k �r�g��} �x��t�r�t�|�j�j������}�|�srPn��|�j����}�| �j�|�d���t�j����t�j�k�r�t�j�|���qM|�d��k �rM|�j����qMqMWn��|�j����|�d��k �r|�j�r|�j�d���q|�j�d���n��|�j�r�|�d�k�r�t�j����t�j�k�rq|�rqt�j�d�|���t�j�d�j�| ���d���n��t�d�|�|�j�|�f�����q�|�d�k�r�t�j�d�|�|�j�|���q�|�d�k�r�q�t�d�t �|�������n��|�s�d�j�| ���Sd��S(���Nt��� s��� t���"t���'s���"%s"s���\"s���Running command %st���stderrt���stdint���stdoutt���cwdt���envs#���Error %s while executing command %st���errort���doneR����s ���Complete output from command %s:R`���s)��� ----------------------------------------s,���Command "%s" failed with error code %s in %st���warns$���Command "%s" had error code %s in %st���ignores���Invalid value: on_returncode=%s(!���R����t ���subprocesst���PIPERM���R����Rl���R����t���debugR0���Ra���t���copyt���updatet���Popent���STDOUTRi���R����Rr���R���R����t���readlinet���rstript���getEffectiveLevelt���std_loggingt���DEBUGt���spint���waitt ���returncodet���finishR����R���R����t ���ValueErrort���repr(���t���cmdt���show_stdoutR����t ���on_returncodet���command_desct ���extra_environt���spinnerR����t ���cmd_partst���partR����t���procR����t ���all_outputt���line(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR#���p��sz���� 0 c���������C@��s����t��|��d�����}�|�j����}�Wd�QXd�t�j�t���d�g�}�x9�|�D]1�}�y�|�j�|���}�Wn�t�k �rr�qC�n�XPqC�Wt�|���t�k�s��t ���|�S(���sR��Return the contents of *filename*. Try to decode the file contents with utf-8, the preferred system encoding (e.g., cp1252 on some Windows machines), and latin1, in that order. Decoding a byte string with latin1 will never raise an error. In the worst case, the returned string will contain some garbage characters. Rx���Ns���utf-8t���latin1( ���Ry���Rz���t���localet���getpreferredencodingRp���RR���t���UnicodeDecodeErrort���typeRn���t���AssertionError(���R{���R|���R����t ���encodingst���enc(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���read_text_file���s���� c���������C@��s���t��j�|����t�|����d��S(���N(���R0���R1���R ���(���t ���build_dir(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���_make_build_dir���s���� t���FakeFilec�����������B@��s)���e��Z�d��Z�d����Z�d����Z�d����Z�RS(���sQ���Wrap a list of lines in an object with readline() to make ConfigParser happy.c���������C@��s���d����|�D��|��_��d��S(���Nc���������s@��s���|��]�}�|�Vq�d��S(���N(����(���t���.0t���l(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pys ���<genexpr>���s����(���t���_gen(���t���selft���lines(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���__init__���s����c���������C@��sL���y3�y�t��|��j���SWn�t�k �r1�|��j�j�����SXWn�t�k �rG�d�SXd��S(���NR`���(���t���nextR-��t ���NameErrort ���StopIteration(���R.��(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR �����s���� c���������C@��s���|��j��S(���N(���R-��(���R.��(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���__iter__���s����(���t���__name__t ���__module__t���__doc__R0��R ��R4��(����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR*�����s��� t ���StreamWrapperc�����������B@��s&���e��Z�e�d�������Z�e�d������Z�RS(���c���������C@��s���|�|��_��|�����S(���N(���t���orig_stream(���t���clsR9��(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���from_stream��s���� c���������C@��s ���|��j��j�S(���N(���R9��t���encoding(���R.��(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR<�� ��s����(���R5��R6��t���classmethodR;��t���propertyR<��(����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR8����s���c���������c@��sR���t��t�|����}�t�t�|��t�j�|�����z�t��t�|����VWd�t�t�|��|���Xd�S(���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(���t���getattrR9���t���setattrR8��R;��(���t���stream_namet���orig_stdout(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���captured_output��s ����c�����������C@��s ���t��d���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. R����(���RC��(����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR$�����s���� t���cached_propertyc�����������B@��s ���e��Z�d��Z�d����Z�d����Z�RS(���s����A property that is only computed once per instance and then replaces itself with an ordinary attribute. Deleting the attribute resets the property. Source: https://github.com/bottlepy/bottle/blob/0.11.5/bottle.py#L175 c���������C@��s���t��|�d���|��_�|�|��_�d��S(���NR7��(���R?��R7��RK���(���R.��RK���(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR0��2��s����c���������C@��s4���|�d��k�r�|��S|��j�|���}�|�j�|��j�j�<|�S(���N(���R����RK���t���__dict__R5��(���R.��t���objR:��t���value(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���__get__6��s���� (���R5��R6��R7��R0��RH��(����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyRD��*��s��� c���������C@��s\���t��j�j�|����}�|�d�k�r-�t��j����}�n�t��j�|���}�|�j�|���}�|�rX�|�j�Sd�S(���sC���Get the installed version of dist_name avoiding pkg_resources cacheN(���R���t���Requirementt���parseR����t ���WorkingSetR����t���version(���t ���dist_namet���lookup_dirst���reqR����R����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyR(���>��s����c���������C@��s���t��|��d�d��d�S(���s���Consume an iterable at C speed.t���maxleni����N(���R���(���t���iterator(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���consumeR��s����(���s���.tar.bz2s���.tbz(���s���.tar.xzs���.txzs���.tlzs���.tar.lzs ���.tar.lzma(���s���.zips���.whl(���s���.tar.gzs���.tgzs���.tar(g���t ���__future__R����t���collectionsR���t ���contextlibR3���t���ioR ��t���loggingR��Rt���R0���R����RC���RF���R��R9���R����R����t���pip.exceptionsR���t ���pip.compatR���R���R���t ���pip.locationsR���R���R���R ���R ���t���pip._vendorR���t���pip._vendor.six.movesR���t���pip._vendor.sixR ���t���pip._vendor.retryingR���R���R���t���__all__t ���getLoggerR5��R����R����R����R����R����R&���R'���t���bz2R*���R��t���lzmaR/���R%���R���Rp���R���RD���R���R���Rg���R���R���R���R���R���t���DEFAULT_BUFFER_SIZER����R���R���Rr���R���R���R���R����R����R����R����R����R����R����R����R���R����R ���R!���R"���R����R#���R'��R)��t���objectR*��R8��t���contextmanagerRC��R$���RD��R(���RR��(����(����(����s6���/usr/lib/python2.7/site-packages/pip/utils/__init__.pyt���<module>���s����( 5 % + L !_