ó
    X€Åiú  ã                   ó   •  " S  S5      r g)c                   óB   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
rg)Ú
Comparableé   aX  Customise how your Enum acts when compared to other objects.

Your Enum must implement a ``_cmp_values`` method which takes the Enum
member's value and the other value and manipulates them into the actual
values that can be compared.

A case-insensitive StrEnum might look like this::

    class HttpHeader(Comparable, KebabCaseStrEnum):
        ContentType = auto()
        Host = auto()
        Accept = auto()
        XForwardedFor = auto()

        def _cmp_values(self, other):
            return self.value.lower(), str(other).lower()

You could then use these headers in case-insensitive comparisons::

    assert "Content-Type" == HttpHeader.ContentType
    assert "content-type" == HttpHeader.ContentType
    assert "coNtEnt-tyPe" == HttpHeader.ContentType

.. note::
    Your ``_cmp_values`` method *must not* return ``self`` as one of the
    values to be compared -- that would result in infinite recursion.
    Instead, perform operations on ``self.value`` and return that.

.. warning::
    A bug in Python prior to 3.7.1 prevents mix-ins working with Enum
    subclasses.

.. versionadded:: 0.4.6
c                 ó0   • U R                  U5      u  p!X!:H  $ ©N©Ú_cmp_values©ÚselfÚotherÚvalues      Ú9/app/.venv/lib/python3.13/site-packages/strenum/mixins.pyÚ__eq__ÚComparable.__eq__%   ó   € Ø×'Ñ'¨Ó.‰ˆØ‰~Ðó    c                 ó0   • U R                  U5      u  p!X!:g  $ r   r   r	   s      r   Ú__ne__ÚComparable.__ne__)   r   r   c                 ó0   • U R                  U5      u  p!X!:  $ r   r   r	   s      r   Ú__lt__ÚComparable.__lt__-   ó   € Ø×'Ñ'¨Ó.‰ˆØ‰}Ðr   c                 ó0   • U R                  U5      u  p!X!:*  $ r   r   r	   s      r   Ú__le__ÚComparable.__le__1   r   r   c                 ó0   • U R                  U5      u  p!X!:„  $ r   r   r	   s      r   Ú__gt__ÚComparable.__gt__5   r   r   c                 ó0   • U R                  U5      u  p!X!:¬  $ r   r   r	   s      r   Ú__ge__ÚComparable.__ge__9   r   r   c                 ó   • [        S5      e)NzFEnum's using Comparable must implement their own _cmp_values function.)ÚNotImplementedError)r
   r   s     r   r   ÚComparable._cmp_values=   s   € Ü!ØTó
ð 	
r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   r   r    r   Ú__static_attributes__r%   r   r   r   r      s+   † ñ!òFòòòòòõ
r   r   N)r   r%   r   r   Ú<module>r,      s   ð÷?
ò ?
r   