o
    p̦i`                     @   s  U d Z ddlmZ ddlmZ ded< G dd dZddlmZ d	Ze	ed
< eZ
eed< ee	e	f ed< G dd deZdZe G dd deZddlmZ edefZedZG dd dZG dd deZG dd deZG dd dedZd%d
e	fdd Zd!d" Ze	eB ed#< d$S )&zw
The module for testing variable annotations.
Empty lines above are for good reason (testing for correct line numbers)
    )Optionalwraps      c                   @   s"   e Zd ZU dZdZed  ed< dS )C   Ny)__name__
__module____qualname__xr	   r   __annotations__ r   r   &/usr/lib/python3.10/test/ann_module.pyr      s   
 r   )Tupler   r   r	   fc                   @   s"   e Zd ZU ded< eZeed< dS )M{   123oN)r
   r   r   r   objectr   typer   r   r   r   r      s   
 r   Tc                   @   &   e Zd ZU dZeed< dZeed< dS )DhijbyekN)r
   r   r   r   strr   r   r   r   r   r   r      s   
 r   )	new_classHJc                   @   s"   e Zd ZU dZeed< dd ZdS )Fr   zc                 C   s   d S Nr   )selfr   r   r   r   __init__$   s   z
F.__init__N)r
   r   r   r$   intr   r'   r   r   r   r   r#   "   s   
 r#   c                          e Zd Z fddZ  ZS )Yc                    s   t t| d d S )Nr   )superr#   r'   )r&   	__class__r   r   r'   (   s   z
Y.__init__)r
   r   r   r'   __classcell__r   r   r,   r   r*   '       r*   c                       r)   )Metac                    s   t  | |||S r%   )r+   __new__)metanamebases	namespacer,   r   r   r1   ,   s   zMeta.__new__)r
   r   r   r1   r.   r   r   r,   r   r0   +   r/   r0   c                   @   r   )S	somethingr   zsomething elser	   N)r
   r   r   r   r   r   r	   r   r   r   r   r6   /   s   
 r6   )	metaclass
   c                 C   s   dt t fdd}|  d S )Nr	   c                 S   s   d}d S )Nyesr   )r	   r   r   r   r   bar4   s   zfoo.<locals>.bar)Listr   )r   r;   r   r   r   foo3   s   
r=   c                    s   t   fdd}|S )Nc                     s    | i |S r%   r   )argskwargsfuncr   r   wrapper9   s   zdec.<locals>.wrapperr   )rA   rB   r   r@   r   dec8   s   rC   uN)r9   )__doc__typingr   	functoolsr   r   r   r   r   r(   r	   r   r   r   parsboolr   typesr    h_classj_classr#   r*   r0   r6   r=   rC   floatr   r   r   r   <module>   s(   (