HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/alt/python38/lib64/python3.8/site-packages/multidict/__pycache__/_multidict_py.cpython-38.pyc
U

���_o9�@sddlZddlmZddlmZddlmZmZe�ZGdd�de	�Z
e
Zdd	�Zed
dg�a
Gdd�d�ZGd
d�d�ZGdd�dee�ZGdd�de�ZGdd�dee�ZGdd�de�ZGdd�d�ZGdd�d�ZGdd�deej�ZGdd�deej�ZGdd �d eej�ZdS)!�N)�array)�abc�)�MultiMapping�MutableMultiMappingc@seZdZdZdZdS)�istrzCase insensitive str.TN)�__name__�
__module__�__qualname__�__doc__Z__is_istr__�rr�J/opt/alt/python38/lib64/python3.8/site-packages/multidict/_multidict_py.pyr
srcCst|t�std��|jjS)Nz&Parameter should be multidict or proxy)�
isinstance�_Base�	TypeError�_impl�_version)Zmdrrr
�
getversions
r�Qc@s4eZdZdZdd�Zdd�Zejjdkr0dd�Z	d	S)
�_Impl)�_itemsrcCsg|_|��dS�N)r�incr_version��selfrrr
�__init__ sz_Impl.__init__cCs"t}|dd7<|d|_dS�Nrr)r)r�vrrr
r$sz_Impl.incr_version�pypycCst�|�t�|j�Sr)�object�
__sizeof__�sys�	getsizeofrrrrr
r ,sz_Impl.__sizeof__N)
rr	r
�	__slots__rrr!�implementation�namer rrrr
rs
rc@s~eZdZdd�Zefdd�Zefdd�Zdd�Zdd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd	S)rcCs|Srr�r�keyrrr
�_title1sz_Base._titlecsH|�|���fdd�|jjD�}|r(|S|s8|tk	r8|Std|��dS)z-Return a list of all values matching the key.csg|]\}}}|�kr|�qSrr)�.0�i�kr��identityrr
�
<listcomp>7sz _Base.getall.<locals>.<listcomp>�Key not found: %rN�r(rr�_marker�KeyError)rr'�default�resrr,r
�getall4s
z_Base.getallcCsJ|�|�}|jjD]\}}}||kr|Sq|tk	r:|Std|��dS)z!Get first value matching the key.r/Nr0�rr'r3r-r*r+rrrr
�getone>s

z_Base.getonecCs
|�|�Sr�r7r&rrr
�__getitem__Jsz_Base.__getitem__NcCs|�||�S)zVGet first value matching the key.

        The method is alias for .getone().
        r8)rr'r3rrr
�getMsz	_Base.getcCst|���Sr)�iter�keysrrrr
�__iter__Tsz_Base.__iter__cCst|jj�Sr��lenrrrrrr
�__len__Wsz
_Base.__len__cCs
t|j�S)z+Return a new view of the dictionary's keys.)�	_KeysViewrrrrr
r<Zsz
_Base.keyscCs
t|j�S)zAReturn a new view of the dictionary's items *(key, value) pairs).)�
_ItemsViewrrrrr
�items^sz_Base.itemscCs
t|j�S)z-Return a new view of the dictionary's values.)�_ValuesViewrrrrr
�valuesbsz_Base.valuescCs�t|tj�stSt|t�rx|jj}|jj}t|�t|�kr>dSt||�D]*\\}}}\}}}||ksl||krHdSqHdSt|jj�t|�kr�dS|�	�D]"\}	}
|�
|	t�}|
|kr�dSq�dS)NFT)rr�Mapping�NotImplementedrrrr?�ziprCr:r1)r�otherZlftZrht�i1Zk2Zv1�i2Zv2r+r�nvrrr
�__eq__fs$
z_Base.__eq__cCs0|�|�}|jjD]\}}}||krdSqdS)NTF)r(rr)rr'r-r*r+rrrr
�__contains__zs

z_Base.__contains__cCs(d�dd�|��D��}d�|jj|�S)N�, css|]\}}d�||�VqdS)z
'{}': {!r}N)�format)r)r+rrrr
�	<genexpr>�sz!_Base.__repr__.<locals>.<genexpr>z<{}({})>)�joinrCrP�	__class__r)r�bodyrrr
�__repr__�sz_Base.__repr__)N)rr	r
r(r1r5r7r9r:r=r@r<rCrErMrNrUrrrr
r0s

rc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�MultiDictProxyz'Read-only proxy for MultiDict instance.cCs,t|ttf�s td�t|����|j|_dS)Nz:ctor requires MultiDict or MultiDictProxy instance, not {})r�	MultiDictrVrrP�typer�r�argrrr
r�s��zMultiDictProxy.__init__cCstd�|jj���dS)Nzcan't pickle {} objects)rrPrSrrrrr
�
__reduce__�szMultiDictProxy.__reduce__cCst|���S�zReturn a copy of itself.)rWrCrrrr
�copy�szMultiDictProxy.copyN)rr	r
rrr[r]rrrr
rV�s	rVc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�CIMultiDictProxyz)Read-only proxy for CIMultiDict instance.cCs,t|ttf�s td�t|����|j|_dS)Nz>ctor requires CIMultiDict or CIMultiDictProxy instance, not {})r�CIMultiDictr^rrPrXrrYrrr
r�s��zCIMultiDictProxy.__init__cCs|��Sr��titler&rrr
r(�szCIMultiDictProxy._titlecCst|���Sr\)r_rCrrrr
r]�szCIMultiDictProxy.copyN)rr	r
rrr(r]rrrr
r^�s	r^c@s�eZdZdZdd�Zejjdkr(dd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
e
Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd,dd�Zefd d!�ZeZefd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�ZdS)-rWz/Dictionary with the support for duplicate keys.cOs"t�|_|�|||jj|j�dSr)rr�_extendrSr�
_extend_items�r�args�kwargsrrr
r�szMultiDict.__init__rcCst�|�t�|j�Sr)rr r!r"rrrrr
r �szMultiDict.__sizeof__cCs|jt|���ffSr)rS�listrCrrrr
r[�szMultiDict.__reduce__cCs|Srrr&rrr
r(�szMultiDict._titlecCst|t�r|Std��dS)Nz8MultiDict keys should be either str or subclasses of str)r�strrr&rrr
�_key�s

�zMultiDict._keycCs2|�|�}|jj�||�|�|f�|j��dSr)r(rr�appendrir)rr'�valuer-rrr
�add�s
z
MultiDict.addcCs|j}||���Sr\)rSrC)r�clsrrr
r]�szMultiDict.copycOs|�||d|j�dS)zhExtend current MultiDict with more values.

        This method must be used instead of update.
        �extendN)rbrcrdrrr
rn�szMultiDict.extendcs�t|�dkr td�|t|����|r�|d}t|dttf�rL|sL|jj}n�t|d�r^|�	�}|r|t
|�}|�t
|�	���g}|D]F}t|�dks�td�|���|���
|d���|d�|df�q�||�n|�fdd�|�	�D��dS)	Nrz1{} takes at most 1 positional argument ({} given)rrC�z3{} takes either dict or list of (key, value) tuplescs&g|]\}}��|���|�|f�qSr)r(ri)r)r'rkrrr
r.�s�z%MultiDict._extend.<locals>.<listcomp>)r?rrPrrWrVrr�hasattrrCrgrnrjr(ri)rrerfr%�methodrZrC�itemrrr
rb�s>��

��*

��zMultiDict._extendcCs |D]\}}}|�||�qdSr)rl)rrCr-r'rkrrr
rc�szMultiDict._extend_itemscCs|jj��|j��dS)z Remove all items from MultiDict.N)rr�clearrrrrr
rsszMultiDict.clearcCs|�||�dSr)�_replace)rr'rkrrr
�__setitem__	szMultiDict.__setitem__cCsf|�|�}|jj}d}tt|�ddd�D]}||d|kr*||=d}q*|sXt|��n
|j��dS)NFr���rT)r(rr�ranger?r2r)rr'r-rC�foundr*rrr
�__delitem__s

zMultiDict.__delitem__NcCs>|�|�}|jjD]\}}}||kr|Sq|�||�|S)zAReturn value for key, set value to default if key is not present.)r(rrrlr6rrr
�
setdefaults

zMultiDict.setdefaultcCsz|�|�}tt|jj��D]D}|jj|d|kr|jj|d}|jj|=|j��|Sq|tkrrt|��n|SdS)z�Remove specified key and return the corresponding value.

        If key is not found, d is returned if given, otherwise
        KeyError is raised.

        rroN)r(rwr?rrrr1r2)rr'r3r-r*rkrrr
�popone"s




zMultiDict.poponecCs�d}|�|�}g}tt|jj�ddd�D]B}|jj|}|d|kr*|�|d�|jj|=|j��d}q*|s�|tkr�t|��q�|Sn|�	�|SdS)z�Remove all occurrences of key and return the list of corresponding
        values.

        If key is not found, default is returned if given, otherwise
        KeyError is raised.

        FrrvrroTN)
r(rwr?rrrjrr1r2�reverse)rr'r3rxr-�retr*rrrrr
�popall7s 



zMultiDict.popallcCs<|jjr0|jj�d�}|j��|d|dfStd��dS)z1Remove and return an arbitrary (key, value) pair.rrrozempty multidictN)rr�poprr2)rr*rrr
�popitemRs

zMultiDict.popitemcOs|�||d|j�dS)z>Update the dictionary from *other*, overwriting existing keys.�updateN)rb�
_update_itemsrdrrr
r�[szMultiDict.updatec
Cs|sdSi}|D]�\}}}|�|d�}t|t|jj��D]>}|jj|}|d|kr8|d||<|||f|jj|<qq8|jj�|||f�t|jj�||<qd}|t|jj�k�r|jj|}|d}|�|�}	|	dkr�|d7}q�||	kr�|jj|=q�|d7}q�|j��dSr)r:rwr?rrrjr)
rrCZ	used_keysr-r'rk�startr*rr�posrrr
r�_s2

zMultiDict._update_itemscCs�|�|�}|�|�}|jj}tt|��D]8}||}|d|kr(|||f||<|}|j��q�q(|jj�|||f�|j��dS|d}|t|�kr�||}|d|kr�||=q�|d7}q�dSr)rir(rrrwr?rrj)rr'rkr-rCr*rrZrgtrrr
rts&



zMultiDict._replace)N)rr	r
rrr!r$r%r r[r(rirlr]�__copy__rnrbrcrsruryrzr1r{rr~r�r�r�rtrrrr
rW�s0"
		 rWc@seZdZdZdd�ZdS)r_z@Dictionary with the support for duplicate case-insensitive keys.cCs|��Srr`r&rrr
r(�szCIMultiDict._titleN)rr	r
rr(rrrr
r_�sr_c@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�_Iter��_size�_itercCs||_||_dSrr�)r�size�iteratorrrr
r�sz_Iter.__init__cCs|Srrrrrr
r=�sz_Iter.__iter__cCs
t|j�Sr)�nextr�rrrr
�__next__�sz_Iter.__next__cCs|jSr)r�rrrr
�__length_hint__�sz_Iter.__length_hint__N)rr	r
r#rr=r�r�rrrr
r��s
r�c@seZdZdd�Zdd�ZdS)�	_ViewBasecCs||_|j|_dSr)rr)r�implrrr
r�sz_ViewBase.__init__cCst|jj�Srr>rrrr
r@�sz_ViewBase.__len__N)rr	r
rr@rrrr
r��sr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
rBcCs^t|t�st|t�st�t|�dks(t�|jjD](\}}}|d|kr0|d|kr0dSq0dS)NrorrTF)r�tuplerg�AssertionErrorr?rr)rrrr*r+rrrr
rN�sz_ItemsView.__contains__cCstt|�|���Sr�r�r?r�rrrr
r=�sz_ItemsView.__iter__ccs8|jjD]*\}}}|j|jjkr(td��||fVqdS)N�#Dictionary changed during iteration�rrr�RuntimeError)rr*r+rrrr
r��sz_ItemsView._itercCsFg}|jjD]}|�d�|d|d��qd�|�}d�|jj|�S)Nz
{!r}: {!r}rrorO�{}({})�rrrjrPrRrSr�r�lstrrrTrrr
rU�s

z_ItemsView.__repr__N�rr	r
rNr=r�rUrrrr
rB�srBc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
rDcCs$|jjD]}|d|krdSqdS)NroTF�rr)rrkrrrrr
rN�sz_ValuesView.__contains__cCstt|�|���Srr�rrrr
r=�sz_ValuesView.__iter__ccs2|jjD]$}|j|jjkr"td��|dVqdS)Nr�ror��rrrrrr
r��sz_ValuesView._itercCs@g}|jjD]}|�d�|d��qd�|�}d�|jj|�S)N�{!r}rorOr�r�r�rrr
rU�s

z_ValuesView.__repr__Nr�rrrr
rD�srDc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
rAcCs$|jjD]}|d|krdSqdS)NrTFr�)rr'rrrrr
rN�sz_KeysView.__contains__cCstt|�|���Srr�rrrr
r=�sz_KeysView.__iter__ccs2|jjD]$}|j|jjkr"td��|dVqdS)Nr�rr�r�rrr
r��sz_KeysView._itercCs@g}|jjD]}|�d�|d��qd�|�}d�|jj|�S)Nr�rrOr�r�r�rrr
rU�s

z_KeysView.__repr__Nr�rrrr
rA�srA)r!r�collectionsr�_abcrrrr1rhrZupstrrrrrrVr^rWr_r�r��	ItemsViewrB�
ValuesViewrD�KeysViewrArrrr
�<module>s(Vn