o
    2˜Žjb	  ã                   @   sð   d dl Z d dlmZmZmZ d dlmZmZmZm	Z	m
Z
 er%ddlmZ neZedƒZeddd	�Zed
ƒZG dd„ dee ƒZG dd„ dee ƒZe	ee ee eeeef  df ZG dd„ deeef ƒZG dd„ dee eeef ƒZdS )é    N)ÚIterableÚMappingÚMutableMapping)ÚTYPE_CHECKINGÚProtocolÚTypeVarÚUnionÚoverloadé   )ÚistrÚ_VÚ_V_coT)Ú	covariantÚ_Tc                   @   ó0   e Zd Zdee fdd„Zdedefdd„ZdS )ÚSupportsKeysÚreturnc                 C   ó   d S ©N© ©Úselfr   r   úK/var/www/kodo/Anonymous/send/lib/python3.10/site-packages/multidict/_abc.pyÚkeys   ó    zSupportsKeys.keysÚkeyc                C   r   r   r   ©r   r   r   r   r   Ú__getitem__   r   zSupportsKeys.__getitem__N)Ú__name__Ú
__module__Ú__qualname__r   Ústrr   r   r   r   r   r   r   r      ó    r   c                   @   r   )ÚSupportsIKeysr   c                 C   r   r   r   r   r   r   r   r      r   zSupportsIKeys.keysr   c                C   r   r   r   r   r   r   r   r      r   zSupportsIKeys.__getitem__N)r   r   r    r   r   r   r   r   r   r   r   r   r#      r"   r#   c                
   @   sÔ   e Zd Zededee fdd„ƒZededede	ee ef fdd„ƒZe
jddedede	ee ef fdd„ƒZededefd	d
„ƒZededede	eef fdd
„ƒZe
jddedede	eef fdd
„ƒZdS )ÚMultiMappingr   r   c                 C   r   r   r   r   r   r   r   Úgetall   ó   zMultiMapping.getallÚdefaultc                 C   r   r   r   ©r   r   r'   r   r   r   r%      r&   .c                 C   ó   dS )zReturn all values for key.Nr   r(   r   r   r   r%   !   r   c                 C   r   r   r   r   r   r   r   Úgetone%   r&   zMultiMapping.getonec                 C   r   r   r   r(   r   r   r   r*   '   r&   c                 C   r)   )zReturn first value for key.Nr   r(   r   r   r   r*   )   r   N©.)r   r   r    r	   r!   Úlistr   r%   r   r   ÚabcÚabstractmethodr*   r   r   r   r   r$      s    $& &r$   c                
   @   s4  e Zd Zejdededdfdd„ƒZejddee deddfd	d
„ƒZ	ejddee deddfdd„ƒZ
ededefdd„ƒZedededeeef fdd„ƒZejddededeeef fdd„ƒZededee fdd„ƒZedededeee ef fdd„ƒZejddededeee ef fdd„ƒZdS )ÚMutableMultiMappingr   Úvaluer   Nc                 C   r)   )zAdd value to list.Nr   )r   r   r0   r   r   r   Úadd/   r   zMutableMultiMapping.addÚargÚkwargsc                K   r)   )z2Add everything from arg and kwargs to the mapping.Nr   ©r   r2   r3   r   r   r   Úextend3   r   zMutableMultiMapping.extendc                K   r)   )z1Merge into the mapping, adding non-existing keys.Nr   r4   r   r   r   Úmerge7   r   zMutableMultiMapping.mergec                 C   r   r   r   r   r   r   r   Úpopone;   r&   zMutableMultiMapping.poponer'   c                 C   r   r   r   r(   r   r   r   r7   =   r&   .c                 C   r)   )z8Remove specified key and return the corresponding value.Nr   r(   r   r   r   r7   ?   r   c                 C   r   r   r   r   r   r   r   ÚpopallC   r&   zMutableMultiMapping.popallc                 C   r   r   r   r(   r   r   r   r8   E   r&   c                 C   r)   )zJRemove all occurrences of key and return the list of corresponding values.Nr   r(   r   r   r   r8   G   r   r   r+   )r   r   r    r-   r.   r!   r   r1   ÚMDArgr5   r6   r	   r7   r   r   r,   r8   r   r   r   r   r/   .   s&     "$*r/   )r-   Úcollections.abcr   r   r   Útypingr   r   r   r   r	   Ú_multidict_pyr   r!   r   r   r   r   r#   Útupler9   r$   r/   r   r   r   r   Ú<module>   s    $"