
    dY                         d Z ddlZddlmZ ddlmZ ddlZ ej        ed           g dZ	 G d d	e
          Z G d
 de          Zd Z G d d          Z G d d          ZdS )zRImplements (a subset of) Sun XDR -- eXternal Data Representation.

See: RFC 1014

    N)BytesIOwraps)      )remove)ErrorPackerUnpackerConversionErrorc                   $    e Zd ZdZd Zd Zd ZdS )r	   zException class for this module. Use:

    except xdrlib.Error as var:
        # var has the Error instance for the exception

    Public ivars:
        msg -- contains the message

    c                     || _         d S N)msg)selfr   s       /croot/python-split_1694437901252/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.11/xdrlib.py__init__zError.__init__   s        c                 *    t          | j                  S r   )reprr   r   s    r   __repr__zError.__repr__   s    DH~~r   c                 *    t          | j                  S r   )strr   r   s    r   __str__zError.__str__   s    48}}r   N)__name__
__module____qualname____doc__r   r   r    r   r   r	   r	      sK                 r   r	   c                       e Zd ZdS )r   N)r   r   r   r    r   r   r   r   #   s        Dr   r   c                 <     t                      fd            }|S )z5 Wrap any raised struct.errors in a ConversionError. c                     	  | |          S # t           j        $ r }t          |j        d                   d d }~ww xY wNr   )structerrorr   args)r   valueefunctions      r   resultz&raise_conversion_error.<locals>.result)   sQ    	78D%(((| 	7 	7 	7!!&),,$6	7s    >9>r   )r*   r+   s   ` r   raise_conversion_errorr,   &   s5     8__7 7 7 7 _7
 Mr   c                       e Zd ZdZd Zd Zd ZeZed             Z	ed             Z
e
Zd Zd ZeZed	             Zed
             Zd ZeZd ZeZeZd Zd Zd ZdS )r
   z0Pack various data representations into a buffer.c                 .    |                                   d S r   resetr   s    r   r   zPacker.__init__5   s    

r   c                 ,    t                      | _        d S r   )r   _Packer__bufr   s    r   r0   zPacker.reset8   s    YY


r   c                 4    | j                                         S r   )r2   getvaluer   s    r   
get_bufferzPacker.get_buffer;   s    z""$$$r   c                 `    | j                             t          j        d|                     d S )N>Lr2   writer%   packr   xs     r   	pack_uintzPacker.pack_uint@   *    
T1--.....r   c                 `    | j                             t          j        d|                     d S )N>lr8   r;   s     r   pack_intzPacker.pack_intD   r>   r   c                 v    |r| j                             d           d S | j                             d           d S )Ns      s       )r2   r9   r;   s     r   	pack_boolzPacker.pack_boolJ   sA     	,dj{+++++j{+++++r   c                 V   	 |                      |dz	  dz             n9# t          t          j        f$ r }t	          |j        d                   d d }~ww xY w	 |                      |dz             d S # t          t          j        f$ r }t	          |j        d                   d d }~ww xY w)N    l    r   )r=   	TypeErrorr%   r&   r   r'   )r   r<   r)   s      r   pack_uhyperzPacker.pack_uhyperN   s    	7NN1b5:-....6<( 	7 	7 	7!!&),,$6	7	7NN1z>*****6<( 	7 	7 	7!!&),,$6	7s,    AAAA2 2B(B##B(c                 `    | j                             t          j        d|                     d S )N>fr8   r;   s     r   
pack_floatzPacker.pack_floatZ   r>   r   c                 `    | j                             t          j        d|                     d S )N>dr8   r;   s     r   pack_doublezPacker.pack_double^   r>   r   c                     |dk     rt          d          |d |         }|dz   dz  dz  }||t          |          z
  dz  z   }| j                            |           d S )Nr    fstring size must be nonnegativer          )
ValueErrorlenr2   r9   )r   nsdatas       r   pack_fstringzPacker.pack_fstringb   sm    q55?@@@!ucAXqLq3t99}--
r   c                 z    t          |          }|                     |           |                     ||           d S r   )rS   r=   rW   )r   rU   rT   s      r   pack_stringzPacker.pack_stringl   s;    FFq!Qr   c                 z    |D ]"}|                      d            ||           #|                      d           d S )N   r   )r=   )r   list	pack_itemitems       r   	pack_listzPacker.pack_listt   sJ     	 	DNN1IdOOOOqr   c                 j    t          |          |k    rt          d          |D ]} ||           d S )Nzwrong array size)rS   rR   )r   rT   r\   r]   r^   s        r   pack_farrayzPacker.pack_farrayz   sH    t99>>/000 	 	DIdOOOO	 	r   c                 |    t          |          }|                     |           |                     |||           d S r   )rS   r=   ra   )r   r\   r]   rT   s       r   
pack_arrayzPacker.pack_array   s=    IIqD),,,,,r   N)r   r   r   r   r   r0   r5   get_bufr,   r=   rA   	pack_enumrC   rG   
pack_hyperrJ   rM   rW   pack_fopaquerY   pack_opaque
pack_bytesr_   ra   rc   r    r   r   r
   r
   2   sD       ::    % % % G/ / / / / / I, , ,7 7 7 J/ / / / / /    L     
 KJ    - - - - -r   r
   c                       e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 ZeZd
 Zd Zd Zd Zd Zd ZeZd ZeZeZd Zd Zd ZdS )r   z;Unpacks various data representations from the given buffer.c                 0    |                      |           d S r   r/   r   rV   s     r   r   zUnpacker.__init__   s    

4r   c                 "    || _         d| _        d S r$   )_Unpacker__buf_Unpacker__posrl   s     r   r0   zUnpacker.reset   s    



r   c                     | j         S r   ro   r   s    r   get_positionzUnpacker.get_position   
    zr   c                     || _         d S r   rq   )r   positions     r   set_positionzUnpacker.set_position   s    


r   c                     | j         S r   )rn   r   s    r   r5   zUnpacker.get_buffer   rs   r   c                 ^    | j         t          | j                  k     rt          d          d S )Nzunextracted data remains)ro   rS   rn   r	   r   s    r   donezUnpacker.done   s.    :DJ''2333 ('r   c                     | j         }|dz   x| _         }| j        ||         }t          |          dk     rt          t	          j        d|          d         S )NrP   r7   r   ro   rn   rS   EOFErrorr%   unpackr   ijrV   s       r   unpack_uintzUnpacker.unpack_uint   S    J1
Qz!A#t99q==N}T4((++r   c                     | j         }|dz   x| _         }| j        ||         }t          |          dk     rt          t	          j        d|          d         S )NrP   r@   r   r{   r~   s       r   
unpack_intzUnpacker.unpack_int   r   r   c                 D    t          |                                           S r   )boolr   r   s    r   unpack_boolzUnpacker.unpack_bool   s    DOO%%&&&r   c                 |    |                                  }|                                  }t          |          dz  |z  S )NrE   )r   int)r   hilos      r   unpack_uhyperzUnpacker.unpack_uhyper   s9    2ww{Rr   c                 D    |                                  }|dk    r|dz
  }|S )Nl            l            )r   r;   s     r   unpack_hyperzUnpacker.unpack_hyper   s/      """''Ar   c                     | j         }|dz   x| _         }| j        ||         }t          |          dk     rt          t	          j        d|          d         S )NrP   rI   r   r{   r~   s       r   unpack_floatzUnpacker.unpack_float   r   r   c                     | j         }|dz   x| _         }| j        ||         }t          |          dk     rt          t	          j        d|          d         S )N   rL   r   r{   r~   s       r   unpack_doublezUnpacker.unpack_double   r   r   c                     |dk     rt          d          | j        }||dz   dz  dz  z   }|t          | j                  k    rt          || _        | j        |||z            S )Nr   rO   r   rP   )rR   ro   rS   rn   r|   )r   rT   r   r   s       r   unpack_fstringzUnpacker.unpack_fstring   sj    q55?@@@J1q
Ns4:N
z!AaC%  r   c                 T    |                                  }|                     |          S r   )r   r   )r   rT   s     r   unpack_stringzUnpacker.unpack_string   s'    ""1%%%r   c                     g }	 |                                  }|dk    rn8|dk    rt          d|           |            }|                    |           S|S )Nr[   r   z0 or 1 expected, got )r   r   append)r   unpack_itemr\   r<   r^   s        r   unpack_listzUnpacker.unpack_list   so    	  ""AAvvuAvv%o11&FGGG;==DKK	 r   c                 h    g }t          |          D ]}|                     |                        |S r   )ranger   )r   rT   r   r\   r   s        r   unpack_farrayzUnpacker.unpack_farray   s<    q 	' 	'AKK&&&&r   c                 V    |                                  }|                     ||          S r   )r   r   )r   r   rT   s      r   unpack_arrayzUnpacker.unpack_array   s)    !!![111r   N)r   r   r   r   r   r0   rr   rv   r5   ry   r   r   unpack_enumr   r   r   r   r   r   unpack_fopaquer   unpack_opaqueunpack_bytesr   r   r   r    r   r   r   r      sB       EE          4 4 4, , ,, , , K' ' '     
  , , ,, , ,! ! ! $N& & & "M L	 	 	  2 2 2 2 2r   r   )r   r%   ior   	functoolsr   warnings_deprecatedr   __all__	Exceptionr	   r   r,   r
   r   r    r   r   <module>r      s:                   Xg . . . .
<
<
<    I   $	 	 	 	 	e 	 	 		 	 	Q- Q- Q- Q- Q- Q- Q- Q-jm2 m2 m2 m2 m2 m2 m2 m2 m2 m2r   