R`i;* d dl mZ d dlmZmZ d dlmZ d dlm Z ddl mZ dd lm Z dd lmZmZ ddgZ e Z G d de Z G d de Zy# e$ r d dlmZmZ Y Rw xY w# e$ r G d d ZY `w xY w) )absolute_import)MappingMutableMapping)RLockc e Zd Zd Zd Zy)r c y N selfs /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_vendor/urllib3/_collections.py __enter__zRLock.__enter__ c y r r )r exc_type exc_value tracebacks r __exit__zRLock.__exit__ r r N)__name__ __module____qualname__r r r r r r r s r r )OrderedDict ) InvalidHeader)six)iterkeys itervaluesRecentlyUsedContainerHTTPHeaderDictc F e Zd ZdZeZddZd Zd Zd Z d Z d Zd Zd Z y)r a Provides a thread-safe dict-like container which maintains up to ``maxsize`` keys while throwing away the least-recently-used keys beyond ``maxsize``. :param maxsize: Maximum number of recent elements to retain. :param dispose_func: Every time an item is evicted from the container, ``dispose_func(value)`` is called. Callback which will get called Nc h || _ || _ | j | _ t | _ y r )_maxsizedispose_funcContainerCls _containerr lock)r maxsizer$ s r __init__zRecentlyUsedContainer.__init__/ s* (++-G r c | j 5 | j j | }|| j |<