
    (ph                        S r SSKrSSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SS	K	J
r
  SS
KJr  SSKJr  \4S4S jr/ SQr " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\\\5      r " S S \\5      r " S! S"\5      r\
(       a   " S# S$\5      r " S% S&\5      r " S' S(\5      r " S) S*\5      r " S+ S,\5      r " S- S.\5      r " S/ S0\\5      r  " S1 S2\\5      r! " S3 S4\\5      r" " S5 S6\5      r# " S7 S8\#5      r$ " S9 S:\5      r% " S; S<\%5      r& " S= S>\&5      r'g)?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)PY313_OR_OLDER)ABCInterface)optional c                     U(       a  [        [        U 5      $ [        XSSU -  05      nU H  nUR                  U5        M     U$ )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         T/var/www/html/venv/lib/python3.13/site-packages/zope/interface/common/collections.py_new_in_verr   4   sV     sD!! 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                   <    \ rS rSr\R
                  r\S 5       rSrg)r   c   c                     g)z
Optional method. If not provided, the interpreter will use
``__iter__`` or the old ``__getitem__`` protocol
to implement ``in``.
Nr   others    r   __contains__IContainer.__contains__f       r   r   N)	__name__
__module____qualname____firstlineno__r   	Containerr   r6   __static_attributes__r   r   r   r   r   c   s    
--C r   r   c                   ,    \ rS rSr\R
                  rSrg)r"   o   r   N)r9   r:   r;   r<   r   Hashabler>   r   r   r   r"   r"   o       
,,Cr   r"   c                   <    \ rS rSr\R
                  r\S 5       rSrg)r$   s   c                      gzq
Optional method. If not provided, the interpreter will
implement `iter` using the old ``__getitem__`` protocol.
Nr   r   r   r   __iter__IIterable.__iter__v   r8   r   r   N)	r9   r:   r;   r<   r   Iterabler   rG   r>   r   r   r   r$   r$   s   s    
,,C r   r$   c                   ,    \ rS rSr\R
                  rSrg)r%   ~   r   N)r9   r:   r;   r<   r   Iteratorr>   r   r   r   r%   r%   ~   rB   r   r%   c                   V    \ rS rSr\" SS\R                  5       45      r\S 5       r	Sr
g)r,      
ReversibleTc                      g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__IReversible.__reversed__   r8   r   r   N)r9   r:   r;   r<   r   r$   getABCr   r   rR   r>   r   r   r   r,   r,      s.    
lD9+;+;+=*?
@C r   r,   c                   F    \ rS rSr\" SS\R                  5       45      rSrg)r!      	GeneratorTr   N)	r9   r:   r;   r<   r   r%   rT   r   r>   r   r   r   r!   r!      s    
k4)*:*:*<)>
?Cr   r!   c                   ,    \ rS rSr\R
                  rSrg)r/      r   N)r9   r:   r;   r<   r   Sizedr>   r   r   r   r/   r/      s    
))Cr   r/   c                       \ rS rSr\" SS\R                  5       \R                  5       \R                  5       45      r	Sr
g)r      
CollectionTr   N)r9   r:   r;   r<   r   r/   rT   r$   r   r   r>   r   r   r   r   r      s6     	)**,j.?.?.ABCr   r   c                   V    \ rS rSr\R
                  r\4rSr\	S 5       r
\	S 5       rSrg)r-      r   c                      grQ   r   r   r   r   rR   ISequence.__reversed__   r8   r   c                      grF   r   r   r   r   rG   ISequence.__iter__   r8   r   N)r9   r:   r;   r<   r   Sequencer   extra_classesignored_classesr   rR   rG   r>   r   r   r   r-   r-      s?    
,,CMM O   r   r-   c                   2    \ rS rSr\R
                  r\4rSrg)r*      r   N)	r9   r:   r;   r<   r   MutableSequencer   re   r>   r   r   r   r*   r*      s    


CKMr   r*   c                   P    \ rS rSrSr\" SS\R                  5       4\\	45      r
Srg)IByteString   z'
This unifies `bytes` and `bytearray`.

ByteStringTr   N)r9   r:   r;   r<   r   r   r-   rT   bytes	bytearrayr   r>   r   r   r   rk   rk      s-    	 $!1!1!3 5y7I
r   rk   c                   ,    \ rS rSr\R
                  rSrg)r.      r   N)r9   r:   r;   r<   r   Setr>   r   r   r   r.   r.      s    
''Cr   r.   c                   ,    \ rS rSr\R
                  rSrg)r+      r   N)r9   r:   r;   r<   r   
MutableSetr>   r   r   r   r+   r+      s    
..Cr   r+   c                   8    \ rS rSr\R
                  r\4r\4r	Sr
g)r'      r   N)r9   r:   r;   r<   r   Mappingdictre   r   rf   r>   r   r   r   r'   r'      s    
++CGM
 #nOr   r'   c                   :    \ rS rSr\R
                  r\\4r\	4r
Srg)r)      r   N)r9   r:   r;   r<   r   MutableMappingry   r   re   r   rf   r>   r   r   r   r)   r)      s    


C8%M"nOr   r)   c                   ,    \ rS rSr\R
                  rSrg)r(      r   N)r9   r:   r;   r<   r   MappingViewr>   r   r   r   r(   r(      s    
//Cr   r(   c                   ,    \ rS rSr\R
                  rSrg)r#      r   N)r9   r:   r;   r<   r   	ItemsViewr>   r   r   r   r#   r#      s    
--Cr   r#   c                   ,    \ rS rSr\R
                  rSrg)r&      r   N)r9   r:   r;   r<   r   KeysViewr>   r   r   r   r&   r&      rB   r   r&   c                   <    \ rS rSr\R
                  r\S 5       rSrg)r0      c                     g)z
Optional method. If not provided, the interpreter will use
``__iter__`` or the old ``__len__`` and ``__getitem__`` protocol
to implement ``in``.
Nr   r4   s    r   r6   IValuesView.__contains__   r8   r   r   N)	r9   r:   r;   r<   r   
ValuesViewr   r6   r>   r   r   r   r0   r0      s    
..C r   r0   c                   &    \ rS rSr\" SS5      rSrg)r      	AwaitableTr   Nr9   r:   r;   r<   r   r   r>   r   r   r   r   r          
k4
(Cr   r   c                   &    \ rS rSr\" SS5      rSrg)r       	CoroutineTr   Nr   r   r   r   r    r       r   r   r    c                   &    \ rS rSr\" SS5      rSrg)r   i  AsyncIterableTr   Nr   r   r   r   r   r         
ot
,Cr   r   c                   &    \ rS rSr\" SS5      rSrg)r   i  AsyncIteratorTr   Nr   r   r   r   r   r     r   r   r   c                   &    \ rS rSr\" SS5      rSrg)r   i  AsyncGeneratorTr   Nr   r   r   r   r   r     s    
&
-Cr   r   )(r   sysr   r   collectionsr   r   r   r   zope.interface._compatr	   zope.interface.commonr
   r   r   __all__r   r"   r$   r%   r,   r!   r/   r   r-   r*   rk   r.   r+   r'   r)   r(   r#   r&   r0   r   r    r   r   r   r   r   r   <module>r      sv  *   #     "  1 . * #*$&(6	 	  	 	) 	@ @
\ &2 y  
 
i 
; $ %{ %%h %6 t d 	, 	) )) )-\ --^ -.n .r   