
    'j                        d dl mZ d dlmZmZ d dlmZ erd dlmZ dZ	 G d d          Z
 G d d	e
          ZdddZd
S )    )annotations)TYPE_CHECKINGOptional)is_valid_handle)Drawing1c                  8    e Zd Zefd	dZeZd Zd
dZeZddZ	dS )HandleGeneratorstart_valuestrc                L    t          dt          |d                    | _        d S )N      )maxint_handle)selfr   s     L/DATA/AppData/hermes/venv/lib/python3.11/site-packages/ezdxf/tools/handle.py__init__zHandleGenerator.__init__   s!    3{B#7#788    c                    d| j         z  S )Nz%Xr   r   s    r   __str__zHandleGenerator.__str__   s    dl""r   returnc                N    |                                  }| xj        dz  c_        |S )Nr   )r   r   )r   next_handles     r   nextzHandleGenerator.next   s%    llnnr   c                :    t          t          |                     S N)r
   r   r   s    r   copyzHandleGenerator.copy   s    s4yy)))r   N)r   r   )r   r   )r   r
   )
__name__
__module____qualname__START_HANDLEr   resetr   r   __next__r!    r   r   r
   r
      su        *6 9 9 9 9 9 E# # #   
 H* * * * * *r   r
   c                      e Zd Zd ZdS )UnderlayKeyGeneratorc                    d| j         z  S )NzUnderlay%05dr   r   s    r   r   zUnderlayKeyGenerator.__str__"   s    ,,r   N)r"   r#   r$   r   r(   r   r   r*   r*   !   s#        - - - - -r   r*   NhandleOptional[str]docOptional['Drawing']r   r   c                    | dS t          | t                    s
J d            || |j        vrdS | S t          |           sdS |                                 S )N0zinvalid type)
isinstancer   entitydbr   upper)r,   r.   s     r   safe_handler5   &   si    ~sfc""22N22"
%%36"" s<<>>r   r    )r,   r-   r.   r/   r   r   )
__future__r   typingr   r   ezdxf.lldxf.typesr   ezdxf.documentr   r%   r
   r*   r5   r(   r   r   <module>r:      s    # " " " " " * * * * * * * * - - - - - - '&&&&&&* * * * * * * *(- - - - -? - - -

 
 
 
 
 
 
r   