JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr3 vh@sddgZyddlmZmZWn,ek rHddlmZmZddZYnXyddlmZWn4ek rddl Z ddlZGdd d e ZYnXdS) get_config_varsget_path)rr)rget_python_libcCs|dkrtdt|dkS)NplatlibpurelibzName must be purelib or platlib)rr) ValueErrorr)namer /usr/lib/python3.6/py31compat.pyr s)TemporaryDirectoryNc@s(eZdZdZddZddZddZdS) r z Very simple temporary directory context manager. Will try to delete afterward, but will also ignore OS and similar errors on deletion. cCsd|_tj|_dS)N)rtempfileZmkdtemp)selfr r r __init__szTemporaryDirectory.__init__cCs|jS)N)r)r r r r __enter__!szTemporaryDirectory.__enter__c Cs2ytj|jdWntk r&YnXd|_dS)NT)shutilZrmtreerOSError)r exctypeZexcvalueZexctracer r r __exit__$s zTemporaryDirectory.__exit__N)__name__ __module__ __qualname____doc__rrrr r r r r sr ) __all__ sysconfigrr ImportErrorZdistutils.sysconfigrr r robjectr r r r s