
     :h                     r    d dl mZ 	 d dlZd Zd ZdedefdZdeee	f   de	fdZ
g d	Zy# e$ r dZY )w xY w)
    )UnionNc                 ~    t        | t              r| j                  d      S t        | t              r| S t	        d      Nasciiz1only str (ascii encoding) and bytes are supported)
isinstancestrencodebytes	TypeErrordatas    G/var/www/html/turnos/venv/lib/python3.12/site-packages/pycares/utils.pyascii_bytesr   
   s6    ${{7##$
G
HH    c                     t        | t              r| S t        | t              r	 | j                  d      S t        d      # t        $ r | cY S w xY wr   )r   r   r
   decodeUnicodeDecodeErrorr   r   s    r   	maybe_strr      sS    $$	;;w'' G
HH " 	K	s   A   AAnamereturnc                    | j                  d      }g }|D ]W  }|j                         r!|j                  |j                  d             4|j                  t	        j                  |             Y dj                  |      S )N.r      .)splitisasciiappendr	   idna2008join)r   partsrparts       r   parse_name_idna2008r"      sf    JJsOE
A ,<<>HHT[[)*HHX__T*+	,
 99Q<r   c                     t        | t              rC| j                         r| j                  d      S t        t        |       S | j                  d      S t        | t              r| S t        d      )Nr   idnaz only str and bytes are supported)r   r   r   r	   r   r"   r
   r   )r   s    r   
parse_namer%   (   s_    $<<>;;w''&t,,{{6""$
6
77r   )r   r   r%   )typingr   r$   r   ImportErrorr   r   r   r"   r
   r%   __all__ r   r   <module>r*      si    
IIc c 	8U3:& 	85 	8 5]  Hs   , 66