§
    (¶ÕiY  ã                   óÐ   — 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	   zºException 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     ú/usr/lib/python3.11/xdrlib.pyÚ__init__zError.__init__   s   € ØˆŒˆˆó    c                 ó*   — t          | j        ¦  «        S r   )Úreprr   ©r   s    r   Ú__repr__zError.__repr__   s   € Ý�D”H‰~Œ~Ðr   c                 ó*   — t          | j        ¦  «        S r   )Ústrr   r   s    r   Ú__str__zError.__str__   s   € Ý�4”8‰}Œ}Ð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Ø�8˜D %Ñ(Ô(Ð(øÝŒ|ð 	7ð 	7ð 	7Ý! !¤&¨¤)Ñ,Ô,°$Ð6øøøøð	7øøøs   ƒ �>ž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   € Ý‘Y”YˆŒ
ˆ
ˆ
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@   ó*   € àŒ
×Ò�œ T¨1Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.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   € Øð 	,ˆdŒj×Ò˜{Ñ+Ô+Ð+Ð+Ð+ØŒ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Ø�NŠN˜1˜b™5 :Ñ-Ñ.Ô.Ð.Ð.øÝ�6œ<Ð(ð 	7ð 	7ð 	7Ý! !¤&¨¤)Ñ,Ô,°$Ð6øøøøð	7øøøð	7Ø�NŠN˜1˜z™>Ñ*Ô*Ð*Ð*Ð*øÝ�6œ<Ð(ð 	7ð 	7ð 	7Ý! !¤&¨¤)Ñ,Ô,°$Ð6øøøøð	7øøøs,   ‚ ž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   € ØˆqŠ5ˆ5ÝÐ?Ñ@Ô@Ð@Ø��!�ŒuˆØ�‰c�A‰X�q‰LˆØ�q�3˜t™9œ9‘}¨Ñ-Ñ-ˆØŒ
×Ò˜ÑÔÐÐÐr   c                 óz   — t          |¦  «        }|                      |¦  «         |                      ||¦  «         d S r   )rS   r=   rW   )r   rU   rT   s      r   Úpack_stringzPacker.pack_stringl   s;   € Ý�‰FŒFˆØ�Š�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Ø�NŠN˜1ÑÔÐØˆI�d‰OŒOˆOˆOØ�Š�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   € Ýˆt‰9Œ9˜Š>ˆ>ÝÐ/Ñ0Ô0Ð0Øð 	ð 	ˆDØˆI�d‰OŒOˆOˆOð	ð 	r   c                 ó|   — t          |¦  «        }|                      |¦  «         |                      |||¦  «         d S r   )rS   r=   ra   )r   r\   r]   rT   s       r   Ú
pack_arrayzPacker.pack_array€   s=   € Ý�‰IŒIˆØ�Š�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.   € ØŒ:�˜DœJ™œÒ'Ð'ÝÐ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˜#ŒˆÝˆt‰9Œ9�qŠ=ˆ=ÝˆNÝŒ}˜T 4Ñ(Ô(¨Ô+Ð+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   € Ý�D—O’OÑ%Ô%Ñ&Ô&Ð&r   c                 ó|   — |                       ¦   «         }|                       ¦   «         }t          |¦  «        dz  |z  S )NrE   )r�   Úint)r   ÚhiÚlos      r   Úunpack_uhyperzUnpacker.unpack_uhyper³   s9   € Ø×ÒÑÔˆØ×ÒÑÔˆÝ�2‰wŒw˜‰{˜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   € ØˆqŠ5ˆ5ÝÐ?Ñ@Ô@Ð@ØŒJˆØ��1‘�q‘˜‘
‰NˆØ�s�4”:‰ŒÒÐÝˆNØˆŒ
ØŒz˜!˜A˜a™C˜%Ô Ð 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Ø�AŠvˆv�uØ�AŠvˆvÝ%�oÀ1À1Ð&FÑGÔGÐGØ�;‘=”=ˆDØ�KŠK˜ÑÔÐð	ð ˆr   c                 óh   — g }t          |¦  «        D ]}|                      |¦   «         ¦  «         Œ |S r   )Úranger™   )r   rT   rš   r\   r   s        r   Úunpack_farrayzUnpacker.unpack_farrayì   s<   € ØˆÝ�q‘”ð 	'ð 	'ˆAØ�KŠK˜˜™œÑ&Ô&Ð&Ð&Øˆ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:  ððð ð €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€à €Ô �X gÐ .Ñ .Ô .Ð .à
<Ð
<Ð
<€ðð ð ð ð ˆ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   