File: //lib/python3.10/__pycache__/enum.cpython-310.pyc
o
    E�h��  �                   @   s�   d dl Z d dlmZmZ g d�Zdd� Zdd� Zdd	� Zd
d� Zdd
� Z	e
� ZG dd� d�ZG dd� de
�ZdZG dd� de�ZG dd� ded�ZG dd� dee�Zdd� ZG dd� de�ZG dd� dee�Zdd � Zd!d"� Zd#d$� ZdS )%�    N)�MappingProxyType�DynamicClassAttribute)�EnumMeta�Enum�IntEnum�Flag�IntFlag�auto�uniquec                 C   s   t | d�pt | d�pt | d�S )z?
    Returns True if obj is a descriptor, False otherwise.
    �__get__�__set__�
__delete__)�hasattr)�obj� r   �/usr/lib/python3.10/enum.py�_is_descriptor   s
   
��r   c                 C   sL   t | �dko%| dd� | dd�   kodkn  o%| d dko%| d dkS )z=
    Returns True if a __dunder__ name, False otherwise.
    �   N�   ����__�_�����len��namer   r   r   �
_is_dunder   s   &�
�
�r   c                 C   sL   t | �dko%| d | d   kodkn  o%| dd� dko%| dd� dkS )z;
    Returns True if a _sunder_ name, False otherwise.
    r   r   ���r   �   r   r   r   r   r   r   �
_is_sunder!   s   ���r    c                 C   s^   d| f }t |�}t |�|kr-|�|�r-|||d � dgkr-|d dks+|d dkr-dS dS )Nz_%s__r   r   r   r   TF)r   �
startswith)�cls_namer   �pattern�pat_lenr   r   r   �_is_private,   s   
�r%   c                 C   s   dd� }|| _ d| _dS )z,
    Make the given class un-picklable.
    c                 S   s   t d|  ��)Nz%r cannot be pickled)�	TypeError��self�protor   r   r   �_break_on_call_reduce>