
    Ngj                         d dl mZ  G d de          Zedk    rB ed          Z ed          Z eeez              eeez              eeez
             dS dS )    )
MutableSetc                   N    e Zd ZddZd Zd Zd Zd Zd Zd Z	dd
Z
d Zd ZdS )
OrderedSetNc                 H    g x| _         }|d ||gz  }i | _        || |z  } d S d S N)endmap)selfiterabler   s      R/var/www/html/ai-engine/env/lib/python3.11/site-packages/marshmallow/orderedset.py__init__zOrderedSet.__init__   sB    3c3HDDD      c                 *    t          | j                  S r   )lenr	   r
   s    r   __len__zOrderedSet.__len__"   s    48}}r   c                     || j         v S r   )r	   )r
   keys     r   __contains__zOrderedSet.__contains__%   s    dhr   c                 h    || j         vr(| j        }|d         }|||gx|d<   x|d<   | j         |<   d S d S )N      )r	   r   )r
   r   r   currs       r   addzOrderedSet.add(   sO    dh(Cq6D03T3/??DG?c!ftx}}} r   c                 l    || j         v r*| j                             |          \  }}}||d<   ||d<   d S d S )Nr   r   )r	   pop)r
   r   prevnexts       r   discardzOrderedSet.discard.   sC    $(??"hll3//OCtDGDGGG ?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OrderedSet.__iter__4   H      h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OrderedSet.__reversed__;   r$   r   Tc                     | st          d          |r| j        d         d         n| j        d         d         }|                     |           |S )Nzset is emptyr   r   r   )KeyErrorr   r   )r
   lastr   s      r   r   zOrderedSet.popB   sQ     	+>*** $8dhqk!nn$(1+a.S
r   c                 b    | s| j         j         dS | j         j         dt          |           dS )Nz()())	__class____name__listr   s    r   __repr__zOrderedSet.__repr__I   s@     	2n-1111.);;DJJ;;;;r   c                     t          |t                    r@t          |           t          |          k    ot          |           t          |          k    S t	          |           t	          |          k    S r   )
isinstancer   r   r/   set)r
   others     r   __eq__zOrderedSet.__eq__N   sY    eZ(( 	It99E

*HtDzzT%[[/HH4yyCJJ&&r   r   )T)r.   
__module____qualname__r   r   r   r   r   r#   r&   r   r0   r5    r   r   r   r      s               @ @ @         < < <
' ' ' ' 'r   r   __main__
abracadaba
simsalabimN)collections.abcr   r   r.   stprintr8   r   r   <module>r@      s   . ' & & & & &7' 7' 7' 7' 7' 7' 7' 7't z
<  A
<  A	E!a%LLL	E!a%LLL	E!a%LLLLL r   