Edit File: _collections_abc.cpython-37.opt-1.pyc
B ����m}�c8g������������������@���st��d�Z�ddlmZmZ�ddlZdddddd d ddd dddddddddddddddgZdZeed��Z eee ����Zeei������Z eei������Zeei������Zeeg���Zeeeg����Zeeed���Zeeedd >����Zeee����Zeed!��Zeed"��Zeee����Zei�����Zei�����Zei�����Z eej!�Z"ed#d$�����Z#d%d&��Z$e$��Z$ee$�Z%e$�&���[$d'd(��Z'e'��Z'ee'�Z(['d)d*��Z)G�d+d ��d ed,�Z*G�d-d��ded,�Z+G�d.d��de+�Z,e,�-e%��G�d/d��ded,�Z.G�d0d��de.�Z/G�d1d��de/�Z0e0�-e(��G�d2d ��d ed,�Z1G�d3d��de1�Z2e2�-e ��e2�-e��e2�-e ��e2�-e��e2�-e��e2�-e��e2�-e��e2�-e��e2�-e��e2�-e��e2�-e��e2�-e��e2�-e��G�d4d ��d e1�Z3G�d5d��de2�Z4e4�-e#��G�d6d��ded,�Z5G�d7d��ded,�Z6G�d8d��de5e1e6�Z7G�d9d��ded,�Z8G�d:d��de7�Z9e9�-e:��G�d;d��de9�Z;e;�-e��G�d<d��de7�Z<e<�-e"��G�d=d��de5�Z=G�d>d��de=e9�Z>e>�-e��G�d?d��de=e9�Z?e?�-e ��G�d@d��de=e7�Z@e@�-e��G�dAd��de<�ZAeA�-eB��G�dBd��de3e7�ZCeC�-eD��eC�-eE��eC�-e��eC�-eF��G�dCd��deC�ZGeG�-eH��eG�-e ��G�dDd��deC�ZIeI�-eJ��eI�-e ��dS�)EzjAbstract Base Classes (ABCs) for collections, according to PEP 3119. Unit tests are in test_collections. �����)�ABCMeta�abstractmethodN� Awaitable� Coroutine� AsyncIterable� AsyncIterator�AsyncGenerator�Hashable�Iterable�Iterator� Generator� Reversible�Sized� Container�Callable� Collection�Set� MutableSet�Mapping�MutableMapping�MappingView�KeysView� ItemsView� ValuesView�Sequence�MutableSequence� ByteStringzcollections.abc���������i�������c���������������c���s���d�V�S�)Nr ���r ���r ���r ����5/opt/alt/python37/lib64/python3.7/_collections_abc.py�<lambda>8���r���r"���c�������������������s���d�S�)Nr ���r ���r ���r ���r!����_coro:���r���r#���c���������������C��s ���d�V��d�S�)Nr ���r ���r ���r ���r!����_ag@���r���r$���c�������������G���sH���|�j�}x<|D�]4}x.|D�]"}||jkr|j|�d�kr6tS�P�qW�tS�qW�dS�)NT)�__mro__�__dict__�NotImplemented)�C�methods�mro�method�Br ���r ���r!����_check_methodsH���s���� r-���c���������������@���s(���e�Zd�ZdZedd���Zedd���ZdS�)r ���r ���c�������������C���s���dS�)Nr���r ���)�selfr ���r ���r!����__hash__X���s����zHashable.__hash__c�������������C���s���|�t�krt|d�S�tS�)Nr/���)r ���r-���r'���)�clsr(���r ���r ���r!����__subclasshook__\���s���� zHashable.__subclasshook__N)�__name__� __module__�__qualname__� __slots__r���r/����classmethodr1���r ���r ���r ���r!���r ���T���s���)� metaclassc���������������@���s(���e�Zd�ZdZedd���Zedd���ZdS�)r���r ���c�������������c���s ���d�V��d�S�)Nr ���)r.���r ���r ���r!���� __await__g���s����zAwaitable.__await__c�������������C���s���|�t�krt|d�S�tS�)Nr8���)r���r-���r'���)r0���r(���r ���r ���r!���r1���k���s���� zAwaitable.__subclasshook__N)r2���r3���r4���r5���r���r8���r6���r1���r ���r ���r ���r!���r���c���s���c���������������@���s>���e�Zd�ZdZedd���Zeddd��Zdd��Zed d ���Z dS�)r���r ���c�������������C���s���t��dS�)zcSend a value into the coroutine. Return next yielded value or raise StopIteration. N)� StopIteration)r.����valuer ���r ���r!����sendv���s����zCoroutine.sendNc�������������C���s4���|dkr|dkr|�|��}|dk r,|��|�}|�dS�)zgRaise an exception in the coroutine. Return next yielded value or raise StopIteration. N)�with_traceback)r.����typ�val�tbr ���r ���r!����throw}���s���� zCoroutine.throwc���������� ���C���s4���y|���t��W�n�ttfk r&���Y�n X�td��dS�)z.Raise GeneratorExit inside coroutine. zcoroutine ignored GeneratorExitN)r@���� GeneratorExitr9����RuntimeError)r.���r ���r ���r!����close����s ����zCoroutine.closec�������������C���s���|�t�krt|dddd�S�tS�)Nr8���r;���r@���rC���)r���r-���r'���)r0���r(���r ���r ���r!���r1�������s����zCoroutine.__subclasshook__)NN) r2���r3���r4���r5���r���r;���r@���rC���r6���r1���r ���r ���r ���r!���r���r���s��� c���������������@���s(���e�Zd�ZdZedd���Zedd���ZdS�)r���r ���c�������������C���s���t���S�)N)r���)r.���r ���r ���r!���� __aiter__����s����zAsyncIterable.__aiter__c�������������C���s���|�t�krt|d�S�tS�)NrD���)r���r-���r'���)r0���r(���r ���r ���r!���r1�������s���� zAsyncIterable.__subclasshook__N)r2���r3���r4���r5���r���rD���r6���r1���r ���r ���r ���r!���r�������s���c���������������@���s0���e�Zd�ZdZedd���Zdd��Zedd���ZdS�) r���r ���c�����������������s���t��dS�)z@Return the next item or raise StopAsyncIteration when exhausted.N)�StopAsyncIteration)r.���r ���r ���r!���� __anext__����s����zAsyncIterator.__anext__c�������������C���s���|�S�)Nr ���)r.���r ���r ���r!���rD�������s����zAsyncIterator.__aiter__c�������������C���s���|�t�krt|dd�S�tS�)NrF���rD���)r���r-���r'���)r0���r(���r ���r ���r!���r1�������s����zAsyncIterator.__subclasshook__N) r2���r3���r4���r5���r���rF���rD���r6���r1���r ���r ���r ���r!���r�������s���c���������������@���sF���e�Zd�ZdZdd��Zedd���Zed dd��Zd d ��Ze dd���Z dS�)r���r ���c�����������������s���|���d�I�dH�S�)zpReturn the next item from the asynchronous generator. When exhausted, raise StopAsyncIteration. N)�asend)r.���r ���r ���r!���rF�������s����zAsyncGenerator.__anext__c�����������������s���t��dS�)zuSend a value into the asynchronous generator. Return next yielded value or raise StopAsyncIteration. N)rE���)r.���r:���r ���r ���r!���rG�������s����zAsyncGenerator.asendNc�����������������s4���|dkr|dkr|�|��}|dk r,|��|�}|�dS�)zyRaise an exception in the asynchronous generator. Return next yielded value or raise StopAsyncIteration. N)r<���)r.���r=���r>���r?���r ���r ���r!����athrow����s���� zAsyncGenerator.athrowc���������� �������s:���y|���t�I�dH��W�n�ttfk r,���Y�n X�td��dS�)z.Raise GeneratorExit inside coroutine. Nz,asynchronous generator ignored GeneratorExit)rH���rA���rE���rB���)r.���r ���r ���r!����aclose����s ����zAsyncGenerator.aclosec�������������C���s���|�t�krt|ddddd�S�tS�)NrD���rF���rG���rH���rI���)r���r-���r'���)r0���r(���r ���r ���r!���r1�������s���� zAsyncGenerator.__subclasshook__)NN)r2���r3���r4���r5���rF���r���rG���rH���rI���r6���r1���r ���r ���r ���r!���r�������s��� c���������������@���s(���e�Zd�ZdZedd���Zedd���ZdS�)r ���r ���c�������������c���s���d�S�)Nr ���)r.���r ���r ���r!����__iter__����s����zIterable.__iter__c�������������C���s���|�t�krt|d�S�tS�)NrJ���)r ���r-���r'���)r0���r(���r ���r ���r!���r1�������s���� zIterable.__subclasshook__N)r2���r3���r4���r5���r���rJ���r6���r1���r ���r ���r ���r!���r �������s���c���������������@���s0���e�Zd�ZdZedd���Zdd��Zedd���ZdS�) r���r ���c�������������C���s���t��dS�)zKReturn the next item from the iterator. When exhausted, raise StopIterationN)r9���)r.���r ���r ���r!����__next__��s����zIterator.__next__c�������������C���s���|�S�)Nr ���)r.���r ���r ���r!���rJ�����s����zIterator.__iter__c�������������C���s���|�t�krt|dd�S�tS�)NrJ���rK���)r���r-���r'���)r0���r(���r ���r ���r!���r1�����s����zIterator.__subclasshook__N) r2���r3���r4���r5���r���rK���rJ���r6���r1���r ���r ���r ���r!���r�����s���c���������������@���s(���e�Zd�ZdZedd���Zedd���ZdS�)r ���r ���c�������������c���s���d�S�)Nr ���)r.���r ���r ���r!����__reversed__)��s����zReversible.__reversed__c�������������C���s���|�t�krt|dd�S�tS�)NrL���rJ���)r ���r-���r'���)r0���r(���r ���r ���r!���r1���.��s����zReversible.__subclasshook__N)r2���r3���r4���r5���r���rL���r6���r1���r ���r ���r ���r!���r ���%��s���c���������������@���sF���e�Zd�ZdZdd��Zedd���Zed dd��Zd d ��Ze dd���Z dS�)r���r ���c�������������C���s ���|���d�S�)z^Return the next item from the generator. When exhausted, raise StopIteration. N)r;���)r.���r ���r ���r!���rK���9��s����zGenerator.__next__c�������������C���s���t��dS�)zcSend a value into the generator. Return next yielded value or raise StopIteration. N)r9���)r.���r:���r ���r ���r!���r;���?��s����zGenerator.sendNc�������������C���s4���|dkr|dkr|�|��}|dk r,|��|�}|�dS�)zgRaise an exception in the generator. Return next yielded value or raise StopIteration. N)r<���)r.���r=���r>���r?���r ���r ���r!���r@���F��s���� zGenerator.throwc���������� ���C���s4���y|���t��W�n�ttfk r&���Y�n X�td��dS�)z.Raise GeneratorExit inside generator. zgenerator ignored GeneratorExitN)r@���rA���r9���rB���)r.���r ���r ���r!���rC���S��s ����zGenerator.closec�������������C���s���|�t�krt|ddddd�S�tS�)NrJ���rK���r;���r@���rC���)r���r-���r'���)r0���r(���r ���r ���r!���r1���]��s���� zGenerator.__subclasshook__)NN)r2���r3���r4���r5���rK���r���r;���r@���rC���r6���r1���r ���r ���r ���r!���r���5��s��� c���������������@���s(���e�Zd�ZdZedd���Zedd���ZdS�)r���r ���c�������������C���s���dS�)Nr���r ���)r.���r ���r ���r!����__len__k��s����z Sized.__len__c�������������C���s���|�t�krt|d�S�tS�)NrM���)r���r-���r'���)r0���r(���r ���r ���r!���r1���o��s���� zSized.__subclasshook__N)r2���r3���r4���r5���r���rM���r6���r1���r ���r ���r ���r!���r���g��s���c���������������@���s(���e�Zd�ZdZedd���Zedd���ZdS�)r���r ���c�������������C���s���dS�)NFr ���)r.����xr ���r ���r!����__contains__z��s����zContainer.__contains__c�������������C���s���|�t�krt|d�S�tS�)NrO���)r���r-���r'���)r0���r(���r ���r ���r!���r1���~��s���� zContainer.__subclasshook__N)r2���r3���r4���r5���r���rO���r6���r1���r ���r ���r ���r!���r���v��s���c���������������@���s���e�Zd�ZdZedd���ZdS�)r���r ���c�������������C���s���|�t�krt|ddd�S�tS�)NrM���rJ���rO���)r���r-���r'���)r0���r(���r ���r ���r!���r1������s����zCollection.__subclasshook__N)r2���r3���r4���r5���r6���r1���r ���r ���r ���r!���r������s���c���������������@���s(���e�Zd�ZdZedd���Zedd���ZdS�)r���r ���c�������������O���s���dS�)NFr ���)r.����args�kwdsr ���r ���r!����__call__���s����zCallable.__call__c�������������C���s���|�t�krt|d�S�tS�)NrR���)r���r-���r'���)r0���r(���r ���r ���r!���r1������s���� zCallable.__subclasshook__N)r2���r3���r4���r5���r���rR���r6���r1���r ���r ���r ���r!���r������s���c���������������@���s����e�Zd�ZdZdZdd��Zdd��Zdd��Zd d ��Zdd��Z e d d���Zdd��ZeZ dd��Zdd��ZeZdd��Zdd��Zdd��ZeZdd��ZdS�)r���aZ��A set is a finite, iterable container. This class provides concrete generic implementations of all methods except for __contains__, __iter__ and __len__. To override the comparisons (presumably for speed, as the semantics are fixed), redefine __le__ and __ge__, then the other operations will automatically follow suit. r ���c�������������C���s@���t�|t�stS�t|��t|�kr"dS�x|�D�]}||kr(dS�q(W�dS�)NFT)� isinstancer���r'����len)r.����other�elemr ���r ���r!����__le__���s���� z Set.__le__c�������������C���s(���t�|t�stS�t|��t|�k�o&|��|�S�)N)rS���r���r'���rT���rW���)r.���rU���r ���r ���r!����__lt__���s���� z Set.__lt__c�������������C���s(���t�|t�stS�t|��t|�ko&|��|�S�)N)rS���r���r'���rT����__ge__)r.���rU���r ���r ���r!����__gt__���s���� z Set.__gt__c�������������C���s@���t�|t�stS�t|��t|�k�r"dS�x|D�]}||�kr(dS�q(W�dS�)NFT)rS���r���r'���rT���)r.���rU���rV���r ���r ���r!���rY������s���� z Set.__ge__c�������������C���s(���t�|t�stS�t|��t|�ko&|��|�S�)N)rS���r���r'���rT���rW���)r.���rU���r ���r ���r!����__eq__���s���� z Set.__eq__c�������������C���s���|�|�S�)z�Construct an instance of the class from any iterable input. Must override this method if the class constructor signature does not accept an iterable for an input. r ���)r0����itr ���r ���r!����_from_iterable���s����zSet._from_iterablec����������������s&���t�|t�stS������fdd�|D���S�)Nc�������������3���s���|�]}|��kr|V��qd�S�)Nr ���)�.0r:���)r.���r ���r!���� <genexpr>���s����zSet.__and__.<locals>.<genexpr>)rS���r ���r'���r]���)r.���rU���r ���)r.���r!����__and__���s���� zSet.__and__c�������������C���s���x|D�]}||�krdS�qW�dS�)z1Return True if two sets have a null intersection.FTr ���)r.���rU���r:���r ���r ���r!���� isdisjoint���s���� zSet.isdisjointc�������������C���s*���t�|t�stS�dd��|�|fD��}|��|�S�)Nc�������������s���s���|�]}|D�] }|V��q qd�S�)Nr ���)r^����s�er ���r ���r!���r_������s����zSet.__or__.<locals>.<genexpr>)rS���r ���r'���r]���)r.���rU����chainr ���r ���r!����__or__���s���� z Set.__or__c����������������s:���t���t�s"t���t�stS�|�������|����fdd�|�D���S�)Nc�������������3���s���|�]}|��kr|V��qd�S�)Nr ���)r^���r:���)rU���r ���r!���r_������s����zSet.__sub__.<locals>.<genexpr>)rS���r���r ���r'���r]���)r.���rU���r ���)rU���r!����__sub__���s ���� zSet.__sub__c����������������s:���t�|t�s"t�|t�stS����|�}�����fdd�|D���S�)Nc�������������3���s���|�]}|��kr|V��qd�S�)Nr ���)r^���r:���)r.���r ���r!���r_������s����zSet.__rsub__.<locals>.<genexpr>)rS���r���r ���r'���r]���)r.���rU���r ���)r.���r!����__rsub__���s ���� zSet.__rsub__c�������������C���s2���t�|t�s"t�|t�stS�|��|�}|�|�||��B�S�)N)rS���r���r ���r'���r]���)r.���rU���r ���r ���r!����__xor__���s ���� zSet.__xor__c�������������C���s����t�j}d|�d�}t|��}d|d��}||M�}x4|�D�],}t|�}|||d>�A�dA�d�N�}||M�}q4W�|d�d�}||M�}||kr�||d�8�}|d kr�d }|S�)a+��Compute the hash value of a set. Note that we don't define __hash__: not all sets are hashable. But if you define a hashable set type, its __hash__ should call this function. This must be compatible __eq__. All sets ought to compare equal if they contain the same elements, regardless of how they are implemented, and regardless of the order of the elements; so there's not much freedom for __eq__ or __hash__. We match the algorithm used by the built-in frozenset type. ����r���iM��r����i�M[l����4~2�i� �i��6���i��8#)�sys�maxsizerT����hash)r.����MAX�MASK�n�hrN����hxr ���r ���r!����_hash ��s ���� z Set._hashN)r2���r3���r4����__doc__r5���rW���rX���rZ���rY���r[���r6���r]���r`����__rand__ra���re����__ror__rf���rg���rh����__rxor__rt���r ���r ���r ���r!���r������s$��� c���������������@���sd���e�Zd�ZdZdZedd���Zedd���Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z dd��ZdS�)r���a���A mutable set is a finite, iterable container. This class provides concrete generic implementations of all methods except for __contains__, __iter__, __len__, add(), and discard(). To override the comparisons (presumably for speed, as the semantics are fixed), all you have to do is redefine __le__ and then the other operations will automatically follow suit. r ���c�������������C���s���t��dS�)zAdd an element.N)�NotImplementedError)r.���r:���r ���r ���r!����add:��s����zMutableSet.addc�������������C���s���t��dS�)z8Remove an element. Do not raise an exception if absent.N)ry���)r.���r:���r ���r ���r!����discard?��s����zMutableSet.discardc�������������C���s���||�krt�|��|��|��dS�)z5Remove an element. If not a member, raise a KeyError.N)�KeyErrorr{���)r.���r:���r ���r ���r!����removeD��s����zMutableSet.removec�������������C���s>���t�|��}yt|�}W�n�tk r.���td�Y�nX�|��|��|S�)z2Return the popped value. Raise KeyError if empty.N)�iter�nextr9���r|���r{���)r.���r\���r:���r ���r ���r!����popJ��s���� zMutableSet.popc�������������C���s,���yx|������qW�W�n�tk r&���Y�nX�dS�)z6This is slow (creates N new iterators!) but effective.N)r����r|���)r.���r ���r ���r!����clearT��s ����zMutableSet.clearc�������������C���s���x|D�]}|���|��qW�|�S�)N)rz���)r.���r\���r:���r ���r ���r!����__ior__\��s���� zMutableSet.__ior__c�������������C���s ���x|�|�D�]}|���|��q W�|�S�)N)r{���)r.���r\���r:���r ���r ���r!����__iand__a��s����zMutableSet.__iand__c�������������C���sV���||�kr|������n@t|t�s&|��|�}x*|D�]"}||�krD|��|��q,|��|��q,W�|�S�)N)r����rS���r���r]���r{���rz���)r.���r\���r:���r ���r ���r!����__ixor__f��s���� zMutableSet.__ixor__c�������������C���s.���||�kr|������nx|D�]}|��|��qW�|�S�)N)r����r{���)r.���r\���r:���r ���r ���r!����__isub__s��s ���� zMutableSet.__isub__N)r2���r3���r4���ru���r5���r���rz���r{���r}���r����r����r����r����r����r����r ���r ���r ���r!���r���,��s��� c���������������@���sR���e�Zd�ZdZedd���Zddd�Zdd��Zd d ��Zdd��Z d d��Z dd��ZdZdS�)r���r ���c�������������C���s���t��d�S�)N)r|���)r.����keyr ���r ���r!����__getitem__���s����zMapping.__getitem__Nc�������������C���s"���y|�|�S��t�k r���|S�X�dS�)z<D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.N)r|���)r.���r�����defaultr ���r ���r!����get���s����zMapping.getc�������������C���s*���y|�|��W�n�t�k r ���dS�X�dS�d�S�)NFT)r|���)r.���r����r ���r ���r!���rO������s ����zMapping.__contains__c�������������C���s���t�|��S�)z:D.keys() -> a set-like object providing a view on D's keys)r���)r.���r ���r ���r!����keys���s����zMapping.keysc�������������C���s���t�|��S�)z<D.items() -> a set-like object providing a view on D's items)r���)r.���r ���r ���r!����items���s����z Mapping.itemsc�������������C���s���t�|��S�)z6D.values() -> an object providing a view on D's values)r���)r.���r ���r ���r!����values���s����zMapping.valuesc�������������C���s&���t�|t�stS�t|�����t|����kS�)N)rS���r���r'����dictr����)r.���rU���r ���r ���r!���r[������s���� zMapping.__eq__)N) r2���r3���r4���r5���r���r����r����rO���r����r����r����r[���rL���r ���r ���r ���r!���r������s��� c���������������@���s(���e�Zd�ZdZdd��Zdd��Zdd��ZdS�) r���)�_mappingc�������������C���s ���||�_�d�S�)N)r����)r.����mappingr ���r ���r!����__init__���s����zMappingView.__init__c�������������C���s ���t�|�j�S�)N)rT���r����)r.���r ���r ���r!���rM������s����zMappingView.__len__c�������������C���s ���d��|��S�)Nz&{0.__class__.__name__}({0._mapping!r}))�format)r.���r ���r ���r!����__repr__���s����zMappingView.__repr__N)r2���r3���r4���r5���r����rM���r����r ���r ���r ���r!���r������s���c���������������@���s,���e�Zd�ZdZedd���Zdd��Zdd��ZdS�) r���r ���c�������������C���s���t�|�S�)N)�set)r.���r\���r ���r ���r!���r]������s����zKeysView._from_iterablec�������������C���s ���||�j�kS�)N)r����)r.���r����r ���r ���r!���rO������s����zKeysView.__contains__c�������������c���s���|�j�E�d�H��d�S�)N)r����)r.���r ���r ���r!���rJ������s����zKeysView.__iter__N)r2���r3���r4���r5���r6���r]���rO���rJ���r ���r ���r ���r!���r������s���c���������������@���s,���e�Zd�ZdZedd���Zdd��Zdd��ZdS�) r���r ���c�������������C���s���t�|�S�)N)r����)r.���r\���r ���r ���r!���r]������s����zItemsView._from_iterablec�������������C���s@���|\}}y|�j�|�}W�n�tk r*���dS�X�||kp:||kS�d�S�)NF)r����r|���)r.����itemr����r:����vr ���r ���r!���rO������s����zItemsView.__contains__c�������������c���s$���x|�j�D�]}||�j�|�fV��qW�d�S�)N)r����)r.���r����r ���r ���r!���rJ������s����zItemsView.__iter__N)r2���r3���r4���r5���r6���r]���rO���rJ���r ���r ���r ���r!���r������s��� c���������������@���s ���e�Zd�ZdZdd��Zdd��ZdS�)r���r ���c�������������C���s2���x,|�j�D�]"}|�j�|�}||ks&||krdS�qW�dS�)NTF)r����)r.���r:���r����r����r ���r ���r!���rO������s ���� zValuesView.__contains__c�������������c���s ���x|�j�D�]}|�j�|�V��qW�d�S�)N)r����)r.���r����r ���r ���r!���rJ������s����zValuesView.__iter__N)r2���r3���r4���r5���rO���rJ���r ���r ���r ���r!���r������s���c���������������@���s\���e�Zd�ZdZedd���Zedd���Ze��Zefdd�Z dd ��Z d d��Zdd ��Zddd�Z dS�)r���r ���c�������������C���s���t��d�S�)N)r|���)r.���r����r:���r ���r ���r!����__setitem__��s����zMutableMapping.__setitem__c�������������C���s���t��d�S�)N)r|���)r.���r����r ���r ���r!����__delitem__��s����zMutableMapping.__delitem__c�������������C���s<���y|�|�}W�n �t�k r,���||�jkr(��|S�X�|�|=�|S�dS�)z�D.pop(k[,d]) -> v, remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised. N)r|����_MutableMapping__marker)r.���r����r����r:���r ���r ���r!���r������s���� zMutableMapping.popc�������������C���sB���yt�t|���}W�n�tk r*���td�Y�nX�|�|�}|�|=�||fS�)z�D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty. N)r���r~���r9���r|���)r.���r����r:���r ���r ���r!����popitem$��s����zMutableMapping.popitemc�������������C���s,���yx|������qW�W�n�tk r&���Y�nX�dS�)z,D.clear() -> None. Remove all items from D.N)r����r|���)r.���r ���r ���r!���r����0��s ����zMutableMapping.clearc��������������O���s����|�st�d��|�^}}�t|��dkr0t�dt|�����|�r�|�d�}t|t�rbx^|D�]}||�||<�qLW�nDt|d�r�x8|���D�]}||�||<�qvW�nx|D�]\}}|||<�q�W�x|���D�]\}}|||<�q�W�dS�)aK�� D.update([E, ]**F) -> None. Update D from mapping/iterable E and F. If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v z@descriptor 'update' of 'MutableMapping' object needs an argumentr���z+update expected at most 1 arguments, got %dr���r����N)� TypeErrorrT���rS���r����hasattrr����r����)rP���rQ���r.���rU���r����r:���r ���r ���r!����update8��s$���� zMutableMapping.updateNc�������������C���s*���y|�|�S��t�k r$���||�|<�Y�nX�|S�)z@D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D)r|���)r.���r����r����r ���r ���r!���� setdefaultS��s ����zMutableMapping.setdefault)N)r2���r3���r4���r5���r���r����r�����objectr����r����r����r����r����r����r ���r ���r ���r!���r������s���c���������������@���sJ���e�Zd�ZdZdZedd���Zdd��Zdd��Zd d ��Z dd d�Z dd��ZdS�)r���z�All the operations on a read-only sequence. Concrete subclasses must override __new__ or __init__, __getitem__, and __len__. r ���c�������������C���s���t��d�S�)N)� IndexError)r.����indexr ���r ���r!���r����k��s����zSequence.__getitem__c�������������c���s>���d}y x|�|�}|V��|d7�}qW�W�n�t�k r8���d�S�X�d�S�)Nr���r���)r����)r.����ir����r ���r ���r!���rJ���o��s����zSequence.__iter__c�������������C���s&���x |�D�]}||ks||krdS�qW�dS�)NTFr ���)r.���r:���r����r ���r ���r!���rO���y��s���� zSequence.__contains__c�������������c���s(���x"t�tt|����D�]}|�|�V��qW�d�S�)N)�reversed�rangerT���)r.���r����r ���r ���r!���rL�����s����zSequence.__reversed__r���Nc�������������C���s����|dk r"|dk�r"t�t|��|�d�}|dk r>|dk�r>|t|��7�}|}xT|dksT||k�r�y |�|�}||ksn||krr|S�W�n�tk r����P�Y�nX�|d7�}qDW�t�dS�)z�S.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present. Supporting start and stop arguments is optional, but recommended. Nr���r���)�maxrT���r����� ValueError)r.���r:����start�stopr����r����r ���r ���r!���r�������s����zSequence.indexc����������������s���t���fdd�|�D���S�)zBS.count(value) -> integer -- return number of occurrences of valuec�������������3���s"���|�]}|��ks|��krd�V��qdS�)r���Nr ���)r^���r����)r:���r ���r!���r_������s����z!Sequence.count.<locals>.<genexpr>)�sum)r.���r:���r ���)r:���r!����count���s����zSequence.count)r���N)r2���r3���r4���ru���r5���r���r����rJ���rO���rL���r����r����r ���r ���r ���r!���r���a��s��� c���������������@���s���e�Zd�ZdZdZdS�)r���zMThis unifies bytes and bytearray. XXX Should add all their methods. r ���N)r2���r3���r4���ru���r5���r ���r ���r ���r!���r������s���c���������������@���sn���e�Zd�ZdZedd���Zedd���Zedd���Zdd ��Zd d��Z dd ��Z dd��Zddd�Zdd��Z dd��ZdS�)r���r ���c�������������C���s���t��d�S�)N)r����)r.���r����r:���r ���r ���r!���r�������s����zMutableSequence.__setitem__c�������������C���s���t��d�S�)N)r����)r.���r����r ���r ���r!���r�������s����zMutableSequence.__delitem__c�������������C���s���t��dS�)z3S.insert(index, value) -- insert value before indexN)r����)r.���r����r:���r ���r ���r!����insert���s����zMutableSequence.insertc�������������C���s���|���t|��|��dS�)z:S.append(value) -- append value to the end of the sequenceN)r����rT���)r.���r:���r ���r ���r!����append���s����zMutableSequence.appendc�������������C���s,���yx|������qW�W�n�tk r&���Y�nX�dS�)z,S.clear() -> None -- remove all items from SN)r����r����)r.���r ���r ���r!���r�������s ����zMutableSequence.clearc�������������C���sL���t�|��}x>t|d��D�].}|�||�d��|�|��|�|<�|�||�d�<�qW�dS�)z!S.reverse() -- reverse *IN PLACE*ri���r���N)rT���r����)r.���rq���r����r ���r ���r!����reverse���s����zMutableSequence.reversec�������������C���s���x|D�]}|���|��qW�dS�)zMS.extend(iterable) -- extend sequence by appending elements from the iterableN)r����)r.���r����r����r ���r ���r!����extend���s���� zMutableSequence.extendrk���c�������������C���s���|�|�}|�|=�|S�)z�S.pop([index]) -> item -- remove and return item at index (default last). Raise IndexError if list is empty or index is out of range. r ���)r.���r����r����r ���r ���r!���r�������s����zMutableSequence.popc�������������C���s���|�|���|�=�dS�)zvS.remove(value) -- remove first occurrence of value. Raise ValueError if the value is not present. N)r����)r.���r:���r ���r ���r!���r}������s����zMutableSequence.removec�������������C���s���|���|��|�S�)N)r����)r.���r����r ���r ���r!����__iadd__���s���� zMutableSequence.__iadd__N)rk���)r2���r3���r4���r5���r���r����r����r����r����r����r����r����r����r}���r����r ���r ���r ���r!���r������s��� )Kru����abcr���r���rl����__all__r2����typer~����bytes_iterator� bytearray�bytearray_iteratorr�����dict_keyiteratorr�����dict_valueiteratorr�����dict_itemiterator� list_iteratorr�����list_reverseiteratorr�����range_iterator�longrange_iteratorr�����set_iterator�str_iterator�tuple_iterator�zip�zip_iterator� dict_keys�dict_values� dict_itemsr&����mappingproxy� generatorr#���� coroutinerC���r$����async_generatorr-���r ���r���r����registerr���r���r���r ���r���r ���r���r���r���r���r���r���� frozensetr���r���r���r���r���r���r���r����r����tuple�str� memoryviewr����bytesr����listr ���r ���r ���r!����<module>���s���� ) 0 / � O 2 \ = A