§
    Çtºf8  ã                   ó4  — d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd	l	m
Z
 dd
l	mZ efdfd„Zg d¢Z G d„ de
¦  «        Z G d„ de
¦  «        Z G d„ de
¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de
¦  «        Z G d„ deee¦  «        Z G d„ dee¦  «        Z G d „ d!e¦  «        Z G d"„ d#e¦  «        Z G d$„ d%e¦  «        Z G d&„ d'e¦  «        Z G d(„ d)e¦  «        Z G d*„ d+e¦  «        Z G d,„ d-e¦  «        Z G d.„ d/ee¦  «        Z G d0„ d1ee¦  «        Z G d2„ d3ee¦  «        Z  G d4„ d5e
¦  «        Z! G d6„ d7e!¦  «        Z" G d8„ d9e
¦  «        Z# G d:„ d;e#¦  «        Z$ G d<„ d=e$¦  «        Z%dS )>aó  
Interface definitions paralleling the abstract base classes defined in
:mod:`collections.abc`.

After this module is imported, the standard library types will declare that
they implement the appropriate interface. While most standard library types
will properly implement that interface (that is, ``verifyObject(ISequence,
list()))`` will pass, for example), a few might not:

    - `memoryview` doesn't feature all the defined methods of
      ``ISequence`` such as ``count``; it is still declared to provide
      ``ISequence`` though.

    - `collections.deque.pop` doesn't accept the ``index`` argument of
      `collections.abc.MutableSequence.pop`

    - `range.index` does not accept the ``start`` and ``stop`` arguments.

.. versionadded:: 5.0.0
é    N)ÚABCMeta)ÚOrderedDict)ÚUserDict)ÚUserList)Ú
UserString)Úabc)ÚABCInterface)Úoptional© c                 ó”   — |rt          t          | ¦  «        S t          | |dd| z  i¦  «        }|D ]}|                     |¦  «         Œ|S )NÚ__doc__z4The ABC %s is not defined in this version of Python.)Úgetattrr   r   Úregister)ÚnameÚverÚbases_if_missingÚregister_if_missingÚmissingÚcs         ú`/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/zope/interface/common/collections.pyÚ_new_in_verr   3   sr   € ð ð "Ý•s˜DÑ!Ô!Ð!õ �dÐ,ØÐIØñ
ð/ñ ô €Gð !ð ð ˆØ×Ò˜ÑÔÐÐà€Nó    )ÚIAsyncGeneratorÚIAsyncIterableÚIAsyncIteratorÚ
IAwaitableÚICollectionÚ
IContainerÚ
ICoroutineÚ
IGeneratorÚ	IHashableÚ
IItemsViewÚ	IIterableÚ	IIteratorÚ	IKeysViewÚIMappingÚIMappingViewÚIMutableMappingÚIMutableSequenceÚIMutableSetÚIReversibleÚ	ISequenceÚISetÚISizedÚIValuesViewc                   ó2   — e Zd Zej        Zed„ ¦   «         ZdS )r   c                 ó   — dS )z¢
        Optional method. If not provided, the interpreter will use
        ``__iter__`` or the old ``__getitem__`` protocol
        to implement ``in``.
        Nr   ©Úothers    r   Ú__contains__zIContainer.__contains__e   ó   € € € r   N)Ú__name__Ú
__module__Ú__qualname__r   Ú	Containerr
   r4   r   r   r   r   r   b   s4   € € € € € Ø
Œ-€Càðð ñ „Xðð ð r   r   c                   ó   — e Zd Zej        ZdS )r!   N)r6   r7   r8   r   ÚHashabler   r   r   r!   r!   n   ó   € € € € € Ø
Œ,€C€C€Cr   r!   c                   ó2   — e Zd Zej        Zed„ ¦   «         ZdS )r#   c                  ó   — dS ©z‰
        Optional method. If not provided, the interpreter will
        implement `iter` using the old ``__getitem__`` protocol.
        Nr   r   r   r   Ú__iter__zIIterable.__iter__u   r5   r   N)r6   r7   r8   r   ÚIterabler
   r@   r   r   r   r#   r#   r   s4   € € € € € Ø
Œ,€Càðð ñ „Xðð ð r   r#   c                   ó   — e Zd Zej        ZdS )r$   N)r6   r7   r8   r   ÚIteratorr   r   r   r$   r$   }   r<   r   r$   c                   ód   — e Zd Z edde                     ¦   «         f¦  «        Zed„ ¦   «         ZdS )r+   Ú
ReversibleTc                  ó   — dS ©z§
        Optional method. If this isn't present, the interpreter
        will use ``__len__`` and ``__getitem__`` to implement the
        `reversed` builtin.
        Nr   r   r   r   Ú__reversed__zIReversible.__reversed__„   r5   r   N)	r6   r7   r8   r   r#   ÚgetABCr   r
   rH   r   r   r   r+   r+   �   sO   € € € € € Ø
ˆ+�l D¨9×+;Ò+;Ñ+=Ô+=Ð*?Ñ
@Ô
@€Càðð ñ „Xðð ð r   r+   c                   óN   — e Zd Z edde                     ¦   «         f¦  «        ZdS )r    Ú	GeneratorTN)r6   r7   r8   r   r$   rI   r   r   r   r   r    r    �   s0   € € € € € à
ˆ+�k 4¨)×*:Ò*:Ñ*<Ô*<Ð)>Ñ
?Ô
?€C€C€Cr   r    c                   ó   — e Zd Zej        ZdS )r.   N)r6   r7   r8   r   ÚSizedr   r   r   r.   r.   ’   s   € € € € € Ø
Œ)€C€C€Cr   r.   c                   óš   — e Zd Z edde                     ¦   «         e                     ¦   «         e                     ¦   «         f¦  «        ZdS )r   Ú
CollectionTN)	r6   r7   r8   r   r.   rI   r#   r   r   r   r   r   r   r   ™   sQ   € € € € € ð ˆ+ØØØ	�Š‰Œ˜)×*Ò*Ñ,Ô,¨j×.?Ò.?Ñ.AÔ.AÐBñô €C€C€Cr   r   c                   óR   — e Zd Zej        ZefZdZed„ ¦   «         Z	ed„ ¦   «         Z
dS )r,   r   c                  ó   — dS rG   r   r   r   r   rH   zISequence.__reversed__¬   r5   r   c                  ó   — dS r?   r   r   r   r   r@   zISequence.__iter__´   r5   r   N)r6   r7   r8   r   ÚSequencer   Úextra_classesÚignored_classesr
   rH   r@   r   r   r   r,   r,   £   s]   € € € € € à
Œ,€CØ�M€Mð €Oàðð ñ „Xðð ðð ñ „Xðð ð r   r,   c                   ó"   — e Zd Zej        ZefZdS )r)   N)r6   r7   r8   r   ÚMutableSequencer   rT   r   r   r   r)   r)   ¼   s   € € € € € Ø
Ô
€CØ�K€M€M€Mr   r)   c                   óX   — e Zd ZdZ edde                     ¦   «         feef¦  «        Z	dS )ÚIByteStringz/
    This unifies `bytes` and `bytearray`.
    Ú
ByteStringTN)
r6   r7   r8   r   r   r,   rI   ÚbytesÚ	bytearrayr   r   r   r   rY   rY   Á   sH   € € € € € ðð ð ˆ+Ø�d˜Y×-Ò-Ñ/Ô/Ð1°E¸9Ð3Eñô €C€C€Cr   rY   c                   ó   — e Zd Zej        ZdS )r-   N)r6   r7   r8   r   ÚSetr   r   r   r-   r-   Ê   s   € € € € € Ø
Œ'€C€C€Cr   r-   c                   ó   — e Zd Zej        ZdS )r*   N)r6   r7   r8   r   Ú
MutableSetr   r   r   r*   r*   Î   s   € € € € € Ø
Œ.€C€C€Cr   r*   c                   ó(   — e Zd Zej        ZefZefZdS )r&   N)	r6   r7   r8   r   ÚMappingÚdictrT   r   rU   r   r   r   r&   r&   Ò   s%   € € € € € Ø
Œ+€CØ�G€Mð
 #�n€O€O€Or   r&   c                   ó*   — e Zd Zej        ZeefZefZ	dS )r(   N)
r6   r7   r8   r   ÚMutableMappingrc   r   rT   r   rU   r   r   r   r(   r(   Ü   s'   € € € € € Ø
Ô
€CØ˜8Ð%€MØ"�n€O€O€Or   r(   c                   ó   — e Zd Zej        ZdS )r'   N)r6   r7   r8   r   ÚMappingViewr   r   r   r'   r'   â   s   € € € € € Ø
Œ/€C€C€Cr   r'   c                   ó   — e Zd Zej        ZdS )r"   N)r6   r7   r8   r   Ú	ItemsViewr   r   r   r"   r"   æ   s   € € € € € Ø
Œ-€C€C€Cr   r"   c                   ó   — e Zd Zej        ZdS )r%   N)r6   r7   r8   r   ÚKeysViewr   r   r   r%   r%   ê   r<   r   r%   c                   ó2   — e Zd Zej        Zed„ ¦   «         ZdS )r/   c                 ó   — dS )z²
        Optional method. If not provided, the interpreter will use
        ``__iter__`` or the old ``__len__`` and ``__getitem__`` protocol
        to implement ``in``.
        Nr   r2   s    r   r4   zIValuesView.__contains__ñ   r5   r   N)r6   r7   r8   r   Ú
ValuesViewr
   r4   r   r   r   r/   r/   î   s4   € € € € € Ø
Œ.€Càðð ñ „Xðð ð r   r/   c                   ó&   — e Zd Z edd¦  «        ZdS )r   Ú	AwaitableTN©r6   r7   r8   r   r   r   r   r   r   r   ú   ó   € € € € € Ø
ˆ+�k 4Ñ
(Ô
(€C€C€Cr   r   c                   ó&   — e Zd Z edd¦  «        ZdS )r   Ú	CoroutineTNrq   r   r   r   r   r   þ   rr   r   r   c                   ó&   — e Zd Z edd¦  «        ZdS )r   ÚAsyncIterableTNrq   r   r   r   r   r     ó   € € € € € Ø
ˆ+�o tÑ
,Ô
,€C€C€Cr   r   c                   ó&   — e Zd Z edd¦  «        ZdS )r   ÚAsyncIteratorTNrq   r   r   r   r   r     rw   r   r   c                   ó&   — e Zd Z edd¦  «        ZdS )r   ÚAsyncGeneratorTNrq   r   r   r   r   r   
  s    € € € € € Ø
ˆ+Ð&¨Ñ
-Ô
-€C€C€Cr   r   )&r   Úsysr   r   Úcollectionsr   r   r   r   Úzope.interface.commonr	   r
   r   Ú__all__r   r!   r#   r$   r+   r    r.   r   r,   r)   rY   r-   r*   r&   r(   r'   r"   r%   r/   r   r   r   r   r   r   r   r   ú<module>r€      sê  ððð ð* €
€
€
Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø  Ð  Ð  Ð  Ð  Ð  Ø  Ð  Ð  Ð  Ð  Ð  Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð à .Ð .Ð .Ð .Ð .Ð .Ø *Ð *Ð *Ð *Ð *Ð *ð #* Ø$&ðð ð ð ð(ð ð €ð6	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ðð ð ð ð �ñ ô ð ðð ð ð ð �ñ ô ð ðð ð ð ð �	ñ ô ð ð	ð 	ð 	ð 	ð 	�)ñ 	ô 	ð 	ð@ð @ð @ð @ð @�ñ @ô @ð @ð
ð ð ð ð ˆ\ñ ô ð ðð ð ð ð �&ØØñô ð ðð ð ð ð �Øñô ð ð2 ð  ð  ð  ð  �yñ  ô  ð  ð
ð ð ð ð �)ñ ô ð ðð ð ð ð ˆ;ñ ô ð ðð ð ð ð �$ñ ô ð ð%ð %ð %ð %ð %ˆ{ñ %ô %ð %ð%ð %ð %ð %ð %�hñ %ô %ð %ðð ð ð ð �6ñ ô ð ðð ð ð ð �˜tñ ô ð ðð ð ð ð �˜dñ ô ð ð	ð 	ð 	ð 	ð 	�, ñ 	ô 	ð 	ð)ð )ð )ð )ð )�ñ )ô )ð )ð)ð )ð )ð )ð )�ñ )ô )ð )ð-ð -ð -ð -ð -�\ñ -ô -ð -ð-ð -ð -ð -ð -�^ñ -ô -ð -ð.ð .ð .ð .ð .�nñ .ô .ð .ð .ð .r   