ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     o
    0i                     @   st   d Z ddlZddlmZ ddlmZ g dZG dd deZG dd	 d	eZ	d
d Z
G dd dZG dd dZdS )zRImplements (a subset of) Sun XDR -- eXternal Data Representation.

See: RFC 1014

    N)BytesIOwraps)ErrorPackerUnpackerConversionErrorc                   @   s(   e Zd ZdZdd Zdd Zd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                 C   
   || _ d S N)msg)selfr    r   -/opt/alt/python310/lib64/python3.10/xdrlib.py__init__      
zError.__init__c                 C   
   t | jS r
   )reprr   r   r   r   r   __repr__   r   zError.__repr__c                 C   r   r
   )strr   r   r   r   r   __str__   r   zError.__str__N)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r      s
    	r   c                   @   s   e Zd ZdS )r   N)r   r   r   r   r   r   r   r       s    r   c                    s   t   fdd}|S )z5 Wrap any raised struct.errors in a ConversionError. c              
      s8   z | |W S  t jy } zt|jd d d }~ww Nr   )structerrorr   args)r   valueefunctionr   r   result&   s   z&raise_conversion_error.<locals>.resultr   )r"   r#   r   r!   r   raise_conversion_error#   s   r$   c                   @   s   e Zd ZdZdd Zdd Zdd ZeZedd	 Z	ed
d Z
e
Zdd Zdd ZeZedd Zedd Zdd ZeZdd ZeZeZdd Zdd Zdd ZdS )r   z0Pack various data representations into a buffer.c                 C   s   |    d S r
   resetr   r   r   r   r   2      zPacker.__init__c                 C   s   t  | _d S r
   )r   _Packer__bufr   r   r   r   r&   5   r'   zPacker.resetc                 C   s
   | j  S r
   )r(   getvaluer   r   r   r   
get_buffer8   r   zPacker.get_bufferc                 C      | j td| d S )N>Lr(   writer   Zpackr   xr   r   r   	pack_uint=      zPacker.pack_uintc                 C   r+   )N>lr-   r/   r   r   r   pack_intA   r2   zPacker.pack_intc                 C   s$   |r
| j d d S | j d d S )Ns      s       )r(   r.   r/   r   r   r   	pack_boolG   s   zPacker.pack_boolc              
   C   s   z|  |d? d@  W n ttjfy" } zt|jd d d }~ww z
|  |d@  W d S  ttjfyD } zt|jd d d }~ww )N    l    r   )r1   	TypeErrorr   r   r   r   )r   r0   r    r   r   r   pack_uhyperK   s   zPacker.pack_uhyperc                 C   r+   )N>fr-   r/   r   r   r   
pack_floatW   r2   zPacker.pack_floatc                 C   r+   )N>dr-   r/   r   r   r   pack_double[   r2   zPacker.pack_doublec                 C   sP   |dk rt d|d | }|d d d }||t| d  }| j| d S )Nr    fstring size must be nonnegative          )
ValueErrorlenr(   r.   )r   nsdatar   r   r   pack_fstring_   s   zPacker.pack_fstringc                 C   s"   t |}| | | || d S r
   )rB   r1   rF   )r   rD   rC   r   r   r   pack_stringi   s   
zPacker.pack_stringc                 C   s*   |D ]}|  d || q|  d d S )N   r   )r1   )r   list	pack_itemitemr   r   r   	pack_listq   s   

zPacker.pack_listc                 C   s*   t ||kr
td|D ]}|| qd S )Nzwrong array size)rB   rA   )r   rC   rI   rJ   rK   r   r   r   pack_farrayw   s
   
zPacker.pack_farrayc                 C   s$   t |}| | | ||| d S r
   )rB   r1   rM   )r   rI   rJ   rC   r   r   r   
pack_array}   s   
zPacker.pack_arrayN)r   r   r   r   r   r&   r*   Zget_bufr$   r1   r4   Z	pack_enumr5   r8   Z
pack_hyperr:   r<   rF   Zpack_fopaquerG   Zpack_opaqueZ
pack_bytesrL   rM   rN   r   r   r   r   r   /   s4    




r   c                   @   s   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd ZeZdd Zdd Zdd Zdd Zdd Zdd ZeZdd ZeZeZd d! Zd"d# Zd$d% Zd&S )'r   z;Unpacks various data representations from the given buffer.c                 C   s   |  | d S r
   r%   r   rE   r   r   r   r      s   zUnpacker.__init__c                 C   s   || _ d| _d S r   )_Unpacker__buf_Unpacker__posrO   r   r   r   r&      s   
zUnpacker.resetc                 C      | j S r
   rQ   r   r   r   r   get_position      zUnpacker.get_positionc                 C   r	   r
   rS   )r   Zpositionr   r   r   set_position   r   zUnpacker.set_positionc                 C   rR   r
   )rP   r   r   r   r   r*      rU   zUnpacker.get_bufferc                 C   s   | j t| jk rtdd S )Nzunextracted data remains)rQ   rB   rP   r   r   r   r   r   done   s   zUnpacker.donec                 C   B   | j }|d  | _ }| j|| }t|dk rttd|d S )Nr?   r,   r   rQ   rP   rB   EOFErrorr   Zunpackr   ijrE   r   r   r   unpack_uint      zUnpacker.unpack_uintc                 C   rX   )Nr?   r3   r   rY   r[   r   r   r   
unpack_int   r_   zUnpacker.unpack_intc                 C   s   t |  S r
   )boolr`   r   r   r   r   unpack_bool   r'   zUnpacker.unpack_boolc                 C   s    |   }|   }t|d> |B S )Nr6   )r^   int)r   hilor   r   r   unpack_uhyper   s   zUnpacker.unpack_uhyperc                 C   s   |   }|dkr|d }|S )Nl            l            )rf   r/   r   r   r   unpack_hyper   s   zUnpacker.unpack_hyperc                 C   rX   )Nr?   r9   r   rY   r[   r   r   r   unpack_float   r_   zUnpacker.unpack_floatc                 C   rX   )N   r;   r   rY   r[   r   r   r   unpack_double   r_   zUnpacker.unpack_doublec                 C   sT   |dk rt d| j}||d d d  }|t| jkrt|| _| j|||  S )Nr   r=   r>   r?   )rA   rQ   rB   rP   rZ   )r   rC   r\   r]   r   r   r   unpack_fstring   s   zUnpacker.unpack_fstringc                 C   s   |   }| |S r
   )r^   rk   )r   rC   r   r   r   unpack_string   s   
zUnpacker.unpack_stringc                 C   sB   g }	 |   }|dkr|S |dkrtd|f | }|| q)NrH   r   z0 or 1 expected, got %r)r^   r   append)r   unpack_itemrI   r0   rK   r   r   r   unpack_list   s   
zUnpacker.unpack_listc                 C   s"   g }t |D ]}||  q|S r
   )rangerm   )r   rC   rn   rI   r\   r   r   r   unpack_farray   s   zUnpacker.unpack_farrayc                 C   s   |   }| ||S r
   )r^   rq   )r   rn   rC   r   r   r   unpack_array   s   zUnpacker.unpack_arrayN)r   r   r   r   r   r&   rT   rV   r*   rW   r^   r`   Zunpack_enumrb   rf   rg   rh   rj   rk   Zunpack_fopaquerl   Zunpack_opaqueZunpack_bytesro   rq   rr   r   r   r   r   r      s0    
r   )r   r   ior   	functoolsr   __all__	Exceptionr   r   r$   r   r   r   r   r   r   <module>   s    U