§
    X˜¶f  ã                   óÆ   — d dl Z d dlZd dlZ G d„ d¦  «        Z	  G d„ de¦  «        Z G d„ de¦  «        Z G d„ d	e¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        Z	dS )é    Nc            	       óÈ   — e Zd ZdZdej        ddfd„Zej        fdede	j
        deddfd	„Zde	j        de	j        fd
„Z	 ej        fde	j        dedefd„Zdede	j        fd„ZdS )ÚBaseSerializerzúThis is the base interface for all default serializers.

    BaseSerializer.load and BaseSerializer.dump will
    default to pickle.load and pickle.dump. This is currently
    used only by FileSystemCache which dumps/loads to/from a file stream.
    ÚeÚreturnNc                 ó4   — t          j        d|› �¦  «         d S )Nz:An exception has been raised during a pickling operation: )ÚloggingÚwarning)Úselfr   s     úH/var/www/piapp/venv/lib/python3.11/site-packages/cachelib/serializers.pyÚ_warnzBaseSerializer._warn   s+   € ÝŒØLÈÐLÐLñ	
ô 	
ð 	
ð 	
ð 	
ó    ÚvalueÚfÚprotocolc                 ó°   — 	 t          j        |||¦  «         d S # t           j        t           j        f$ r }|                      |¦  «         Y d }~d S d }~ww xY w©N)ÚpickleÚdumpÚPickleErrorÚPicklingErrorr   )r
   r   r   r   r   s        r   r   zBaseSerializer.dump   sf   € ð	ÝŒK˜˜q (Ñ+Ô+Ð+Ð+Ð+øÝÔ"¥FÔ$8Ð9ð 	ð 	ð 	Ø�JŠJ�q‰MŒMˆMˆMˆMˆMˆMˆMˆMøøøøð	øøøs   ‚ šAµAÁAc                 ó”   — 	 t          j        |¦  «        }|S # t           j        $ r }|                      |¦  «         Y d }~d S d }~ww xY wr   )r   Úloadr   r   )r
   r   Údatar   s       r   r   zBaseSerializer.load   s[   € ð	Ý”;˜q‘>”>ˆDð
 ˆKøõ	 Ô!ð 	ð 	ð 	Ø�JŠJ�q‰MŒMˆMØ�4�4�4�4�4øøøøð	øøøó   ‚ ˜A§AÁAc                 ó®   — 	 t          j        ||¦  «        }n=# t           j        t           j        f$ r}|                      |¦  «         Y d }~nd }~ww xY w|S r   )r   Údumpsr   r   r   )r
   r   r   Ú
serializedr   s        r   r   zBaseSerializer.dumps)   sc   € ð	Ýœ e¨XÑ6Ô6ˆJˆJøÝÔ"¥FÔ$8Ð9ð 	ð 	ð 	Ø�JŠJ�q‰MŒMˆMˆMˆMˆMˆMˆMøøøøð	øøøàÐs   ‚ ˜A³AÁAÚbvaluec                 ó”   — 	 t          j        |¦  «        }|S # t           j        $ r }|                      |¦  «         Y d }~d S d }~ww xY wr   )r   Úloadsr   r   )r
   r   r   r   s       r   r    zBaseSerializer.loads0   s]   € ð	Ý”< Ñ'Ô'ˆDð
 ˆKøõ	 Ô!ð 	ð 	ð 	Ø�JŠJ�q‰MŒMˆMØ�4�4�4�4�4øøøøð	øøør   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   ÚHIGHEST_PROTOCOLÚintÚ_tÚIOr   ÚBinaryIOÚAnyr   Úbytesr   r    © r   r   r   r      s  € € € € € ðð ð
�vÔ)ð 
¨dð 
ð 
ð 
ð 
ð 5;Ô4Kðð ØðØœUðØ.1ðà	ðð ð ð ð�b”kð  b¤fð ð ð ð ðð
 4:Ô3Jð ð ˜2œ6ð ¨Sð Èuð ð ð ð ð˜Eð  b¤fð ð ð ð ð ð r   r   c                   ó   — e Zd ZdZdS )ÚUWSGISerializerz"Default serializer for UWSGICache.N©r!   r"   r#   r$   r,   r   r   r.   r.   C   s   € € € € € Ø,Ð,Ð,Ð,r   r.   c                   ó   — e Zd ZdZdS )ÚSimpleSerializerz#Default serializer for SimpleCache.Nr/   r,   r   r   r1   r1   G   s   € € € € € Ø-Ð-Ð-Ð-r   r1   c                   ó   — e Zd ZdZdS )ÚFileSystemSerializerz'Default serializer for FileSystemCache.Nr/   r,   r   r   r3   r3   K   s   € € € € € Ø1Ð1Ð1Ð1r   r3   c                   ón   — e Zd ZdZej        fdej        dede	fd„Z
dej        e	         dej        fd„ZdS )ÚRedisSerializerz"Default serializer for RedisCache.r   r   r   c                 ó2   — dt          j        ||¦  «        z   S )zADumps an object into a string for redis, using pickle by default.ó   !)r   r   )r
   r   r   s      r   r   zRedisSerializer.dumpsR   s   € à•f”l 5¨(Ñ3Ô3Ñ3Ð3r   c                 óÞ   — |€dS |                      d¦  «        r3	 t          j        |dd…         ¦  «        S # t          j        $ r Y dS w xY w	 t	          |¦  «        S # t
          $ r |cY S w xY w)úUThe reversal of :meth:`dump_object`. This might be called with
        None.
        Nr7   é   )Ú
startswithr   r    r   r&   Ú
ValueError)r
   r   s     r   r    zRedisSerializer.loadsV   s›   € ð ˆ=Ø�4Ø×Ò˜DÑ!Ô!ð 	ðÝ”| E¨!¨"¨"¤IÑ.Ô.Ð.øÝÔ%ð ð ð Ø�t�tðøøøð	Ý�u‘:”:ÐøÝð 	ð 	ð 	àˆLˆLˆLð	øøøs!   ›7 ·A
Á	A
ÁA ÁA,Á+A,N)r!   r"   r#   r$   r   r%   r'   r*   r&   r+   r   ÚOptionalr    r,   r   r   r5   r5   O   s{   € € € € € Ø,Ð,à39Ô3Jð 4ð 4˜2œ6ð 4¨Sð 4Èuð 4ð 4ð 4ð 4ð˜2œ; uÔ-ð °"´&ð ð ð ð ð ð r   r5   c                   ó@   ‡ — e Zd ZdZdej        dej        fˆ fd„Zˆ xZS )ÚDynamoDbSerializerz%Default serializer for DynamoDbCache.r   r   c                 óT   •— |j         }t          ¦   «                              |¦  «        S )r9   )r   Úsuperr    )r
   r   Ú	__class__s     €r   r    zDynamoDbSerializer.loadsk   s"   ø€ ð ”ˆÝ‰wŒw�}Š}˜UÑ#Ô#Ð#r   )r!   r"   r#   r$   r'   r*   r    Ú__classcell__)rB   s   @r   r?   r?   h   sU   ø€ € € € € Ø/Ð/ð$˜2œ6ð $ b¤fð $ð $ð $ð $ð $ð $ð $ð $ð $ð $r   r?   )
r   r   Útypingr'   r   r.   r1   r3   r5   r?   r,   r   r   ú<module>rE      s-  ðØ €€€Ø €€€Ø Ð Ð Ð ð1ð 1ð 1ð 1ð 1ñ 1ô 1ð 1ðhð-ð -ð -ð -ð -�nñ -ô -ð -ð.ð .ð .ð .ð .�~ñ .ô .ð .ð2ð 2ð 2ð 2ð 2˜>ñ 2ô 2ð 2ðð ð ð ð �nñ ô ð ð2$ð $ð $ð $ð $˜ñ $ô $ð $ð $ð $r   