
    DUf                     4    d Z ddlmZ  G d dee          ZdS )zsDrop-in replacement for collections.OrderedDict by Raymond Hettinger

http://code.activestate.com/recipes/576693/

    )	DictMixinc                       e Zd Zd Zd Zd Zd Zd Zd ZddZ	d	 Z
d
 Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zej        Zd Zd Zedd            Zd Zd ZdS )OrderedDictc                     t          |          dk    rt          dt          |          z            	 | j         n$# t          $ r |                                  Y nw xY w | j        |i | d S )N   z$expected at most 1 arguments, got %d)len	TypeError_OrderedDict__endAttributeErrorclearupdate)selfargskwdss      T/var/www/html/software/conda/lib/python3.11/site-packages/simplejson/ordered_dict.py__init__zOrderedDict.__init__
   s    t99q==BSYYNOOO	JJJ 	 	 	JJLLLLL	T"T"""""s   < AAc                 j    g x| _         }|d ||gz  }i | _        t                              |            d S N)r
   _OrderedDict__mapdictr   )r   ends     r   r   zOrderedDict.clear   s>    
Sc3


4    c                     || vr&| j         }|d         }|||gx|d<   x|d<   | j        |<   t                              | ||           d S )Nr      )r
   r   r   __setitem__)r   keyvaluer   currs        r   r   zOrderedDict.__setitem__   s]    d??*Cq6D25tS1AADGAc!ftz#sE*****r   c                     t                               | |           | j                            |          \  }}}||d<   ||d<   d S )Nr   r   )r   __delitem__r   pop)r   r   prevnexts       r   r    zOrderedDict.__delitem__    sG    s###*..--T4QQr   c              #   `   K   | j         }|d         }||ur|d         V  |d         }||ud S d S )Nr   r   r
   r   r   r   s      r   __iter__zOrderedDict.__iter__&   H      j1v#ooq'MMM7D #oooooor   c              #   `   K   | j         }|d         }||ur|d         V  |d         }||ud S d S )Nr   r   r%   r&   s      r   __reversed__zOrderedDict.__reversed__-   r(   r   Tc                     | st          d          |r!t          |                                           n t          |                                           }|                     |          }||fS )Nzdictionary is empty)KeyErrorreversedr#   iterr!   )r   lastr   r   s       r   popitemzOrderedDict.popitem4   sc     	20111'+Bhtnn!!###d1B1BEzr   c                       fd D             } j          j        f} `  `t                                                     }|\   _          _        |r j        |f|fS  j        |ffS )Nc                 $    g | ]}||         gS  r3   ).0kr   s     r   
<listcomp>z*OrderedDict.__reduce__.<locals>.<listcomp><   s!    ,,,!!T!W,,,r   )r   r
   varscopy	__class__)r   itemstmp	inst_dicts   `   r   
__reduce__zOrderedDict.__reduce__;   s~    ,,,,t,,,j$*$J
JJOO%%	!$
DJ 	9NUHi88~x''r   c                      t          |           S r   )listr   s    r   keyszOrderedDict.keysE   s    Dzzr   c                 l    | s| j         j        dS | j         j        d|                                 dS )Nz()())r9   __name__r:   r@   s    r   __repr__zOrderedDict.__repr__Q   s@     	7!^44466>222DJJLLLLAAr   c                 ,    |                      |           S r   )r9   r@   s    r   r8   zOrderedDict.copyV   s    ~~d###r   Nc                 .     |             }|D ]}|||<   |S r   r3   )clsiterabler   dr   s        r   fromkeyszOrderedDict.fromkeysY   s,    CEE 	 	CAcFFr   c                 8   t          |t                    rkt          |           t          |          k    oJt          d t	          |                                 |                                          D                       S t                              | |          S )Nc              3   (   K   | ]\  }}||k    V  d S r   r3   )r4   pqs      r   	<genexpr>z%OrderedDict.__eq__.<locals>.<genexpr>c   s*      JJ1q!tJJJJJJr   )
isinstancer   r   allzipr:   r   __eq__r   others     r   rU   zOrderedDict.__eq__`   s}    e[)) 	Kt99c%jj( KJJTZZ\\5;;==)I)IJJJJJK{{4'''r   c                     | |k     S r   r3   rV   s     r   __ne__zOrderedDict.__ne__f   s    5=  r   )Tr   )rE   
__module____qualname__r   r   r   r    r'   r*   r0   r=   rA   r   
setdefaultr   r!   valuesr:   iterkeys
itervalues	iteritemsrF   r8   classmethodrL   rU   rY   r3   r   r   r   r      s?       # # #  + + +         ( ( (   %JF
-CFOE!H%J#IB B B
$ $ $    [( ( (! ! ! ! !r   r   N)__doc__UserDictr   r   r   r3   r   r   <module>rd      sc    
      _! _! _! _! _!$	 _! _! _! _! _!r   