
    E#i                     x    S SK Jr   S SKrS rS rS\S\4S jrS\\\	4   S\	4S jr
/ S	Qrg! \ a    Sr N,f = f)
    )UnionNc                     [        U [        5      (       a  U R                  S5      $ [        U [        5      (       a  U $ [	        S5      eNasciiz1only str (ascii encoding) and bytes are supported)
isinstancestrencodebytes	TypeErrordatas    G/home/james-whalen/.local/lib/python3.13/site-packages/pycares/utils.pyascii_bytesr   
   s<    ${{7##$
G
HH    c                     [        U [        5      (       a  U $ [        U [        5      (       a   U R                  S5      $ [        S5      e! [         a    U s $ f = fr   )r   r   r
   decodeUnicodeDecodeErrorr   r   s    r   	maybe_strr      sY    $$	;;w'' G
HH " 	K	s   A
 
AAnamereturnc                 `   U R                  S5      n/ nU H  nUR                  5       (       a"  UR                  UR                  S5      5        M:  [	        U5      S:  a  [        S[	        U 5       35      eUR                  [        R                  " U5      5        M     SR                  U5      $ )N.r      z;domains can only be less than 253 characters in length not    .)splitisasciiappendr	   lenRuntimeErroridna2008join)r   partsrparts       r   parse_name_idna2008r%      s    JJsOE
A<<>>HHT[[)*Y_McRVi[Y  HHX__T*+  99Q<r   c                    [        U [        5      (       aI  U R                  5       (       a  U R                  S5      $ [        b  [        U 5      $ U R                  S5      $ [        U [        5      (       a  U $ [        S5      e)Nr   idnaz only str and bytes are supported)r   r   r   r	   r    r%   r
   r   )r   s    r   
parse_namer(   ,   sg    $<<>>;;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e  Hs   . 99