o
    h                     @   s4   d dl mZ erd dl mZ e ZG dd dZdS )    )TYPE_CHECKING)Anyc                   @   s.   e Zd Zdd Zdd Zd
ddZdd	 ZdS )LRUCachec                 C   s8   |dkrt d| || _i | _d | _| _d| _d S )Nr   zinvalid max_size: F)AssertionErrormax_size_datahitsmissesfull)selfr    r   W/var/www/html/pro-man-master/venv/lib/python3.10/site-packages/sentry_sdk/_lru_cache.py__init__   s   
zLRUCache.__init__c                 C   sj   | j |t}|tur|| j |< n| jr%| j tt| j  || j |< n|| j |< t| j | jk| _d S N)r   pop	_SENTINELr
   nextiterlenr   )r   keyvaluecurrentr   r   r   set   s   
zLRUCache.setNc                 C   sT   z| j |}W n ty   |  jd7  _|}Y |S w |  jd7  _|| j |< |S )N   )r   r   KeyErrorr	   r   )r   r   defaultretr   r   r   get    s   
zLRUCache.getc                 C   s   t | j S r   )listr   items)r   r   r   r   get_all-   s   zLRUCache.get_allr   )__name__
__module____qualname__r   r   r   r    r   r   r   r   r   
   s
    	
r   N)typingr   r   objectr   r   r   r   r   r   <module>   s
    