JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr3 Pf @s~ddlmZddlmZddlZddlZddlmZddlmZddl m Z ddl m Z ej eZdd Zd d Zd d ZdS))absolute_import) FeedParserN) specifiers)version) pkg_resources) exceptionscCs>|dkr dStj|}tjdjtttjdd}||kS)aG Check if the python version in use match the `requires_python` specifier. Returns `True` if the version of python in use matches the requirement. Returns `False` if the version of python in use does not matches the requirement. Raises an InvalidSpecifier if `requires_python` have an invalid format. NT.) rZ SpecifierSetrparsejoinmapstrsys version_info)requires_pythonZrequires_python_specifierZpython_versionr/usr/lib/python3.6/packaging.pycheck_requires_pythons   rcCs8t|tjr |jdr |jdS|jdr4|jdSdS)NZMETADATAzPKG-INFO) isinstancerZDistInfoDistributionZ has_metadata get_metadata)distrrrr%s     rcCst|}t}|j||j}|jd}y8t|s`tjd|j|dj t t t j ddfWn8tjk r}ztjd|j||fdSd}~XnXdS)NzRequires-Pythonz4%s requires Python '%s' but the running Python is %srr z7Package %s has an invalid Requires-Python entry %s - %s)rrZfeedclosegetrrZUnsupportedPythonVersionZ project_namer r r rrrZInvalidSpecifierloggerZwarning)rZmetadataZ feed_parserZ pkg_info_dictrerrrcheck_dist_requires_python-s"  $r)Z __future__rZ email.parserrZloggingrZpip._vendor.packagingrrZ pip._vendorrZpiprZ getLogger__name__rrrrrrrrs