
    	h                          " S  S\ 5      rg)c                   D    \ rS rSrSr0 rSS jrS rS rS r	S r
S	 rS
rg)IndexedList   z
List with optimised access by value
Based on Alex Martelli's recipe

http://code.activestate.com/recipes/52303-the-auxiliary-dictionary-idiom-for-sequences-with-/
Nc                     SU l         0 U l        Ub?  SU l         [        U5       H(  u  p#X R                  U'   [        R	                  X5        M*     g g )NTF)clean_dict	enumeratelistappend)selfiterableidxvals       M/var/www/html/env/lib/python3.13/site-packages/openpyxl/utils/indexed_list.py__init__IndexedList.__init__   sJ    

DJ%h/"%

3D& 0      c                 ~    0 U l         SnU  H'  nX R                   ;  d  M  XR                   U'   US-  nM)     SU l        g )N       Tr   r   )r   r   values      r   _rebuild_dictIndexedList._rebuild_dict   s@    
EJJ&$'

5!q  
r   c                 `    U R                   (       d  U R                  5         XR                  ;   $ N)r   r   r   r   r   s     r   __contains__IndexedList.__contains__    s"    zz 

""r   c                 6    X;   a  U R                   U   $ [        er   )r   
ValueErrorr   s     r   indexIndexedList.index%   s    =::e$$r   c                 ~    XR                   ;  a.  [        U 5      U R                   U'   [        R                  X5        g g r   )r   lenr	   r
   r   s     r   r
   IndexedList.append*   s/    

" #D	DJJuKK$ #r   c                 B    U R                  U5        U R                  U   $ r   )r
   r   r   s     r   addIndexedList.add/   s    Ezz%  r   r   r   )__name__
__module____qualname____firstlineno____doc__r   r   r   r   r!   r
   r'   __static_attributes__ r   r   r   r      s,     E'#

%
!r   r   N)r	   r   r/   r   r   <module>r0      s   -!$ -!r   