ó
    F\hv  ã                   ó.   • S SK r SSKJr   " S S\5      rg)é    Né   )Úmethod_cachec                   óv   ^ • \ rS rSrSrS rS rS rS rS r	U 4S jr
S	 r\U 4S
 j5       rS rSS jrSrU =r$ )Ú
FoldedCaseé   aß  
A case insensitive string class; behaves just like str
except compares equal when the only variation is case.

>>> s = FoldedCase('hello world')

>>> s == 'Hello World'
True

>>> 'Hello World' == s
True

>>> s != 'Hello World'
False

>>> s.index('O')
4

>>> s.split('O')
['hell', ' w', 'rld']

>>> sorted(map(FoldedCase, ['GAMMA', 'alpha', 'Beta']))
['alpha', 'Beta', 'GAMMA']

Sequence membership is straightforward.

>>> "Hello World" in [s]
True
>>> s in ["Hello World"]
True

You may test for set inclusion, but candidate and elements
must both be folded.

>>> FoldedCase("Hello World") in {s}
True
>>> s in {FoldedCase("Hello World")}
True

String inclusion works as long as the FoldedCase object
is on the right.

>>> "hello" in FoldedCase("Hello World")
True

But not if the FoldedCase object is on the left:

>>> FoldedCase('hello') in 'Hello World'
False

In that case, use in_:

>>> FoldedCase('hello').in_('Hello World')
True

>>> FoldedCase('hello') > FoldedCase('Hello')
False
c                 óD   • U R                  5       UR                  5       :  $ ©N©Úlower©ÚselfÚothers     Ú//usr/lib/python3.13/importlib/metadata/_text.pyÚ__lt__ÚFoldedCase.__lt__C   ó   € Ø�z‰z‹|˜eŸk™k›mÑ+Ð+ó    c                 óD   • U R                  5       UR                  5       :„  $ r	   r
   r   s     r   Ú__gt__ÚFoldedCase.__gt__F   r   r   c                 óD   • U R                  5       UR                  5       :H  $ r	   r
   r   s     r   Ú__eq__ÚFoldedCase.__eq__I   ó   € Ø�z‰z‹|˜uŸ{™{›}Ñ,Ð,r   c                 óD   • U R                  5       UR                  5       :g  $ r	   r
   r   s     r   Ú__ne__ÚFoldedCase.__ne__L   r   r   c                 ó4   • [        U R                  5       5      $ r	   )Úhashr   )r   s    r   Ú__hash__ÚFoldedCase.__hash__O   s   € Ü�D—J‘J“LÓ!Ð!r   c                 óZ   >• [         TU ]  5       R                  UR                  5       5      $ r	   )Úsuperr   Ú__contains__)r   r   Ú	__class__s     €r   r$   ÚFoldedCase.__contains__R   s    ø€ Ü‰w‰}‹×+Ñ+¨E¯K©K«MÓ:Ð:r   c                 ó   • U [        U5      ;   $ )zDoes self appear in other?)r   r   s     r   Úin_ÚFoldedCase.in_U   s   € à”z %Ó(Ñ(Ð(r   c                 ó    >• [         TU ]  5       $ r	   )r#   r   )r   r%   s    €r   r   ÚFoldedCase.lowerZ   s   ø€ ä‰w‰}‹Ðr   c                 ó\   • U R                  5       R                  UR                  5       5      $ r	   )r   Úindex)r   Úsubs     r   r-   ÚFoldedCase.index^   s   € Ø�z‰z‹|×!Ñ! #§)¡)£+Ó.Ð.r   c                 ó–   • [         R                  " [         R                  " U5      [         R                  5      nUR	                  X5      $ r	   )ÚreÚcompileÚescapeÚIÚsplit)r   ÚsplitterÚmaxsplitÚpatterns       r   r5   ÚFoldedCase.splita   s.   € Ü—*’*œRŸYšY xÓ0´"·$±$Ó7ˆØ�}‰}˜TÓ,Ð,r   © )Ú r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   r    r$   r(   r   r   r-   r5   Ú__static_attributes__Ú__classcell__)r%   s   @r   r   r      sO   ø† ñ9òv,ò,ò-ò-ò"õ;ò)ð
 ôó ðò/÷-ò -r   r   )r1   Ú
_functoolsr   Ústrr   r:   r   r   Ú<module>rE      s   ðÛ 	å $ô\-�õ \-r   