� ��abc@sFdZddlmZdefd��YZdefd��YZdS(sb The cache object API for implementing caches. The default is a thread safe in-memory dictionary. i����(tLockt BaseCachecBs,eZd�Zd�Zd�Zd�ZRS(cCs t��dS(N(tNotImplemented(tselftkey((sB/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/cache.pytget scCs t��dS(N(R(RRtvalue((sB/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/cache.pytset scCs t��dS(N(R(RR((sB/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/cache.pytdeletescCsdS(N((R((sB/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/cache.pytcloses(t__name__t __module__RRRR (((sB/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/cache.pyRs   t DictCachecBs/eZdd�Zd�Zd�Zd�ZRS(cCst�|_|pi|_dS(N(Rtlocktdata(Rt init_dict((sB/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/cache.pyt__init__s cCs|jj|d�S(N(RRtNone(RR((sB/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/cache.pyRscCs+|j�|jji||6�WdQXdS(N(R Rtupdate(RRR((sB/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/cache.pyR s cCs6|j�'||jkr,|jj|�nWdQXdS(N(R Rtpop(RR((sB/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/cache.pyR$s N(R R RRRRR(((sB/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/cache.pyR s   N(t__doc__t threadingRtobjectRR (((sB/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/cache.pyts