PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/lib/python2.7/site-packages/pip/req
Viewing File: /usr/lib/python2.7/site-packages/pip/req/req_install.pyc
� >�P_c@@sddlmZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddl mZddlmZddlmZmZddlmZddlmZdd lmZmZdd lmZdd lmZdd lm Z ddl!Z"dd l#m$Z$m%Z%m&Z&ddl'm(Z(m)Z)m*Z*m+Z+ddl,m-Z-m.Z.ddl/m0Z0m1Z1m2Z2m3Z3ddl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDddlEmFZFddlGmHZHmIZIddlJmKZKddlLmMZMddlNmOZOddlPmQZQddlRmSZSddl!mTZTmUZUejVeW�ZXejYjZj[�Z\d�Z]de^fd��YZ_d�Z`d�Zaebd�ZcdS( i(tabsolute_importN(t sysconfig(t change_root(t FeedParser(t pkg_resourcestsix(t specifiers(tMarker(tInvalidRequirementt Requirement(tcanonicalize_name(tVersion(t configparser(t native_strt get_stdlibtWINDOWS(tis_urlt url_to_patht path_to_urltis_archive_file(tInstallationErrortUninstallationError(tbin_pytrunning_under_virtualenvtPIP_DELETE_MARKER_FILENAMEtbin_user(t display_pathtrmtreetask_path_existst backup_dirtis_installable_dirtdist_in_usersitetdist_in_site_packagest egg_link_pathtcall_subprocesstread_text_filetFakeFilet_make_build_dirt ensure_dirtget_installed_versiontnormalize_patht dist_is_local(tHashes(tRemovedInPip9WarningtRemovedInPip10Warning(t indent_log(tSETUPTOOLS_SHIM(t open_spinner(tUninstallPathSet(tvcs(tmove_wheel_filestWheelcC@sOtjd|�}d}|r?|jd�}|jd�}n|}||fS(Ns^(.+)(\[[^\]]+\])$ii(tretmatchtNonetgroup(tpathtmtextrastpath_no_extras((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt _strip_extras9stInstallRequirementc B@seZd&ed&eeed&ed&d&ed� Zed&d&ed&d&ed��Zed&ed&d&ed��Zd�Z d�Z d�Z e d��Z e d��Zd�Zd �Zd �Ze d ��Ze d ��Ze d ��Zd�Zd�Zd�Zd�Zejd�Ze d��Zd�Zed�Zed�Zd�Z d�Z!d�Z"d�Z#d�Z$gd&d&d&d�Z%d�Z&d�Z'd'd&d�Z(d �Z)e d!��Z*d&d&d&d"�Z+d#�Z,e d$��Z-ed%�Z.RS((c@s�d|_t�tj�r�yt���Wn�tk r�tjj�krVd}n>d�kr�t �fd�t D�� r�d}n t j �}t d�|f��nX�j|_n�|_||_| |_||_||_| |_||_|_||_| |_d|_d|_d|_d|_d|_||_d|_d|_ t!|_"t!|_#d|_$| r�| ni|_%||_&t!|_'| |_(dS(Ns%It looks like a path. Does it exist ?t=c3@s|]}|�kVqdS(N((t.0top(treq(s7/usr/lib/python2.7/site-packages/pip/req/req_install.pys <genexpr>Rss,= is not a valid operator. Did you mean == ?sInvalid requirement: '%s' %s(()R:t isinstanceRt string_typesR RtosR8tseptanyt operatorst tracebackt format_excRRAt comes_fromt constraintt source_dirteditablet _wheel_cachetlinkt original_linktas_eggtmarkersR6t_egg_info_patht satisfied_bytconflicts_witht_temp_build_dirt_ideal_build_dirtupdatetinstall_succeededt uninstalledtFalsetnothing_to_uninstallt use_user_sitet target_dirtoptionst pycompiletpreparedtisolated(tselfRARJRLRMRORQRXR`RRRbR_t wheel_cacheRKtadd_msg((RAs7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt__init__GsJ   )                       cC@s�ddlm}t||�\} } } | jd�rFt| �} nd} || |d| dtd|| �d|d|d |r�|nid |�} | dk r�| | _n| S( Ni(tLinksfile:RLRMRORKRbR_Rd(t pip.indexRgtparse_editablet startswithRR6tTrueR:(tclst editable_reqRJt default_vcsRbR_RdRKRgtnameturltextras_overrideRLtres((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt from_editable�s     cC@s�ddlm}t|�r%d}nd}||krm|j|d�\}} | j�} | ssd} qsnd} |j�}d} tjjtjj |��} d} d} t|�r�||�} n�t | �\}} tjj |�rCtjj |ks|j d�rCt|�s.td|��n|t|��} nFt|�r�tjj|�sttjd|�n|t|��} n| r | jd kr�tjd | j�r�|ttjjtjj | j����} n| jrt| j�}d |j|jf} q&| j} n|} |r2|ni}|| |d | d | d|d|d|d|�}| r�td| �j |_ n|S(s�Creates an InstallRequirement from a name, which might be a requirement, directory containing 'setup.py', filename, or URL. i(Rgs; t;it.s;Directory %r is not installable. File 'setup.py' not found.sARequirement %r looks like a filename, but the file does not existtfiles\.\./s%s==%sRORRRbR_RdRKt placeholderN(!RhRgRtsplittstripR6RDR8tnormpathtabspathR<tisdirRERjRRRRtisfiletloggertwarningtschemeR4tsearchRptis_wheelR3tfilenameRotversiont egg_fragmentR R:(RlRoRJRbR_RdRKRgt marker_sepRRRAR8ROR:tptwheelRr((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt from_line�s^       !    $-   cC@s�|jr;t|j�}|jrV|d|jj7}qVn|jrP|jjnd}|jdk r�|dt|jj�7}n|jr�t |jt j �r�|j}n|jj �}|r�|d|7}q�n|S(Ns from %ss in %ss (from %s)( RAtstrRORpR6RTRtlocationRJRBRRCt from_path(RctsRJ((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt__str__�s    cC@s d|jjt|�|jfS(Ns<%s object: %s editable=%r>(t __class__t__name__R�RM(Rc((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt__repr__�scC@s�|jdkr'|j||�|_n|jdk r�| r�|j}|jj|j|j�|_||jkr�tjd|j�q�ndS(sEnsure that if a link can be found for this, that it is found. Note that self.link may still be None - if Upgrade is False and the requirement is already installed. If require_hashes is True, don't use the wheel cache, because cached wheels, always built locally, have different hashes than the files downloaded from the index server and thus throw false hash mismatches. Furthermore, cached wheels at present have undeterministic contents due to file modification times. sUsing cached wheel link: %sN(ROR6tfind_requirementRNt cached_wheelRoR~tdebug(Rctfindertupgradetrequire_hashestold_link((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt populate_link�s  cC@s |jjS(N(RAt specifier(Rc((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyR�scC@s4|j}t|�dko3tt|��jdkS(s�Return whether I am pinned to an exact version. For example, some-package==1.2 is pinned; some-package>1.2 is not. is==s===(s==s===(R�tlentnexttitertoperator(RcR((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt is_pinneds cC@sy|jdkrdSt|j�}|jrut|jtj�rL|j}n|jj�}|ru|d|7}qun|S(Ns->(RAR6R�RJRBRRCR�(RcR�RJ((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyR�!s  cC@s�|jdk r|jS|jdkrJtjdd�|_||_|jS|jre|jj�}n |j}t j j |�s�t j d|�t|�nt j j||�S(Ns-buildspip-sCreating directory %s(RVR6RAttempfiletmkdtempRWRMRotlowerRDR8texistsR~R�R%tjoin(Rct build_dirRo((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pytbuild_location.s    cC@s�|jdk rdS|jdk s(t�|js7t�|jsFt�|j}d|_|j|j�}tjj |�r�t dt |���nt j d|t |�t |��tj||�||_d|_||_d|_dS(s�Move self._temp_build_dir to self._ideal_build_dir/self.req.name For some requirements (e.g. a path to a directory), the name of the package is not available until we run egg_info, so the build_location will return a temporary directory and store the _ideal_build_dir. This is only called by self.egg_info_path to fix the temporary build directory. Ns<A package already exists in %s; please remove it to continues,Moving package %s from %s to new location %s(RLR6RAtAssertionErrorRVRWR�RDR8R�RRR~R�tshutiltmoveRS(Rct old_locationt new_location((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt_correct_build_locationDs(      cC@s,|jdkrdSttj|jj��S(N(RAR6R Rt safe_nameRo(Rc((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyRodscC@s+tjj|j|jr$|jjp'd�S(Nt(RDR8R�RLROtsubdirectory_fragment(Rc((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt setup_py_dirjs cC@s�|jstd|��yddl}WnHtk rstd�dkrTd}n tj�}td|��nXt j j |j d�}t jr�t|t j�r�|jtj��}n|S(NsNo source dir for %sit setuptoolssPlease install setuptools.sWCould not import setuptools which is required to install from a source distribution. %sssetup.py(RLR�R�t ImportErrorR'R6RHRIRRDR8R�R�RtPY2RBt text_typetencodetsystgetfilesystemencoding(RcR�Retsetup_py((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyR�ps   cC@s�|jst�|jr4tjd|j|j�ntjd|j|j�t���t|j}t j d|g}|j r�|dg7}n|dg}|j r�g}n.t jj|jd�}t|�ddg}t||d|jd td tjd d �WdQX|js�ttj|j�d �t�rBd}nd}tdj|j�d||j�d g��|_|j�nbt|j�d�}t|jj�|kr�tjd|j|j||j�t|�|_ndS(Ns2Running setup.py (path:%s) egg_info for package %ss7Running setup.py (path:%s) egg_info for package from %ss-cs --no-user-cfgtegg_infos pip-egg-infos --egg-basetcwdt show_stdoutt command_levelt command_descspython setup.py egg_infoR s==s===R�tNamesuRunning setup.py (path:%s) egg_info for package %s produced metadata for project name %s. Fix your #egg=%s fragments.( RLR�RoR~R�R�ROR-R.R�t executableRbRMRDR8R�R�R&R"R[tloggingtDEBUGRARBRt parse_versiontpkg_infoR R R�R R(Rctscripttbase_cmdt egg_info_cmdtegg_base_optiont egg_info_dirR@t metadata_name((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt run_egg_info�sV                  cC@sy|jdk r5|jj|�s%dS|jj|�S|jsDt�|j|�}tjj |�sidSt |�}|S(N( RTR6t has_metadatat get_metadataRLR�t egg_info_pathRDR8R�R#(RcR�tdata((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt egg_info_data�s c C@s<|jdkr&|jr$|j}ntjj|jd�}tj|�}|jr�g}xtj |�D] \}}}x-t j D]"}||kr�|j |�q�q�Wx�t |�D]�}tjjtjj||dd��s tjjtjj||dd��r|j |�q�|dks2|dkr�|j |�q�q�W|jg|D]}tjj||�^qS�qjWg|D]}|jd�r�|^q�}n|s�td ||f��n|s�td ||f��t|�d kr|jd d ��ntjj||d �|_ntjj|j|�S(Ns pip-egg-infotbintpythontScriptss Python.exettestttestss .egg-infos$No files/directories in %s (from %s)itkeycS@s8|jtjj�tjjr3|jtjj�p6dS(Ni(tcountRDR8REtaltsep(tx((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt<lambda>si(RSR6RMRLRDR8R�R�tlistdirtwalkR1tdirnamestremovetlistR�textendtendswithRR�R�tsort( RcR�tbaset filenamestroottdirstfilestdirtf((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyR��sB        *+   cC@s]t�}|jd�}|s@tjdt|jd���n|j|pOd�|j�S(NsPKG-INFOsNo PKG-INFO file found in %sR�(RR�R~RRR�tfeedtclose(RcR�R�((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyR�s s \[(.*?)\]cC@s t|j�S(N(R'Ro(Rc((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pytinstalled_versionscC@sy|jst�|j�d}|jjrV||jjkrVtjd||j�ntjdt |j�||�dS(NR�s'Requested %s, but installing version %ss;Source in %s has version %s, which satisfies requirement %s( RLR�R�RAR�R~RR�R�R(RcR�((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pytassert_source_matches_versions  cC@s|js tjd|j�dS|js/t�|js>t�|jjdkrTdSd|jjks|td|jj��|js�dS|jjj dd�\}}t j |�}|r�||jj�}|r�|j |j�q|j |j�ndstd|j|f��dS(Ns>Cannot update repository at %s; repository location is unknownRvt+s bad url: %riis+Unexpected version control type (in %s): %s(ROR~R�RLRMR�R�RpRXRxR1t get_backendtobtaintexport(RcR�tvc_typeRptbackendt vcs_backend((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pytupdate_editable)s,  (  c C@s|j�s%td|jf��n|jp4|j}t|j�}t|�s{tj d|j |t j �t |_dS|t�kr�tj d|j |�t |_dSt|�}t|�}djtj|j��}|jo�tjj|j�}t|jdd�}|r�|jjd�r�|jj|� r�|j|j�|jd�r�x'|j d�j!�D]7} tjj"tjj#|j| ��} |j| �qsWq;|jd �r;|jd �r�|j d �} ng} x�g|j d �j!�D]} | r| | kr| ^qD]^} tjj#|j| �} |j| �|j| d �|j| d �|j| d �q"Wq;n�|r�t$j%dj|j�t&�|j|�n|jjd�r2|j|j�tjj'|j�d}tjj#tjj(|j�d�}|j)|d|�n |r�t*|d��%}tjj+|j,�j-��}WdQX||jks�t.d||j|jf��|j|�tjj#tjj(|�d�}|j)||j�n[|r%|jjd�r%x@t/j0j1|�D]} |j| �q Wntj2d||j�|jd�r�|j3d�r�xz|j4d�D]f}t5|�r�t6}nt7}|jtjj#||��t8ri|jtjj#||�d�qiqiWn|jd�rt9j:r�i}n id d6}t;j<|�}|j=t>|j?d���|j@d�rx�|jAd�D]�\}}t5|�rot6}nt7}|jtjj#||��t8rN|jtjj#||�d�|jtjj#||�d�|jtjj#||�d�qNqNWqn|jB|�||_CdS(!s� Uninstall the distribution currently satisfying this requirement. Prompts before removing or modifying files unless ``auto_confirm`` is True. Refuses to delete or modify files outside of ``sys.prefix`` - thus uninstallation within a virtual environment can only modify that virtual environment, even if the virtualenv is linked to global site-packages. s.Cannot uninstall requirement %s, not installeds1Not uninstalling %s at %s, outside environment %sNs<Not uninstalling %s at %s, as it is in the standard library.s {0}.egg-infoR8s .egg-infosinstalled-files.txts top_level.txtsnamespace_packages.txts.pys.pycs.pyos�Uninstalling a distutils installed project ({0}) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.s.eggiseasy-install.pths./trs;Egg-link %s does not match installed location of %s (at %s)s .dist-infos)Not sure how to uninstall: %s - Check: %stscriptss.batsentry_points.txtR>t delimiterstconsole_scriptss.exes .exe.manifests -script.py(R>(Dtcheck_if_existsRRoRTRUR(R�R)R~tinfoR�R�tprefixRkR\RR0R!tformatRt to_filenamet project_nameR�RDR8R�tgetattrt _providerR6R�taddR�R�t splitlinesRzR�twarningstwarnR,Rxtdirnametadd_pthtopentnormcasetreadlineRyR�tpipR�tuninstallation_pathsR�tmetadata_isdirtmetadata_listdirRRRRRR�R tSafeConfigParsertreadfpR$tget_metadata_linest has_sectiontitemsR�RZ(Rct auto_confirmtdistt dist_pathtpaths_to_removetdevelop_egg_linktdevelop_egg_link_egg_infotegg_info_existstdistutils_egg_infotinstalled_fileR8t namespacesR�t top_level_pkgteasy_install_eggteasy_install_pthtfht link_pointerR�tbin_dirR_tconfigRotvalue((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt uninstallFs�         "   $     *     ' cC@s0|jr|jj�ntjd|j�dS(Ns'Can't rollback %s, nothing uninstalled.(RZtrollbackR~terrorRo(Rc((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pytrollback_uninstall�s cC@s<|jr|jj�n|js8tjd|j�ndS(Ns%Can't commit %s, nothing uninstalled.(RZtcommitR\R~R'Ro(Rc((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pytcommit_uninstall�s   cC@s�|jst�t}d|j|j�df}tjj||�}tjj|�rt dt |�d�}|dkr�t }q|dkr�t j dt |��tj|�q|dkrt|�}t j dt |�t |��tj||�qn|r�tj|dtjd t�}tjjtjj|j��}xtj|�D]�\} } } d | kr�| jd �nxl| D]d} tjj| | �} |j| |�} tj|jd | d �}d|_|j|d�q�Wxb| D]Z}|tkrq�ntjj| |�}|j||�} |j||jd | �q�Wq[W|j�t j dt |��ndS(Ns %s-%s.zipR�s/The file %s exists. (i)gnore, (w)ipe, (b)ackup titwtbs Deleting %ssBacking up %s to %st allowZip64s pip-egg-infot/i�iR�sSaved %s(R+R,R-i�(!RLR�RkRoR�RDR8R�R�RRR[R~RR�RR�R�tzipfiletZipFilet ZIP_DEFLATEDRR{R�R�t_clean_zip_nametZipInfot external_attrtwritestrRtwriteR�R�(RcR�tcreate_archivet archive_namet archive_pathtresponset dest_filetzipR�tdirpathR�R�RRotzipdirR�((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pytarchive�sT        !     # cC@s_|j|tjj�s/td||f��|t|�d}|jtjjd�}|S(Ns$name %r doesn't start with prefix %riR/(RjRDR8RER�R�treplace(RcRoR�((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyR3's cC@s*|jdk r"t|j�j�StSdS(N(RRR6RtevaluateRk(Rc((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt match_markers/sc@s|jr#|j||d|�dS|jr�tjj|j�}tjj||j�|j |jd�d|d|�t |_ dS||j j dg�7}||j j dg�7}|jr�t|�dg}ntjdd�}tjj|d �}z�tjd g} | jd �| jt|j�| t|�d d |g7} |jsg| dg7} n�dk r�| d�g7} n|dk r�| d|g7} n|jr�| dg7} n | dg7} t�rdtj�} | dtjjtj dd| |j�g7} nd|jf} t!| ��:} t"��(t#| |d|j$dt%d| �WdQXWdQXtjj&|�s�t'j(d|�dSt |_ |jr�dS�fd�} t)|��]}xS|D]7}tjj*|�}|j+d�r�| |�}Pq�q�Wt'j,d|�dSWdQXg}t)|��k}xa|D]Y}|j-�}tjj.|�rv|tjj/7}n|jtjj0| |�|��q?WWdQXtjj|d�}t)|d ��!}|j1d!j|�d!�WdQXWdtjj&|�rtj2|�nt3|�XdS("NR�R�tstrip_file_prefixtglobal_optionstinstall_optionss --no-user-cfgs-recordspip-sinstall-record.txts-us-ctinstalls--records#--single-version-externally-manageds--roots--prefixs --compiles --no-compileR�s--install-headerstincludetsitesRunning setup.py install for %sR�R�tspinnersRecord file %s not foundc@s4�dkstjj|� r#|St�|�SdS(N(R6RDR8tisabsR(R8(R�(s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt prepend_root�ss .egg-infos;Could not find .egg-info directory in install record for %ssinstalled-files.txtR,s (4RMtinstall_editableR�R R�t wheel_versionRLtcheck_compatibilityRoR2RkRYR_tgetRbR�R�R�RDR8R�R�R�tappendR.R�RQR6R`RRtget_python_versionR�R/R-R"R�R[R�R~R�RRR�RRyR|REtrelpathR7R�R(RcRFRER�R�RDR�t temp_locationtrecord_filenamet install_argst py_ver_strtmsgRJRLR�tlinet directoryR�t new_linesR�tinst_files_path((R�s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyRG5s�                        $cC@s+|jdkr$|j|�|_n|jS(sAEnsure that a source_dir is set. This will create a temporary build dir if the name of the requirement isn't known yet. :param parent_dir: The ideal pip parent_dir for the source_dir. Generally src_dir for editables and build_dir for sdists. :return: self.source_dir N(RLR6R�(Rct parent_dir((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pytensure_has_source_dir�s cC@s�|jrPtjjtjj|jt��rPtjd|j�t|j�nd|_|j r�tjj|j �r�t|j �nd|_ dS(sVRemove the source files from this requirement, if they are marked for deletionsRemoving source in %sN( RLRDR8R�R�RR~R�RR6RV(Rc((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pytremove_temporary_source�s c C@s�tjd|j�|jr2t|�dg}n|r]dj|�g}t|�|}nt��Ottj dt |j gt|�ddgt|�d|j dt �WdQXt|_dS( NsRunning setup.py develop for %ss --no-user-cfgs --prefix={0}s-ctdevelops --no-depsR�R�(R~R�RoRbR�R�R-R"R�R�R.R�R�R[RkRY(RcRFRER�t prefix_param((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyRM�s  *   cC@s�|jdkrtSy:tt|j��}d|_tjt|��|_Wn�tj k rdtStj k r�tj|jj �}|j r�t |�r�||_q�t�r�t|�r�td|j|jf��q�q�||_nXtS(s�Find an installed distribution that satisfies or conflicts with this requirement, and set self.satisfied_by or self.conflicts_with appropriately. sVWill not install to the user site because it will lack sys.path precedence to %s in %sN(RAR6R[R R�tmarkerRtget_distributionRTtDistributionNotFoundtVersionConflictRoR]RRURR RR�R�Rk(Rct no_markert existing_dist((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyR��s*       cC@s|jo|jjS(N(ROR�(Rc((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyR�scC@sPt|j|j|d|jd|jd|d|d|jd|jd|�dS(NtuserthomeR�R�R`RbRD(R2RoRAR]R^R`Rb(RctwheeldirR�R�RD((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyR2s    cC@s�|jd�jd�}tjj|�}tj||�}tjjtjj|��d}tj tjj|�d|d|�S(sAReturn a pkg_resources.Distribution built from self.egg_info_pathR�R/iR�tmetadata( R�trstripRDR8RRt PathMetadatatsplitexttbasenamet Distribution(RcR�tbase_dirRkt dist_name((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pytget_dists"cC@st|jjdi��S(s�Return whether any known-good hashes are specified as options. These activate --require-hashes mode; hashes specified as part of a URL do not. thashes(tboolR_RP(Rc((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pythas_hash_optionsscC@sn|jjdi�j�}|r*|jn|j}|rd|jrd|j|jg�j|j�nt |�S(s�Return a hash-comparer that considers my option- and URL-based hashes to be known-good. Hashes in URLs--ones embedded in the requirements file, not ones downloaded from an index server--are almost peers with ones from flags. They satisfy --require-hashes (whether it was implicitly or explicitly activated) but do not activate it. md5 and sha224 are not allowed in flags, which should nudge people toward good algos. We always OR all hashes together, even ones from URLs. :param trust_internet: Whether to trust URL-based (#md5=...) hashes downloaded from the internet, as by populate_link() Rt( R_RPtcopyRORPthasht setdefaultt hash_nameRQR*(Rcttrust_internett good_hashesRO((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyRt%s "N((/R�t __module__R6R[RkRft classmethodRsR�R�R�R�tpropertyR�R�R�R�R�RoR�R�R�R�R�R�R4tcompilet_requirements_section_reR�R�R�R%R(R*R@R3RCRGR^R_RMR�R�R2RsRvRt(((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyR=Es\  8  J      = 6    �   .  r   #  cC@s.tjd|�}|r*|jd�}n|S(s2 Strip req postfix ( -dev, 0.2, etc ) s^(.*?)(?:-dev|-\d.*)$i(R4R�R7(RAR5((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt_strip_postfix;scC@s�g|jdd�djd�D]}|r |^q }d}t|�dkrm|ddkrm|d }n/t|�dkr�|d d kr�|d}n|r�tjdtdd�n|S(Nt#iiR/ii����ttagstbranchesttagtbranchi����i����ttrunks�Sniffing the requirement name from the url is deprecated and will be removed in the future. Please specify an #egg segment instead.t stacklevel(R�R�R�sbranch(RxR6R�RRR+(RpR�tpartsRA((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt_build_req_from_urlGs8" "  c C@s:ddlm}|}d}tjd|�}|rU|jd�}|jd�}n|}tjj|�r�tjj tjj |d��s�t d|��nt |�}n|j �jd�r||�j}|r�||td |�jfS||dfSnx;tD]3}|j �jd |�r d ||f}Pq q Wd |krx|re|d |}qxt d |��n|jd d�dj �} tj| �s�d|dj gtjD]} | jd^q��d} t | ��n||�j}|st|�}n|s't d|��nt|�|dfS(sParses an editable requirement into: - a requirement name - an URL - extras - editable options Accepted requirements: svn+http://blahblah@rev#egg=Foobar[baz]&subdirectory=version_subdir .[some_extra] i(Rgs^(.+)(\[[^\]]+\])$iissetup.pys;Directory %r is not installable. File 'setup.py' not found.sfile:Rws%s:s%s+%sR�sb%s should either be a path to a local project or a VCS url beginning with svn+, git+, hg+, or bzr+sFor --editable=%s only s, s+URLs is currently supporteds@--editable=%s is not the right format; it must have #egg=PackageN(RhRgR6R4R5R7RDR8R|R�R�RRR�RjR�R R:R1RxR�tbackendsRoR�R�( RmRnRgRpR:R9t url_no_extrast package_nametversion_controlR�R�t error_message((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyRiYsX !    1 (dt __future__RR�RDR4R�R�R�RHRR0t distutilsRtdistutils.utilRt email.parserRt pip._vendorRRtpip._vendor.packagingRtpip._vendor.packaging.markersRt"pip._vendor.packaging.requirementsRR tpip._vendor.packaging.utilsR tpip._vendor.packaging.versionR tpip._vendor.six.movesR t pip.wheelR t pip.compatR RRt pip.downloadRRRRtpip.exceptionsRRt pip.locationsRRRRt pip.utilsRRRRRRR R!R"R#R$R%R&R'R(R)tpip.utils.hashesR*tpip.utils.deprecationR+R,tpip.utils.loggingR-tpip.utils.setuptools_buildR.t pip.utils.uiR/tpip.req.req_uninstallR0tpip.vcsR1R2R3t getLoggerR�R~t Specifiert _operatorstkeysRGR<tobjectR=R�R�R6Ri(((s7/usr/lib/python2.7/site-packages/pip/req/req_install.pyt<module>sV          ""j ����