abc@`suddlmZmZmZddlZddlZddlZddlZddlm Z m Z m Z m Z ddlm Z mZmZmZddlmZddlmZddlmZmZd d d d d gZd efdYZd efdYZd efdYZdefdYZdefdYZdefdYZ defdYZ!ededBedBedBedBedBedBed Bed!Bed"Bed#Bed$Bed%Bed&Bed'Bed(Bed)Bed*BZ"id#d$6d"d%6dd&6dd'6dd(6dd)6Z#e"j$d+ed,ed-Bed.Bed/Bed0Bed1Bed2Bed3BZ%e%ed4Bed5BZ&e&j$d6ed7ed8BZ'e'j$d9ed:ed;BZ(e"e'BZ)ee)e&e)Z*e*j$d<ed=j+Z,ed>j+Z-eZ.e*ee,e.e-BZ/e.e/e e(e.>e e.e Z0d?Z1e2d@Z3idAd56dBd46ej4d36ej5d/6ej6d-6ej7d06ej8d.6ej9d26Z:dCZ;eZ<dDZ=dEZ>dFZ?dGZ@d efdHYZAdS(Ii(tabsolute_importtdivisiontprint_functionN(tParseExceptiont ParseResultst stringStartt stringEnd(t ZeroOrMoretGrouptForwardt QuotedString(tLiterali(t string_types(t SpecifiertInvalidSpecifiert InvalidMarkertUndefinedComparisontUndefinedEnvironmentNametMarkertdefault_environmentcB`seZdZRS(sE An invalid marker was found, users should refer to PEP 508. (t__name__t __module__t__doc__(((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyRscB`seZdZRS(sP An invalid operation was attempted on a value that doesn't support it. (RRR(((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyR!scB`seZdZRS(s\ A name was attempted to be used that does not exist inside of the environment. (RRR(((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyR'stNodecB`s,eZdZdZdZdZRS(cC`s ||_dS(N(tvalue(tselfR((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyt__init__0scC`s t|jS(N(tstrR(R((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyt__str__3scC`sdj|jjt|S(Ns <{0}({1!r})>(tformatt __class__RR(R((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyt__repr__6scC`s tdS(N(tNotImplementedError(R((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyt serialize9s(RRRRRR!(((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyR.s   tVariablecB`seZdZRS(cC`s t|S(N(R(R((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyR!?s(RRR!(((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyR"=stValuecB`seZdZRS(cC`s dj|S(Ns"{0}"(R(R((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyR!Es(RRR!(((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyR#CstOpcB`seZdZRS(cC`s t|S(N(R(R((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyR!Ks(RRR!(((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyR$Istimplementation_versiontplatform_python_implementationtimplementation_nametpython_full_versiontplatform_releasetplatform_versiontplatform_machinetplatform_systemtpython_versiont sys_platformtos_namesos.names sys.platformsplatform.versionsplatform.machinesplatform.python_implementationtpython_implementationtextracC`sttj|d|dS(Ni(R"tALIASEStget(tstltt((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pytkts===s==s>=s<=s!=s~=t>tst RARB(RCtlisttlenR@RHtjoinR!(tmarkerRGtinnerRK((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyRHs! &cC`s ||kS(N((tlhstrhs((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyR7R8cC`s ||kS(N((RRRS((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyR7R8cC`sy%tdj|j|g}Wntk r8nX|j|Stj|j}|dkrtdj |||n|||S(NR8s#Undefined {0!r} on {1!r} and {2!r}.( R ROR!Rtcontainst _operatorsR3tNoneRR(RRtopRStspectoper((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyt_eval_ops%   cC`s:|j|t}|tkr6tdj|n|S(Ns/{0!r} does not exist in evaluation environment.(R3t _undefinedRR(t environmenttnameR((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyt_get_envs  c C`sgg}x|D]}t|trB|djt||qt|tr|\}}}t|trt||j}|j}n|j}t||j}|djt|||q|dkr|jgqqWt d|DS(NiR?cs`s|]}t|VqdS(N(tall(RJtitem((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pys s( RCRMtappendt_evaluate_markersR@R"R^RRZtany( tmarkersR\tgroupsRPRRRWRSt lhs_valuet rhs_value((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyRbs      cC`sFdj|}|j}|dkrB||dt|j7}n|S(Ns{0.major}.{0.minor}.{0.micro}tfinali(Rt releaselevelRtserial(tinfotversiontkind((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pytformat_full_versions   cC`sttdr0ttjj}tjj}n d}d}i |d6|d6tjd6tjd6tj d6tj d 6tjd 6tj d 6tj d 6tj d d6tjd6S(Ntimplementationt0R8R'R%R/R+R)R,R*R(R&iR-R.( thasattrtsysRnRoRlR]tostplatformtmachinetreleasetsystemR-R0(tiverR'((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyRs"       cB`s/eZdZdZdZddZRS(cC`seyttj||_WnBtk r`}dj|||j|jd!}t|nXdS(Ns+Invalid marker: {0!r}, parse error at {1!r}i(RDtMARKERt parseStringt_markersRRtlocR(RRPteterr_str((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyRs cC`s t|jS(N(RHR{(R((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyRscC`sdjt|S(Ns(RR(R((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyRscC`s5t}|dk r%|j|nt|j|S(s$Evaluate a marker. Return the boolean from evaluating the given marker against the environment. environment is an optional argument to override all or part of the determined environment. The environment is determined from the current Python process. N(RRVtupdateRbR{(RR\tcurrent_environment((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pytevaluate"s  N(RRRRRRVR(((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyRs   (Bt __future__RRRtoperatorRsRtRrtpip._vendor.pyparsingRRRRRRR R R tLt_compatR t specifiersR Rt__all__t ValueErrorRRRtobjectRR"R#R$tVARIABLER2tsetParseActiont VERSION_CMPt MARKER_OPt MARKER_VALUEtBOOLOPt MARKER_VARt MARKER_ITEMtsuppresstLPARENtRPARENt MARKER_EXPRt MARKER_ATOMRyRDtTrueRHtlttleteqtnetgetgtRURZR[R^RbRnRR(((sA/usr/lib/python2.7/site-packages/pip/_vendor/packaging/markers.pyts|    ""     E