J#[ě @ d Z ddlZddlmZmZmZ G d d ZdS )zUtilities for defining models
N)AnyCallableTypec e Zd ZdZddgZdeded ddfdZdefd Z d
ede
fdZd
ede
fdZd
ede
fd
Z
d
ede
fdZd
ede
fdZd
edeeege
f de
fdZdS )KeyBasedCompareMixinz7Provides comparison capabilities that is based on a key_compare_key_defining_classkeydefining_classreturnNc " || _ || _ d S N)r r )selfr
r s /builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el9.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/utils/models.py__init__zKeyBasedCompareMixin.__init__
s - c * t | j S r )hashr )r s r __hash__zKeyBasedCompareMixin.__hash__ s D%&&&r otherc B | |t j S r )_compareoperator__lt__r r s r r zKeyBasedCompareMixin.__lt__ }}UHO444r c B | |t j S r )r r __le__r s r r zKeyBasedCompareMixin.__le__ r r c B | |t j S r )r r __gt__r s r r zKeyBasedCompareMixin.__gt__ r r c B | |t j S r )r r __ge__r s r r" zKeyBasedCompareMixin.__ge__ r r c B | |t j S r )r r __eq__r s r r$ zKeyBasedCompareMixin.__eq__ r r methodc f t || j st S || j |j S r )
isinstancer NotImplementedr )r r r% s r r zKeyBasedCompareMixin._compare# s5 %!566 "!!vd');<<