
    g                         d Z ddlZ	 ddlmZ ddlmZ ddlmZ d Z	d	 Z
d
 Z eee	e
e      Zy# e$ r 	 ddlZn# e$ r dZY nw xY wY ;w xY w)z
get/put functions that consume/produce Python lists using msgpack or pickle
to serialize.

First we try msgpack (it's faster).  If that fails then we default to pickle.
    N)msgpackF   )Encode)partialc                     	 t        j                  | d      S #  t        j                  | t        j                        cY S xY w)NT)use_bin_type)protocol)r   packbpickledumpsHIGHEST_PROTOCOL)xs    ,lib/python3.12/site-packages/partd/python.pyr   r      s8    A}}QT22A||A(?(?@@s	    'Ac                     	 t         j                  dk\  rddi}nddi}t        j                  | fi |S #  t        j                  |       cY S xY w)N)r         rawFencodingzutf-8)r   versionunpackbr   loads)r   unpack_kwargss     r   r   r      sO    ??i'"ENM'1Mq2M22||As	   14 Ac                     t        | g       S )N)sum)listss    r   concatr   '   s    ub>    )__doc__r   pandasr   ImportErrorencoder   	functoolsr   r   r   r   Python r   r   <module>r%      so      A 
v	.A   s/   / A
:A
AA
AA
	A
