a XC?h���@s"gd�ZddlZddlZddlZddlmZddlm Z ddlm Z ddl mZddlmZddlmZdd lmZdd lmZzdd lmZWney�Yn0ej�e�zdd lm Z Wney�Yn0d d�Z!Gdd�dej"�Z#Gdd�dej$�Z%Gdd�dej&�Z'Gdd�de(�Z)Gdd�de*�Z+zddlm+Z+Wne�yVYn0zddlm,Z,Wne�y�dd�Z,Yn0dddd�dd �Z-d!d"�Z.zdd#lm.Z.Wne�y�Yn0Gd$d%�d%e*�Z/Gd&d'�d'ej0�Z1Gd(d)�d)ej0�Z2Gd*d+�d+ej�Z3Gd,d-�d-ej4�Z5dS).) �ChainMap�Counter� OrderedDict�UserDict�UserList� UserString� defaultdict�deque� namedtuple�N)�chain)�repeat)�starmap)� iskeyword)�eq)� itemgetter)�recursive_repr)�proxy)r)rcCsR|tjvr:tt|�}ddl}|jdtdd�|t�|<|Stdt�d|����dS)Nr z�Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working�)� stacklevelzmodule z has no attribute ) �_collections_abc�__all__�getattr�warnings�warn�DeprecationWarning�globals�AttributeError�__name__)�name�objr�r �9/opt/alt/python39/lib64/python3.9/collections/__init__.py� __getattr__7s  � r"c@seZdZdd�ZdS)�_OrderedDictKeysViewccst|j�EdHdS�N��reversed�_mapping��selfr r r!� __reversed__Msz!_OrderedDictKeysView.__reversed__N�r� __module__� __qualname__r*r r r r!r#Ksr#c@seZdZdd�ZdS)�_OrderedDictItemsViewccs$t|j�D]}||j|fVq dSr$r%�r)�keyr r r!r*Rsz"_OrderedDictItemsView.__reversed__Nr+r r r r!r.Psr.c@seZdZdd�ZdS)�_OrderedDictValuesViewccs t|j�D]}|j|Vq dSr$r%r/r r r!r*Xsz#_OrderedDictValuesView.__reversed__Nr+r r r r!r1Vsr1c@seZdZdZdS)�_Link)�prev�nextr0� __weakref__N)rr,r-� __slots__r r r r!r2\sr2c@s�eZdZd0dd�Zejeefdd�Zejfdd�Zdd �Z d d �Z d d �Z d1dd�Z d2dd�Z dd�ZejjZZdd�Zdd�Zdd�ZejjZe�Zefdd�Zd3dd�Ze�d d!��Zd"d#�Zd$d%�Zed4d&d'��Z d(d)�Z!d*d+�Z"d,d-�Z#d.d/�Z$dS)5rr cKs^z |jWn<tyFt�|_t|j�|_}||_|_i|_Yn0|j|fi|��dSr$) �_OrderedDict__rootrr2�_OrderedDict__hardroot�_proxyr3r4�_OrderedDict__map�_OrderedDict__update)r)�other�kwds�rootr r r!�__init__ns    zOrderedDict.__init__c CsZ||vrJ|�|j|<}|j}|j}||||_|_|_||_||�|_||||�dSr$)r:r7r3r4r0) r)r0�valueZ dict_setitemrZLink�linkr>�lastr r r!� __setitem__{s zOrderedDict.__setitem__cCs>|||�|j�|�}|j}|j}||_||_d|_d|_dSr$)r:�popr3r4)r)r0Z dict_delitemrA� link_prev� link_nextr r r!� __delitem__�s  zOrderedDict.__delitem__ccs(|j}|j}||ur$|jV|j}q dSr$)r7r4r0�r)r>Zcurrr r r!�__iter__�s zOrderedDict.__iter__ccs(|j}|j}||ur$|jV|j}q dSr$)r7r3r0rHr r r!r*�s zOrderedDict.__reversed__cCs*|j}||_|_|j��t�|�dSr$)r7r3r4r:�clear�dict)r)r>r r r!rJ�s  zOrderedDict.clearTcCsj|s td��|j}|r0|j}|j}||_||_n|j}|j}||_||_|j}|j|=t�||�}||fS)Nzdictionary is empty)�KeyErrorr7r3r4r0r:rKrD)r)rBr>rArErFr0r@r r r!�popitem�s  zOrderedDict.popitemc Cst|j|}|j}|j}|j}||_||_|j}|rR|j}||_||_||_||_n|j}||_||_||_||_dSr$)r:r3r4r7) r)r0rBrArErFZ soft_linkr>�firstr r r!� move_to_end�s$ zOrderedDict.move_to_endcCsVtj}t|�d}||j�}|||j�d7}|||j�|7}|||j�|7}|S)N�r)�_sys� getsizeof�len�__dict__r:r8r7)r)Zsizeof�n�sizer r r!� __sizeof__�s  zOrderedDict.__sizeof__cCst|�Sr$)r#r(r r r!�keys�szOrderedDict.keyscCst|�Sr$)r.r(r r r!�items�szOrderedDict.itemscCst|�Sr$)r1r(r r r!�values�szOrderedDict.valuescCs0||vr||}||=|S||jur,t|��|Sr$)�_OrderedDict__markerrL)r)r0�default�resultr r r!rD�s zOrderedDict.popNcCs||vr||S|||<|Sr$r �r)r0r\r r r!� setdefaultszOrderedDict.setdefaultcCs*|sd|jjfSd|jjt|���fS)Nz%s()z%s(%r))� __class__r�listrYr(r r r!�__repr__szOrderedDict.__repr__cCsDt|���}tt��D]}|�|d�q|jd|p4ddt|���fS)Nr )�vars�copyrrDr`�iterrY)r)Z inst_dict�kr r r!� __reduce__s zOrderedDict.__reduce__cCs |�|�Sr$�r`r(r r r!rd szOrderedDict.copycCs|�}|D] }|||<q |Sr$r )�cls�iterabler@r)r0r r r!�fromkeys$s zOrderedDict.fromkeyscCs2t|t�r&t�||�o$ttt||��St�||�Sr$)� isinstancerrK�__eq__�all�map�_eq�r)r<r r r!rm-s zOrderedDict.__eq__cCs|�|�|Sr$)�updaterqr r r!�__ior__6s zOrderedDict.__ior__cCs&t|t�stS|�|�}|�|�|Sr$�rlrK�NotImplementedr`rr�r)r<�newr r r!�__or__:s    zOrderedDict.__or__cCs&t|t�stS|�|�}|�|�|Sr$rtrvr r r!�__ror__As    zOrderedDict.__ror__)r )T)T)N)N)%rr,r-r?rKrCr9r2rGrIr*rJrMrOrWr�MutableMappingrrr;rXrYrZ�__ne__�objectr[rDr_�_recursive_reprrbrgrd� classmethodrkrmrsrxryr r r r!r_s8 �            r)r)� _tuplegettercCstt|�|d�S)N)�doc)�property� _itemgetter)�indexr�r r r!�W�r�F)�rename�defaults�modulec s�t�t�r��dd����ttt����t�t|��}|r�t�}t ��D]B\}}|� �rrt |�sr|� d�sr||vr�d|���|<|� |�qH|g�D]D}t|�tur�td��|� �s�td|����t |�r�td|����q�t�}�D]F}|� d��r |�s td|����||v�r"td|����|� |�q�i}|du�r|t|�}t|�t��k�r^td ��ttttt��t|�����}tttj����t���d ���} �d k�r�| d7} d d �d d��D��d�tj�tttttf\������id|��d�} d| �d| �d�} t| | �} d| _d|�d | �d�| _|du�rB|| _t���fdd��} d|�d�| j_��fdd�}d|�d�|_�fdd �}��fd!d"�}�fd#d$�}| | j||||fD]}|�d%|j��|_�q�|�d | �d�d&�|| | ||||d'� }t ��D](\}}t�d(|���}t||�||<�qt|tf|�}|du�rvzt� d �j!�"d)d*�}Wnt#tf�ytYn0|du�r�||_$|S)+N�,� �_z*Type names and field names must be stringsz6Type names and field names must be valid identifiers: z0Type names and field names cannot be a keyword: z-Field names cannot start with an underscore: z"Encountered duplicate field name: z(Got more default values than field names�, rP�(css|]}|�d�VqdS)z=%rNr )�.0rr r r!� �r�znamedtuple..�)� namedtuple_)� _tuple_new� __builtins__rz lambda _cls, z: _tuple_new(_cls, (z))�__new__zCreate new instance of cs2�||�}�|��kr.td��dt|�����|S)Nz Expected z arguments, got )� TypeErrorrS)rirjr])�_len� num_fields� tuple_newr r!�_make�s  znamedtuple.._makez Make a new z# object from a sequence or iterablecs.|��|j�|��}|r*tdt|�����|S)NzGot unexpected field names: )r�rD� ValueErrorra)r)r=r])�_map� field_namesr r!�_replace�sznamedtuple.._replacez Return a new z2 object replacing specified fields with new valuescs|jj�|Sr$)r`rr()�repr_fmtr r!rb�sznamedtuple..__repr__cs��|j|��Sr$)�_fieldsr()�_dict�_zipr r!�_asdict�sznamedtuple.._asdictcs�|�Sr$r r()�_tupler r!�__getnewargs__�sz"namedtuple..__getnewargs__�.r ) �__doc__r6r��_field_defaultsr�r�r�rbr�r�zAlias for field number r�__main__)%rl�str�replace�splitrarorQ�intern�set� enumerate� isidentifier� _iskeyword� startswith�add�typer�r��tuplerSrKr&�zip�joinr��evalrr�� __defaults__r~�__func__r-r� _getframe� f_globals�getrr,)�typenamer�r�r�r��seenr�r�field_defaults�arg_list� namespace�coder�r�r�rbr�r��method�class_namespacer�r]r ) r�r�r�r�r�r�r�r�r�r!r Ys� ���  �� �   �   �    ��   r cCs&|j}|D]}||d�d||<q dS�Nr rP)r�)�mappingrjZ mapping_get�elemr r r!�_count_elementssr�)r�cs�eZdZd.�fdd� Zdd�Zd/dd�Zdd �Zed0d d ��Zd1�fd d � Z d2dd�Z dd�Z dd�Z �fdd�Z dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Z�ZS)3rNc s t���|j|fi|��dSr$)�superr?rr)r)rjr=rhr r!r?Es zCounter.__init__cCsdS�Nr r r/r r r!� __missing__SszCounter.__missing__cCs6|durt|��td�dd�Stj||��td�d�S)NrPT)r0�reverse�r0)�sortedrYr��_heapq�nlargest�r)rUr r r!� most_commonXs zCounter.most_commoncCst�tt|����Sr$)�_chain� from_iterable�_starmap�_repeatrYr(r r r!�elementseszCounter.elementscCs td��dS)[email protected]() is undefined. Use Counter(iterable) instead.)�NotImplementedError)rirj�vr r r!rk}s �zCounter.fromkeysc sn|dur\t|tj�rR|rD|j}|��D]\}}|||d�||<q&q\t��|�n t||�|rj|�|�dSr�)rlr�Mappingr�rYr�rrr��r)rjr=�self_getr��countrhr r!rr�s  zCounter.updatecKsn|dur\|j}t|tj�r@|��D]\}}||d�|||<q"n|D]}||d�d||<qD|rj|�|�dSr�)r�rlrr�rY�subtractr�r r r!r��s zCounter.subtractcCs |�|�Sr$rhr(r r r!rd�sz Counter.copycCs|jt|�ffSr$)r`rKr(r r r!rg�szCounter.__reduce__cs||vrt��|�dSr$)r�rG)r)r�rhr r!rG�szCounter.__delitem__cCsR|s|jj�d�Szt|���}Wnty<t|�}Yn0|jj�d|�d�S)Nz()r�r�)r`rrKr�r�)r)�dr r r!rb�s zCounter.__repr__cCspt|t�stSt�}|��D]$\}}|||}|dkr|||<q|��D] \}}||vrJ|dkrJ|||<qJ|Sr��rlrrurY�r)r<r]r�r��newcountr r r!�__add__�s    zCounter.__add__cCstt|t�stSt�}|��D]$\}}|||}|dkr|||<q|��D]$\}}||vrJ|dkrJd|||<qJ|Sr�r�r�r r r!�__sub__s   zCounter.__sub__cCs|t|t�stSt�}|��D]0\}}||}||kr8|n|}|dkr|||<q|��D] \}}||vrV|dkrV|||<qV|Sr�r��r)r<r]r�r�� other_countr�r r r!rxs   zCounter.__or__cCsRt|t�stSt�}|��D]0\}}||}||kr8|n|}|dkr|||<q|Sr�r�r�r r r!�__and__'s  zCounter.__and__cCs,t�}|��D]\}}|dkr|||<q|Sr��rrY�r)r]r�r�r r r!�__pos__8s  zCounter.__pos__cCs0t�}|��D]\}}|dkrd|||<q|Sr�r�r�r r r!�__neg__@s zCounter.__neg__cCs&dd�|��D�}|D] }||=q|S)NcSsg|]\}}|dks|�qS)r r )r�r�r�r r r!� Mr�z*Counter._keep_positive..)rY)r)� nonpositiver�r r r!�_keep_positiveKszCounter._keep_positivecCs*|��D]\}}|||7<q|��Sr$�rYr��r)r<r�r�r r r!�__iadd__Rs zCounter.__iadd__cCs*|��D]\}}|||8<q|��Sr$r�r�r r r!�__isub___s zCounter.__isub__cCs2|��D] \}}||}||kr|||<q|��Sr$r�)r)r<r�r�r�r r r!rsls  zCounter.__ior__cCs2|��D] \}}||}||kr|||<q|��Sr$r�)r)r<r�r�r�r r r!�__iand__{s  zCounter.__iand__)N)N)N)N)N)rr,r-r?r�r�r�r~rkrrr�rdrgrGrbr�r�rxr�r�r�r�r�r�rsr�� __classcell__r r rhr!rs.3  "     rc@s�eZdZdd�Zdd�Zdd�Zd,dd �Zd d �Zd d �Zdd�Z dd�Z e �dd��Z e dd��Zdd�ZeZd-dd�Zedd��Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�ZdS).rcGst|�p ig|_dSr$)ra�maps)r)r�r r r!r?�szChainMap.__init__cCs t|��dSr$)rLr/r r r!r��szChainMap.__missing__c Cs8|jD]&}z||WSty*Yq0q|�|�Sr$)r�rLr�)r)r0r�r r r!� __getitem__�s   zChainMap.__getitem__NcCs||vr||S|Sr$r r^r r r!r��sz ChainMap.getcCstt�j|j��Sr$)rSr��unionr�r(r r r!�__len__�szChainMap.__len__cCs,i}t|j�D]}|�t�|��qt|�Sr$)r&r�rrrKrkre)r)r�r�r r r!rI�szChainMap.__iter__cst�fdd�|jD��S)Nc3s|]}�|vVqdSr$r )r��mr�r r!r��r�z(ChainMap.__contains__..��anyr�r/r r�r!� __contains__�szChainMap.__contains__cCs t|j�Sr$r�r(r r r!�__bool__�szChainMap.__bool__cCs"|jj�dd�tt|j���d�S)Nr�r�r�)r`rr�ro�reprr�r(r r r!rb�szChainMap.__repr__cGs|tj|g|�R��Sr$)rKrk)rirj�argsr r r!rk�szChainMap.fromkeyscCs&|j|jd��g|jdd��R�Sr�)r`r�rdr(r r r!rd�sz ChainMap.copycCs |dur i}|j|g|j�R�Sr$�r`r�)r)r�r r r!� new_child�szChainMap.new_childcCs|j|jdd��S)NrPrr(r r r!�parents�szChainMap.parentscCs||jd|<dSr�)r�)r)r0r@r r r!rC�szChainMap.__setitem__cCs6z|jd|=Wn ty0td|����Yn0dS�Nr z$Key not found in the first mapping: )r�rLr/r r r!rG�s zChainMap.__delitem__cCs0z|jd��WSty*td��Yn0dS)Nr z#No keys found in the first mapping.)r�rMrLr(r r r!rM�s zChainMap.popitemcGs@z|jdj|g|�R�WSty:td|����Yn0dSr)r�rDrL)r)r0r�r r r!rD�s z ChainMap.popcCs|jd��dSr�)r�rJr(r r r!rJ�szChainMap.clearcCs|jd�|�|Sr�)r�rrrqr r r!rs�szChainMap.__ior__cCs,t|tj�stS|��}|jd�|�|Sr�)rlrr�rurdr�rr)r)r<r�r r r!rx�s  zChainMap.__or__cCs<t|tj�stSt|�}t|j�D]}|�|�q"|�|�Sr$) rlrr�rurKr&r�rrr`)r)r<r��childr r r!rys   zChainMap.__ror__)N)N)rr,r-r?r�r�r�r�rIr�r�r}rbr~rkrd�__copy__rr�rrCrGrMrDrJrsrxryr r r r!r�s2     rc@s�eZdZddd�Zdd�Zdd�Zdd �Zd d �Zd d �Zdd�Z dd�Z dd�Z dd�Z dd�Z dd�Zdd�Zeddd��ZdS) rNcKs*i|_|dur|�|�|r&|�|�dSr$)�datarr)r)rK�kwargsr r r!r?s  zUserDict.__init__cCs t|j�Sr$�rSrr(r r r!r�szUserDict.__len__cCs:||jvr|j|St|jd�r.|j�||�St|��dS)Nr�)r�hasattrr`r�rLr/r r r!r�s    zUserDict.__getitem__cCs||j|<dSr$�r)r)r0�itemr r r!rC$szUserDict.__setitem__cCs |j|=dSr$r r/r r r!rG'szUserDict.__delitem__cCs t|j�Sr$)rerr(r r r!rI*szUserDict.__iter__cCs ||jvSr$r r/r r r!r�.szUserDict.__contains__cCs t|j�Sr$�r�rr(r r r!rb2szUserDict.__repr__cCs:t|t�r|�|j|jB�St|t�r6|�|j|B�StSr$�rlrr`rrKrurqr r r!rx5s   zUserDict.__or__cCs:t|t�r|�|j|jB�St|t�r6|�||jB�StSr$r rqr r r!ry<s   zUserDict.__ror__cCs.t|t�r|j|jO_n|j|O_|Sr$)rlrrrqr r r!rsCs zUserDict.__ior__cCs4|j�|j�}|j�|j�|jd��|jd<|S�Nr)r`r�rTrrrd�r)�instr r r!rJszUserDict.__copy__cCsX|jturt|j���Sddl}|j}zi|_|�|�}W||_n||_0|�|�|Sr�)r`rrrdrr)r)rdr�cr r r!rdQs   z UserDict.copycCs|�}|D] }|||<q |Sr$r )rirjr@r�r0r r r!rk^s zUserDict.fromkeys)N)N)rr,r-r?r�r�rCrGrIr�rbrxryrsrrdr~rkr r r r!rs  rc@seZdZd?dd�Zdd�Zdd�Zdd �Zd d �Zd d �Zdd�Z dd�Z dd�Z dd�Z dd�Z dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�ZeZd$d%�Zd&d'�Zd(d)�Zd*d+�Zd@d-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!dS)ArNcCsbg|_|dur^t|�t|j�kr0||jdd�<n.t|t�rT|jdd�|jdd�<n t|�|_dSr$)rr�rlrra)r)�initlistr r r!r?ms zUserList.__init__cCs t|j�Sr$r r(r r r!rbxszUserList.__repr__cCs|j|�|�kSr$�r�_UserList__castrqr r r!�__lt__{szUserList.__lt__cCs|j|�|�kSr$rrqr r r!�__le__~szUserList.__le__cCs|j|�|�kSr$rrqr r r!rm�szUserList.__eq__cCs|j|�|�kSr$rrqr r r!�__gt__�szUserList.__gt__cCs|j|�|�kSr$rrqr r r!�__ge__�szUserList.__ge__cCst|t�r|jS|Sr$)rlrrrqr r r!�__cast�szUserList.__castcCs ||jvSr$r �r)r r r r!r��szUserList.__contains__cCs t|j�Sr$rr(r r r!r��szUserList.__len__cCs(t|t�r|�|j|�S|j|SdSr$)rl�slicer`r�r)�ir r r!r��s zUserList.__getitem__cCs||j|<dSr$r �r)rr r r r!rC�szUserList.__setitem__cCs |j|=dSr$r rr r r!rG�szUserList.__delitem__cCsPt|t�r|�|j|j�St|t|j��r<|�|j|�S|�|jt|��Sr$�rlrr`rr�rarqr r r!r��s  zUserList.__add__cCsPt|t�r|�|j|j�St|t|j��r<|�||j�S|�t|�|j�Sr$rrqr r r!�__radd__�s  zUserList.__radd__cCsRt|t�r|j|j7_n2t|t|j��r<|j|7_n|jt|�7_|Sr$)rlrrr�rarqr r r!r��s  zUserList.__iadd__cCs|�|j|�Sr$�r`rr�r r r!�__mul__�szUserList.__mul__cCs|j|9_|Sr$r r�r r r!�__imul__�szUserList.__imul__cCs8|j�|j�}|j�|j�|jddd�|jd<|Sr)r`r�rTrrrr r r!r�szUserList.__copy__cCs|j�|�dSr$)r�appendrr r r!r$�szUserList.appendcCs|j�||�dSr$)r�insertrr r r!r%�szUserList.insert�����cCs |j�|�Sr$)rrDrr r r!rD�sz UserList.popcCs|j�|�dSr$)r�removerr r r!r'�szUserList.removecCs|j��dSr$)rrJr(r r r!rJ�szUserList.clearcCs |�|�Sr$rhr(r r r!rd�sz UserList.copycCs |j�|�Sr$)rr�rr r r!r��szUserList.countcGs|jj|g|�R�Sr$�rr�)r)r r�r r r!r��szUserList.indexcCs|j��dSr$)rr�r(r r r!r��szUserList.reversecOs|jj|i|��dSr$)r�sort�r)r�r=r r r!r)�sz UserList.sortcCs*t|t�r|j�|j�n |j�|�dSr$)rlrr�extendrqr r r!r+�s zUserList.extend)N)r&)"rr,r-r?rbrrrmrrrr�r�r�rCrGr�r r�r"�__rmul__r#rr$r%rDr'rJrdr�r�r�r)r+r r r r!rjs>   rc@sxeZdZdd�Zdd�Zdd�Zdd�Zd d �Zd d �Zd d�Z dd�Z dd�Z dd�Z dd�Z dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�ZeZd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1ejfd2d3�Zd4d5�Zd6d7�Z d�d:d;�Z!d1ejfddudv�Z?d�dwdx�Z@d�dydz�ZAd�d{d|�ZBd�d~d�ZCd1ejfd�d��ZDd�d�d��ZEd�d��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJdgS)�rcCs<t|t�r||_n&t|t�r.|jdd�|_n t|�|_dSr$)rlr�rr�r)�seqr r r!r?�s   zUserString.__init__cCs t|j�Sr$)r�rr(r r r!�__str__�szUserString.__str__cCs t|j�Sr$r r(r r r!rb�szUserString.__repr__cCs t|j�Sr$)�intrr(r r r!�__int__�szUserString.__int__cCs t|j�Sr$)�floatrr(r r r!� __float__szUserString.__float__cCs t|j�Sr$)�complexrr(r r r!� __complex__szUserString.__complex__cCs t|j�Sr$)�hashrr(r r r!�__hash__szUserString.__hash__cCs|jdd�fSr$r r(r r r!r� szUserString.__getnewargs__cCs t|t�r|j|jkS|j|kSr$�rlrr�r)�stringr r r!rms  zUserString.__eq__cCs t|t�r|j|jkS|j|kSr$r8r9r r r!rs  zUserString.__lt__cCs t|t�r|j|jkS|j|kSr$r8r9r r r!rs  zUserString.__le__cCs t|t�r|j|jkS|j|kSr$r8r9r r r!rs  zUserString.__gt__cCs t|t�r|j|jkS|j|kSr$r8r9r r r!r"s  zUserString.__ge__cCst|t�r|j}||jvSr$r8)r)�charr r r!r�'s zUserString.__contains__cCs t|j�Sr$rr(r r r!r�,szUserString.__len__cCs|�|j|�Sr$r!)r)r�r r r!r�/szUserString.__getitem__cCsJt|t�r|�|j|j�St|t�r6|�|j|�S|�|jt|��Sr$)rlrr`rr�rqr r r!r�2s   zUserString.__add__cCs.t|t�r|�||j�S|�t|�|j�Sr$)rlr�r`rrqr r r!r 9s zUserString.__radd__cCs|�|j|�Sr$r!r�r r r!r">szUserString.__mul__cCs|�|j|�Sr$r!�r)r�r r r!�__mod__CszUserString.__mod__cCs|�t|�|�Sr$)r`r�)r)�templater r r!�__rmod__FszUserString.__rmod__cCs|�|j���Sr$)r`r� capitalizer(r r r!r@JszUserString.capitalizecCs|�|j���Sr$)r`r�casefoldr(r r r!rAMszUserString.casefoldcGs|�|jj|g|�R��Sr$)r`r�center�r)�widthr�r r r!rBPszUserString.centerr cCs t|t�r|j}|j�|||�Sr$)rlrrr��r)�sub�start�endr r r!r�Ss zUserString.countcCs"t|t�r|j}|�|j�|��Sr$)rlrrr`� removeprefix)r)�prefixr r r!rIXs zUserString.removeprefixcCs"t|t�r|j}|�|j�|��Sr$)rlrrr`� removesuffix)r)�suffixr r r!rK]s zUserString.removesuffix�utf-8�strictcCs.|dur dn|}|durdn|}|j�||�S)NrMrN)r�encode)r)�encoding�errorsr r r!rObszUserString.encodecCs|j�|||�Sr$)r�endswith)r)rLrGrHr r r!rRgszUserString.endswith�cCs|�|j�|��Sr$)r`r� expandtabs)r)�tabsizer r r!rTjszUserString.expandtabscCs t|t�r|j}|j�|||�Sr$)rlrr�findrEr r r!rVms zUserString.findcOs|jj|i|��Sr$)r�formatr*r r r!rWrszUserString.formatcCs |j�|�Sr$)r� format_map)r)r�r r r!rXuszUserString.format_mapcCs|j�|||�Sr$r(rEr r r!r�xszUserString.indexcCs |j��Sr$)r�isalphar(r r r!rY{szUserString.isalphacCs |j��Sr$)r�isalnumr(r r r!rZ~szUserString.isalnumcCs |j��Sr$)r�isasciir(r r r!r[�szUserString.isasciicCs |j��Sr$)r� isdecimalr(r r r!r\�szUserString.isdecimalcCs |j��Sr$)r�isdigitr(r r r!r]�szUserString.isdigitcCs |j��Sr$)rr�r(r r r!r��szUserString.isidentifiercCs |j��Sr$)r�islowerr(r r r!r^�szUserString.islowercCs |j��Sr$)r� isnumericr(r r r!r_�szUserString.isnumericcCs |j��Sr$)r� isprintabler(r r r!r`�szUserString.isprintablecCs |j��Sr$)r�isspacer(r r r!ra�szUserString.isspacecCs |j��Sr$)r�istitler(r r r!rb�szUserString.istitlecCs |j��Sr$)r�isupperr(r r r!rc�szUserString.isuppercCs |j�|�Sr$)rr�r-r r r!r��szUserString.joincGs|�|jj|g|�R��Sr$)r`r�ljustrCr r r!rd�szUserString.ljustcCs|�|j���Sr$)r`r�lowerr(r r r!re�szUserString.lowerNcCs|�|j�|��Sr$)r`r�lstrip�r)�charsr r r!rf�szUserString.lstripcCs |j�|�Sr$)r� partition�r)�sepr r r!ri�szUserString.partitionr&cCs6t|t�r|j}t|t�r |j}|�|j�|||��Sr$)rlrrr`r�)r)�oldrw�maxsplitr r r!r��s   zUserString.replacecCs t|t�r|j}|j�|||�Sr$)rlrr�rfindrEr r r!rn�s zUserString.rfindcCs|j�|||�Sr$)r�rindexrEr r r!ro�szUserString.rindexcGs|�|jj|g|�R��Sr$)r`r�rjustrCr r r!rp�szUserString.rjustcCs |j�|�Sr$)r� rpartitionrjr r r!rq�szUserString.rpartitioncCs|�|j�|��Sr$)r`r�rstriprgr r r!rr�szUserString.rstripcCs|j�||�Sr$)rr��r)rkrmr r r!r��szUserString.splitcCs|j�||�Sr$)r�rsplitrsr r r!rt�szUserString.rsplitFcCs |j�|�Sr$)r� splitlines)r)�keependsr r r!ru�szUserString.splitlinescCs|j�|||�Sr$)rr�)r)rJrGrHr r r!r��szUserString.startswithcCs|�|j�|��Sr$)r`r�striprgr r r!rw�szUserString.stripcCs|�|j���Sr$)r`r�swapcaser(r r r!rx�szUserString.swapcasecCs|�|j���Sr$)r`r�titler(r r r!ry�szUserString.titlecGs|�|jj|��Sr$)r`r� translater<r r r!rz�szUserString.translatecCs|�|j���Sr$)r`r�upperr(r r r!r{�szUserString.uppercCs|�|j�|��Sr$)r`r�zfill)r)rDr r r!r|�szUserString.zfill)rMrN)rS)N)r&)N)Nr&)Nr&)F)N)Krr,r-r?r/rbr1r3r5r7r�rmrrrrr�r�r�r�r r"r,r=r?r@rArBrQ�maxsizer�rIrKrOrRrTrVrWrXr�rYrZr[r\r]r�r^r_r`rarbrcr�rdrerfr�� maketransrir�rnrorprqrrr�rtrur�rwrxryrzr{r|r r r r!r�s�         r)6rr�heapqr��sysrQ� itertoolsr r�r r�r r��keywordrr��operatorrrprr��reprlibrr}�_weakrefrr9� _collectionsr� ImportError�MutableSequence�registerrr"�KeysViewr#� ItemsViewr.� ValuesViewr1r|r2rKrrr r�rrzrrr�Sequencerr r r r!�sh            k/Z