a ljx @ s d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm Z m Z mZmZm Z mZmZmZ ddlmZ ddlmZmZmZ eeef Zeeeef ZededZeeegef ZG dd d eZG d d de jdZ G d d de Z!G dd de!Z"edeegef edeegef dddZ#G dd de!Z$e%dZ&ee e dddZ'eedddZ(e e e e ee e e e f dddZ)G d d! d!e Z*dS )" N)CallableDictIterableIteratorListOptionalPatternSetTupleTypeVarUnion )canonicalize_version) LegacyVersionVersionparseVersionTypeVar)boundc @ s e Zd ZdZdS )InvalidSpecifierzH An invalid specifier was found, users should refer to PEP 440. N)__name__ __module____qualname____doc__ r r D/usr/lib/python3.9/site-packages/pip/_vendor/packaging/specifiers.pyr ! s r c @ s e Zd ZejedddZejedddZeje e dddZeje e dd d Zej ee dddZeje d dddZejdeee e dddZejdee ee ee dddZd S ) BaseSpecifierreturnc C s dS )z Returns the str representation of this Specifier like object. This should be representative of the Specifier itself. Nr selfr r r __str__( s zBaseSpecifier.__str__c C s dS )zF Returns a hash value for this Specifier like object. Nr r r r r __hash__/ s zBaseSpecifier.__hash__otherr c C s dS )zq Returns a boolean representing whether or not the two Specifier like objects are equal. Nr r r# r r r __eq__5 s zBaseSpecifier.__eq__c C s dS )zu Returns a boolean representing whether or not the two Specifier like objects are not equal. Nr r$ r r r __ne__<