
    xKgM                     &    d dl mZmZ d Zd Zd Zy)    )typestypingc                 L    t        | t        t        t        j                  f      S )zi
    Return whether *sig* is a potentially valid signature
    specification (for user-facing APIs).
    )
isinstancestrtupler   	Signature)sigs    W/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/core/sigutils.pyis_signaturer      s    
 cC(8(89::    c                 8    t        | i t        j                        S )z;
    Parameters
    ----------
    signature_str : str
    )evalr   __dict__)signature_strs    r   _parse_signature_stringr      s     r5>>22r   c           	         t        | t              rt        |       }n| }t        |t              r|d}}npt        |t        j
                        r|j                  |j                  }}n=t        d| d| j                  j                  d|j                  j                  d      d }| ||       |D ]
  } ||        ||fS )z
    From *sig* (a signature specification), return a ``(args, return_type)``
    tuple, where ``args`` itself is a tuple of types, and ``return_type``
    can be None if not specified.
    Nzinvalid signature: z (type: z) evaluates to z instead of tuple or Signaturec                 T    t        | t        j                        st        d|       y )Nz9invalid type in signature: expected a type instance, got )r   r   Type	TypeError)tys    r   
check_typez'normalize_signature.<locals>.check_type+   s*    "ejj)247 8 8 *r   )r   r   r   r   r   r	   argsreturn_typer   	__class____name__)r
   parsedr   r   r   r   s         r   normalize_signaturer      s     #s(-&% "Dk	FF,,	-"KK););k!7!7",,55  	8
 ;2  r   N)
numba.corer   r   r   r   r    r   r   <module>r!      s    $;3r   