Ë
    *�£j  ã                  óv   — d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZ  ed«       G d„ d	e	e«      «       Zy
)zj
frozen (immutable) data structures to support MultiIndexing

These are used for:

- .names (FrozenList)

é    )Úannotations)ÚNoReturnÚSelf)Ú
set_module)ÚPandasObject©Úpprint_thingzpandas.api.typingc                  ó´   ‡ — e Zd ZdZdˆ fd„Zdd„ZexZZˆ fd„Zdd„Z	dˆ fd„Z
e
Zdˆ fd„ZeZd„ Zdd	„Zdd
„Zdd„Zdd„ZexZZexZZexZxZZexZxZZˆ xZS )Ú
FrozenListz’
    Container that doesn't allow setting item *but*
    because it's technically hashable, will be used
    for lookups, appropriately, etc.
    c                óv   •— t        |t        «      rt        |«      } t        | «      t        ‰| �  |«      «      S )aF  
        Returns a FrozenList with other concatenated to the end of self.

        Parameters
        ----------
        other : array-like
            The array-like whose elements we are concatenating.

        Returns
        -------
        FrozenList
            The collection difference between self and other.
        )Ú
isinstanceÚtupleÚlistÚtypeÚsuperÚ__add__©ÚselfÚotherÚ	__class__s     €ú<C:\FundamentalWorkbench\vendor\pandas\core\indexes\frozen.pyÚunionzFrozenList.union#   s2   ø€ ô �eœUÔ#Ü˜“KˆEØŒt�D‹zœ%™'™/¨%Ó0Ó1Ð1ó    c                ól   — t        |«      }| D �cg c]	  }||vsŒ|‘Œ }} t        | «      |«      S c c}w )aF  
        Returns a FrozenList with elements from other removed from self.

        Parameters
        ----------
        other : array-like
            The array-like whose elements we are removing self.

        Returns
        -------
        FrozenList
            The collection difference between self and other.
        )Úsetr   )r   r   ÚxÚtemps       r   Ú
differencezFrozenList.difference5   s=   € ô �E“
ˆÙÓ2™4�a 1¨E¢>’˜4ˆÐ2ØŒt�D‹z˜$ÓÐùò 3s   �	1š1c                ó~   •— t        |t        «      r t        | «      t        ‰| �  |«      «      S t        ‰| �  |«      S ©N)r   Úslicer   r   Ú__getitem__)r   Únr   s     €r   r"   zFrozenList.__getitem__K   s8   ø€ Ü�aœÔØ”4˜“:œe™gÑ1°!Ó4Ó5Ð5Ü‰wÑ" 1Ó%Ð%r   c                ór   — t        |t        «      rt        |«      } t        | «      |t        | «      z   «      S r    )r   r   r   r   )r   r   s     r   Ú__radd__zFrozenList.__radd__P   s/   € Ü�eœUÔ#Ü˜“KˆEØŒt�D‹z˜%¤$ t£*Ñ,Ó-Ð-r   c                ód   •— t        |t        t        f«      rt        |«      }t        ‰| �  |«      S r    )r   r   r   r   r   Ú__eq__r   s     €r   r'   zFrozenList.__eq__U   s*   ø€ Ü�eœe¤ZÐ0Ô1Ü˜“KˆEÜ‰w‰~˜eÓ$Ð$r   c                ó@   •—  t        | «      t        ‰| �	  |«      «      S r    )r   r   Ú__mul__r   s     €r   r)   zFrozenList.__mul__\   s   ø€ ØŒt�D‹zœ%™'™/¨%Ó0Ó1Ð1r   c                ó0   — t        | «      t        | «      ffS r    )r   r   ©r   s    r   Ú
__reduce__zFrozenList.__reduce__a   s   € Ü�D‹zœD ›J˜=Ð(Ð(r   c                ó*   — t        t        | «      «      S r    )Úhashr   r+   s    r   Ú__hash__zFrozenList.__hash__e   s   € Ü”E˜$“KÓ Ð r   c                óF   — t        dt        | «      j                  › d�«      ‚)zL
        This method will not function because object is immutable.
        Ú'z&' does not support mutable operations.)Ú	TypeErrorr   Ú__name__)r   ÚargsÚkwargss      r   Ú	_disabledzFrozenList._disabledh   s$   € ô ˜!œD ›J×/Ñ/Ð0Ð0VÐWÓXÐXr   c                ó   — t        | dd¬«      S )NT)Ú	ÚÚ
r1   )Úquote_stringsÚescape_charsr   r+   s    r   Ú__str__zFrozenList.__str__n   s   € ÜØ Ð3Jô
ð 	
r   c                ó8   — t        | «      j                  › d| ›d�S )NÚ(Ú))r   r3   r+   s    r   Ú__repr__zFrozenList.__repr__s   s    € Ü�t“*×%Ñ%Ð& a¨ x¨qÐ1Ð1r   )Úreturnr   )rB   r   )r   ÚobjectrB   Úbool)rB   Úint)rB   r   )rB   Ústr)r3   Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ú__iadd__r"   r%   r'   Ú__req__r)   Ú__imul__r,   r/   r6   r=   rA   Ú__setitem__Ú__setslice__Ú__delitem__Ú__delslice__ÚpopÚappendÚextendÚremoveÚsortÚinsertÚ__classcell__)r   s   @r   r   r      sŽ   ø„ ñõ2ó$ ð( Ð€Gˆhô&ó
.õ
%ð
 €Gõ2ð €Hò)ó!óYó
ó
2ð "+Ð*€K�,Ø!*Ð*€K�,Ø%Ð%€CÐ%ˆ&�6Ø&Ð&€FÐ&ˆT”Fr   r   N)rI   Ú
__future__r   Útypingr   r   Úpandas.util._decoratorsr   Úpandas.core.baser   Úpandas.io.formats.printingr	   r   r   © r   r   Ú<module>r^      sE   ðñõ #÷õ
 /å )å 3ñ ÐÓ ô`'�˜tó `'ó !ñ`'r   