o
    h                     @   s<   d dl mZmZ ddgZG dd deZG dd deZdS )    )UserDictUserListLazyDictLazyListc                       s$   e Zd Z fddZdd Z  ZS )r   c                    s   t    || _d S N)super__init__data)selfr	   	__class__ Z/var/www/html/optinet_system/venv/lib/python3.10/site-packages/fontTools/misc/lazyTools.pyr      s   

zLazyDict.__init__c                 C   s(   | j | }t|r||}|| j |< |S r   )r	   callable)r
   kvr   r   r   __getitem__   s
   

zLazyDict.__getitem__)__name__
__module____qualname__r   r   __classcell__r   r   r   r   r      s    c                   @   s$   e Zd Zdd Zdd Zdd ZdS )r   c                    sV   t |trt|t  } fdd|D S  j| }t|r)||}| j|< |S )Nc                    s   g | ]} | qS r   r   ).0ir
   r   r   
<listcomp>   s    z(LazyList.__getitem__.<locals>.<listcomp>)
isinstanceslicerangeindiceslenr	   r   )r
   r   r   r   r   r   r   r      s   


zLazyList.__getitem__c                 C   s0   t |tr
t|}nt |trntS t| | S r   )r   r   listNotImplementedr
   otherr   r   r   __add__   s   


zLazyList.__add__c                 C   s   t |tstS |t|  S r   )r   r    r!   r"   r   r   r   __radd__'   s   
zLazyList.__radd__N)r   r   r   r   r$   r%   r   r   r   r   r      s    
	N)collectionsr   r   __all__r   r   r   r   r   r   <module>   s    