o
    Rh                     @   s   d dl Z d dlmZmZmZmZmZ e jdkrd dlm	Z	 nd dl
m	Z	 dd Zdd Zd	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  ZdS )!    N)	ItemsViewIterableKeysViewSet
ValuesView)      )assert_neverc                 C      t |  d S N)r   registerview_cls r   [/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/multidict/_multidict_base.py_abc_itemsview_register
      r   c                 C   r
   r   )r   r   r   r   r   r   _abc_keysview_register   r   r   c                 C   r
   r   )r   r   r   r   r   r   _abc_valuesview_register   r   r   c                 C   s4  |dkrt |tstS t| t|k o| |kS |dkr:t |ts"tS t| t|kr,dS | D ]	}||vr7 dS q.dS |dkrQt |tsEtS t| t|koP| |kS |dkrZ| |k S |dkrqt |tsetS t| t|kop| |kS |dkrt |ts|tS t| t|k rdS |D ]	}|| vr dS qdS t| d S )	Nr      FT   r         )
isinstancer   NotImplementedlenr	   )viewotheropelemr   r   r   _viewbaseset_richcmp   sF   





r    c                 C   sX   t |tstS t | trtt| } t |trtt|}t |ts(tt|}| |@ S r   r   r   r   r   setiterr   r   r   r   r   _viewbaseset_and;      



r%   c                 C   sX   t |tstS t | trtt| } t |trtt|}t |ts(tt|}| |B S r   r!   r$   r   r   r   _viewbaseset_orG   r&   r'   c                 C   sX   t |tstS t | trtt| } t |trtt|}t |ts(tt|}| | S r   r!   r$   r   r   r   _viewbaseset_subS   r&   r(   c                 C   sX   t |tstS t | trtt| } t |trtt|}t |ts(tt|}| |A S r   r!   r$   r   r   r   _viewbaseset_xor_   r&   r)   c                 C      |D ]	}|| v r dS qdS z1Return True if two sets have a null intersection.FTr   )r   r   vr   r   r   _itemsview_isdisjointk   
   r-   c                 C   s>   g }| D ]\}}| d|| qd|}d| jj|S )Nz
{!r}: {!r}, {}({})appendformatjoin	__class____name__)r   lstkr,   bodyr   r   r   _itemsview_reprs   s
   
r:   c                 C   r*   r+   r   )r   r   r8   r   r   r   _keysview_isdisjoint{   r.   r;   c                 C   8   g }| D ]
}| d| qd|}d| jj|S Nz{!r}r/   r0   r1   )r   r7   r8   r9   r   r   r   _keysview_repr   
   
r>   c                 C   r<   r=   r1   )r   r7   r,   r9   r   r   r   _valuesview_repr   r?   r@   c                 C   sB   g }|   D ]\}}|d|| qd|}d| jj|S )Nz
'{}': {!r}r/   z<{}({})>)itemsr2   r3   r4   r5   r6   )mdr7   r8   r,   r9   r   r   r   _mdrepr   s
   
rC   )syscollections.abcr   r   r   r   r   version_infotypingr	   typing_extensionsr   r   r   r    r%   r'   r(   r)   r-   r:   r;   r>   r@   rC   r   r   r   r   <module>   s&    
%