Ë
    ¤ehQ  ã                  ól  — d Z ddlmZ ddlmZ ddlZddlZddlZddlmZ ddlZddl	Z	ddl
Z
ddlmZ ddlZddlZddlZddlmZ ddlZddlZddlZddlZddlmZmZ dd	lmZ dd
lmZ ddlmc m Z! ddl"Z#ddl"m$Z$m%Z%m&Z&m'Z' ddl(m)Z* ddl+m,Z, ddl-m	c m.Z/ ddl0m1Z1m2Z2 d„ Z3ejh                  jk                  ddd e6d«       e7d«       ejp                  d«       edg d¢«       e7d«      js                  dd«       e7d«      js                  dd«      ddd…    ejt                  d«      jw                  dd¬«       ejt                  d«      jw                  dd¬«       ejt                  d«      jw                  dd¬«      dd…ddd…f   g«      d„ «       Z<d„ Z=d„ Z>d„ Z?dUd „Z@ejh                  jk                  d! ej‚                  e>d"¬#«       ej‚                  e#j„                  d$¬#«       ej‚                   ej                  e#j„                  ej†                  ¬%«      d&¬#«       ej‚                   ej                  e#j„                  d'¬%«      d(¬#«       ej‚                   ej                  e#j„                  d)¬%«      d*¬#«      g«      ejh                  jk                  d+e#j„                  e>g«      ejh                  jk                  d, e@ e,«       «      «      d-„ «       «       «       ZDd.„ ZEd/„ ZFejŽ                  d0„ «       ZH G d1„ d2«      ZI G d3„ d4«      ZJejh                  jk                  d5d6gd7 e%g d8¢«      fd9e#j–                  j™                  g d8¢g d:¢g«      fg«      d;„ «       ZMd<„ ZNejh                  jk                  d=g d>¢«      d?„ «       ZOd@„ ZP G dA„ dBej¢                  «      ZRdC„ ZSdD„ ZTdE„ ZUdF„ ZVejh                  jk                  dGdHdIdG ej
                  dJdKdK«      dLg«      dM„ «       ZWdN„ ZXdO„ ZYe!j´                  dP„ «       Z[ejh                  jk                  dQej¸                  ej†                  g«      dR„ «       Z]dS„ Z^dT„ Z_y)Va<  
manage legacy pickle tests

How to add pickle tests:

1. Install pandas version intended to output the pickle.

2. Execute "generate_legacy_storage_files.py" to create the pickle.
$ python generate_legacy_storage_files.py <output_dir> pickle

3. Move the created pickle to "data/legacy_pickle/<version>" directory.
é    )Úannotations)ÚarrayN)Úpartial)ÚPath)ÚAny)Úget_lzma_fileÚis_platform_little_endian)Úimport_optional_dependency)Úflatten_buffer)Ú	DataFrameÚIndexÚSeriesÚperiod_range)Úcreate_pickle_data)ÚDayÚMonthEndc                ób  — t        |t        «      rt        j                  || «       y |j	                  d«      rt        j
                  | |«       y |dk(  r/|t        j                  u r| t        j                  u s
J ‚| |k(  sJ ‚y y t        t        d|› d�t        j                  «      } || |«       y )NÚsp_Ú	timestampÚassert_Ú_equal)
Ú
isinstancer   ÚtmÚassert_index_equalÚ
startswithÚassert_equalÚpdÚNaTÚgetattrÚassert_almost_equal)ÚresultÚexpectedÚtypÚ
comparators       úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/io/test_pickle.pyÚcompare_elementr&   >   s›   € Ü�(œEÔ"Ü
×Ñ˜h¨Ô/Øà
‡~�~�eÔÜ
�‰˜ Õ)Ø	�Ò	Ø”r—v‘vÑØœRŸV™VÑ#Ð#Ð#à˜XÒ%Ð%Ñ%ð $ô œR 7¨3¨%¨vÐ!6¼×8NÑ8NÓOˆ
Ù�6˜8Õ$ó    Údatas   123s   123456ÚI©é   é   é   ÚB)r-   r,   r,   é   )r-   é   ÚC)ÚorderÚFc                óP  — t        | «      }t        | «      j                  d«      }||k(  sJ ‚t        | t        t
        f«      r|| u sJ ‚y t        |t        «      rM|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  sJ ‚|j                  |j                  fk(  sJ ‚y y )NÚAr+   r.   )r   Ú
memoryviewÚtobytesr   ÚbytesÚ	bytearrayÚndimÚformatÚ
contiguousÚshapeÚnbytes)r(   r!   r"   s      r%   Útest_flatten_bufferr?   T   s§   € ô" ˜DÓ!€FÜ˜$Ó×'Ñ'¨Ó,€HØ�XÒÐÐÜ�$œ¤	Ð*Ô+Ø˜‰~Ð‰~Ü	�FœJÔ	'Ø�{‰{˜aÒÐÐØ�}‰} Ò#Ð#Ð#Ø× Ò Ð Ð Ø�|‰| §¡Ð/Ò/Ð/Ñ/ð	 
(r'   c           	     óò  — t        «       st        j                  d«       t        t        «      j
                  j                  d«      D �]¬  } | |«      }t        j                  |«      }|j                  «       D �]x  \  }}|j                  «       D �]^  \  }}||   |   }|dk(  �r_|dk(  �rYt        j                  ||«       |j                  j                  |j                  j                  k(  sJ ‚|j                  j                  j                  rJ ‚t        j                  |dkD  |dkD  «       |j                  j                  }|t        d«      z   t        d«      k(  sJ ‚|t        j                   d¬«      z   }	t#        |	t        j                   «      sJ ‚|	t        j                   dd¬	«      k(  sJ ‚|t        j                   d¬
«      z   }	t#        |	t        j                   «      sJ ‚|	t        j                   dd¬«      k(  r�ŒrJ ‚|dk(  r—|dk(  r’t        j$                  ||«       t#        |j                  t&        «      sJ ‚|j                  t'        «       k(  sJ ‚|j(                  dk(  sJ ‚t        j$                  |j+                  d«      |j+                  d«      «       �Œ|dk(  r|dv rt        j                  ||«       �Œ1|dk(  r|dv rt        j,                  ||«       �ŒRt/        |||«       �Œa �Œ{ �Œ¯ y )Nz"known failure on non-little endianzdata/legacy_pickle/*/*.p*kl*ÚseriesÚtsr   r+   r,   )Úhours)ÚdaysrC   )Únanoseconds)rD   rE   ÚindexÚperiodÚM)Údt_tzÚcatÚframe)Údt_mixed_tzsÚ
cat_onecolÚcat_and_float)r	   ÚpytestÚskipr   Ú__file__ÚparentÚglobr   Úread_pickleÚitemsr   Úassert_series_equalrF   ÚfreqÚ	normalizer   Ú	Timedeltar   r   r   ÚfreqstrÚshiftÚassert_frame_equalr&   )
ÚdatapathÚlegacy_pickler(   r#   ÚdvÚdtr!   r"   rW   Úress
             r%   Útest_picklesrb   q   sw  € Ü$Ô&Ü�‰Ð8Ô9ô œh›×.Ñ.×3Ñ3Ð4RÓSó *;ˆÙ  Ó/ˆä�~‰~˜mÓ,ˆà—z‘z“|ó %	;‰GˆC�Ø Ÿh™h›jó $;‘
��FØ ™9 R™=�à˜(“? r¨T£zä×*Ñ*¨6°8Ô<Ø!Ÿ<™<×,Ñ,°·±×0CÑ0CÒCÐCÐCØ%Ÿ|™|×0Ñ0×:Ò:Ð:Ð:Ü×*Ñ*¨6°A©:°xÀ!±|ÔDð "Ÿ<™<×,Ñ,�DØ¤# a£&™=¬C°«FÒ2Ð2Ð2à¤§¡°AÔ!6Ñ6�CÜ% c¬2¯<©<Ô8Ð8Ð8Ø¤"§,¡,°A¸QÔ"?Ò?Ð?Ð?à¤§¡¸!Ô!<Ñ<�CÜ% c¬2¯<©<Ô8Ð8Ð8Ø¤"§,¡,°AÀ1Ô"EÔEÐEÐEØ˜G’^¨¨hªÜ×)Ñ)¨&°(Ô;Ü% f§k¡k´8Ô<Ð<Ð<Ø!Ÿ;™;¬(«*Ò4Ð4Ð4Ø!Ÿ>™>¨SÒ0Ð0Ð0Ü×)Ñ)¨&¯,©,°q«/¸8¿>¹>È!Ó;LÖMØ˜H’_¨Ð/?Ñ)?Ü×*Ñ*¨6°8Ö<Ø˜G’^¨ð /ñ )ô
 ×)Ñ)¨&°(Ö;ä# F¨H°cÖ:òI$;ò%	;ñ*;r'   c                óv   — t        |d«      5 }t        j                  | |d¬«       d d d «       y # 1 sw Y   y xY w©NÚwbéÿÿÿÿ©Úprotocol©ÚopenÚpickleÚdump©ÚobjÚpathÚfhs      r%   Úpython_picklerrq   £   s3   € Ü	ˆd�DÓ	ð *˜RÜ�‰�C˜ bÕ)÷*÷ *ñ *úó   �/¯8c                ó’   — t        | d«      5 }|j                  d«       t        j                  |«      cd d d «       S # 1 sw Y   y xY w)NÚrbr   )rj   Úseekrk   Úload)ro   rp   s     r%   Úpython_unpicklerrw   ¨   s9   € Ü	ˆd�DÓ	ð ˜RØ
�‰�Œ
Ü�{‰{˜2‹÷÷ ò ús	   �&=½Ac                óˆ   — | j                  «       D ���cg c]  \  }}|j                  «       D ]  }||f‘Œ Œ  c}}}S c c}}}w )zFlatten create_pickle_data)rU   Úvalues)r(   r#   ÚexamplesÚexamples       r%   Úflattenr|   ®   sS   € ð "ŸZ™Z›\÷ð áˆC�Ø—‘Ó(òð ð 
ˆgŠðØôð ùô s   •#=Úpickle_writerÚpython)ÚidÚpandas_proto_defaultrg   Úpandas_proto_highestr0   Úpandas_proto_4é   Úpandas_proto_5Úwriterztyp, expectedc                óþ  — t        j                  «       5 } |||«       t        j                  |«      }t	        ||| «       t        |«      }t	        ||| «       t        |d¬«      5 } |||«       |j                  d«       d d d «       t        |d¬«      5 }t        j                  |«      }|j                  d«       d d d «       t	        ||| «       d d d «       y # 1 sw Y   Œ[xY w# 1 sw Y   Œ+xY w# 1 sw Y   y xY w)Nre   ©Úmoder   rt   )r   Úensure_cleanr   rT   r&   rw   rj   ru   )r#   r"   r}   r…   ro   r!   Úhandles          r%   Útest_round_trip_currentr‹   ·   sè   € ô& 
�‰Ó	ð /˜dá�h Ô%ô —‘ Ó%ˆÜ˜ ¨#Ô.ä! $Ó'ˆÜ˜ ¨#Ô.ô �$˜TÔ"ð 	 fÙ�8˜TÔ"Ø�K‰K˜ŒN÷	ô �$˜TÔ"ð 	 fÜ—^‘^ FÓ+ˆFØ�K‰K˜ŒN÷	ô 	˜ ¨#Ô.÷%/ð /÷	ð 	ú÷	ð 	ú÷/ð /ús<   •AC3Á&CÂC3Â'C'Â=C3ÃC$	Ã C3Ã'C0	Ã,C3Ã3C<c                 ó~  — t        dt        j                  d«      j                  d«      z  t	        t        d«      t        ¬«      t	        t        d«      D � cg c]  } d| › �‘Œ	 c} t        ¬«      ¬«      }t        j                  |j                  t        j                  «      }t        j                  ||«       y c c} w ©	Nçš™™™™™ñ?éx   ©é   r0   ÚABCD©Údtyper‘   úi-©ÚcolumnsrF   )r   ÚnpÚarangeÚreshaper   ÚlistÚobjectÚranger   Úround_trip_pathlibÚ	to_pickler   rT   r\   ©ÚiÚdfr!   s      r%   Útest_pickle_path_pathlibr£   ß   s…   € Ü	ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü”d˜6“l¬&Ô1Ü¤u¨R£yÖ1 !�r˜!˜’XÒ1¼Ô@ô
€Bô
 ×"Ñ" 2§<¡<´·±Ó@€FÜ×Ñ˜"˜fÕ%ùò 2ó   ÁB:c                 ó~  — t        dt        j                  d«      j                  d«      z  t	        t        d«      t        ¬«      t	        t        d«      D � cg c]  } d| › �‘Œ	 c} t        ¬«      ¬«      }t        j                  |j                  t        j                  «      }t        j                  ||«       y c c} w r�   )r   r˜   r™   rš   r   r›   rœ   r�   r   Úround_trip_localpathrŸ   r   rT   r\   r    s      r%   Útest_pickle_path_localpathr§   é   s…   € Ü	ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü”d˜6“l¬&Ô1Ü¤u¨R£yÖ1 !�r˜!˜’XÒ1¼Ô@ô
€Bô
 ×$Ñ$ R§\¡\´2·>±>ÓB€FÜ×Ñ˜"˜fÕ%ùò 2r¤   c                 ó2   — dt        j                  «       › d�S )NÚ__z	__.pickle)ÚuuidÚuuid4© r'   r%   Úget_random_pathr­   ø   s   € à”—
‘
“ˆ~˜YÐ'Ð'r'   c                  óŠ   — e Zd Zej                  Zd„ Zd„ Zej                  j                  dg d¢«      d„ «       Zd„ Zd„ Zd„ Zy	)
ÚTestCompressionc                óú  — |€t        j                  ||«       y |dk(  rt        j                  |d«      }�nE|dk(  rt	        j
                  |d«      }�n(|dk(  r_t        j                  |dt        j                  ¬«      5 }|j                  |t        j                  j                  |«      «       d d d «       nÄ|dk(  rwt        |d«      5 }t        j                  |d¬«      5 }|j                  |t        j                  j                  |«      «      }|j                  ||«       d d d «       d d d «       nH|d	k(  r t!        «       |d«      }n1|d
k(  rt#        d«      j                  |d«      }nd|› �}t%        |«      ‚|dvr@t        |d«      5 }5  |j                  |j'                  «       «       d d d «       d d d «       y y # 1 sw Y   ŒNxY w# 1 sw Y   Œ«xY w# 1 sw Y   ŒfxY w# 1 sw Y   Œ7xY w# 1 sw Y   y xY w)NÚgzipÚwÚbz2Úzip©ÚcompressionÚtarrt   r‡   ÚxzÚzstdÚ	zstandardre   zUnrecognized compression type: )r´   r·   )ÚshutilÚcopyfiler±   rj   r³   ÚBZ2FileÚzipfileÚZipFileÚZIP_DEFLATEDÚwriteÚosro   ÚbasenameÚtarfileÚ
gettarinfoÚaddfiler   r
   Ú
ValueErrorÚread)	ÚselfÚsrc_pathÚ	dest_pathr¶   Úfrp   r·   ÚtarinfoÚmsgs	            r%   Úcompress_filezTestCompression.compress_file   sÍ  € ØÐÜ�O‰O˜H iÔ0Øà˜&Ò Ü—	‘	˜) SÓ)ŠAØ˜EÒ!Ü—‘˜I sÓ+ŠAØ˜EÒ!Ü—‘ ¨C¼W×=QÑ=QÔRð >ÐVWØ—‘˜¤"§'¡'×"2Ñ"2°8Ó"<Ô=÷>ð >à˜EÒ!Ü�h Ó%ð -¨Ü—\‘\ )°#Ô6ð -¸#Ø!Ÿn™n¨X´r·w±w×7GÑ7GÈÓ7QÓR�GØ—K‘K ¨Ô,÷-÷-ð -ð ˜DÒ Ø”“ 	¨3Ó/‰AØ˜FÒ"Ü*¨;Ó7×<Ñ<¸YÈÓM‰Aà3°K°=ÐAˆCÜ˜S“/Ð!à˜nÑ,Ü�h Ó%ð '¨Øñ 'Ø—G‘G˜BŸG™G›IÔ&÷'÷'ð 'ð -÷>ð >ú÷-ð -ú÷-ð -ú÷'ð 'ú÷'ð 'úsU   Á?0GÃ	GÃ!AGÄ#GÆG1Æ G%Æ/G1ÇG
ÇG	ÇGÇG"Ç%G.	Ç*G1Ç1G:c                ó  — |}|dz   }|dz   }t        j                  |«      5 }t        j                  |«      5 }t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �cg c]  }d	|› �‘Œ	 c}t        ¬«      ¬
«      }	|	j                  ||¬«       t        j                  ||¬«      5 }
t        |d«      5 }|j                  |
j                  «       «       d d d «       d d d «       t        j                   |d ¬«      }t        j"                  |	|«       d d d «       d d d «       y c c}w # 1 sw Y   ŒTxY w# 1 sw Y   ŒXxY w# 1 sw Y   Œ/xY w# 1 sw Y   y xY w)Nú.compressedú.rawrŽ   r�   r�   r’   r“   r‘   r•   r–   rµ   re   )r   r‰   r   r˜   r™   rš   r   r›   rœ   r�   rŸ   Údecompress_filerj   rÁ   rÈ   r   rT   r\   )rÉ   r¶   r­   ÚbaseÚpath1Úpath2Úp1Úp2r¡   r¢   rÌ   rp   Údf2s                r%   Útest_write_explicitz#TestCompression.test_write_explicit  sJ  € ØˆØ�}Ñ$ˆØ�v‘ˆä�_‰_˜UÓ#ð 	+ r¬2¯?©?¸5Ó+Að 	+ÀRÜØ”b—i‘i “n×,Ñ,¨WÓ5Ñ5Üœd 6›l´&Ô9Ü¬u°R«yÖ9¨!˜r ! šXÒ9ÄÔHôˆBð �L‰L˜¨ˆLÔ5ô ×#Ñ# B°KÔ@ð 'ÀAÜ˜"˜d“^ð ' rØ—H‘H˜QŸV™V›XÔ&÷'÷'ô
 —.‘. °Ô6ˆCä×!Ñ! " cÔ*÷%	+÷ 	+ð 	+ùò :÷'ð 'ú÷'ð 'ú÷	+ð 	+ú÷ 	+ð 	+úse   ¢E;¸AE/ÂEÂ<E/ÃE#Ã$ E	ÄE#Ä5E/ÅE;ÅE/ÅE ÅE#Å#E,Å(E/Å/E8	Å4E;Å;Fr¶   )Ú ÚNoneÚbadÚ7zc                óÐ  — t        j                  t        d¬«      5  t        j                  |«      5 }t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �cg c]  }d	|› �‘Œ	 c}t        ¬«      ¬
«      }|j                  ||¬«       d d d «       d d d «       y c c}w # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NzUnrecognized compression type©ÚmatchrŽ   r�   r�   r’   r“   r‘   r•   r–   rµ   )rO   ÚraisesrÇ   r   r‰   r   r˜   r™   rš   r   r›   rœ   r�   rŸ   )rÉ   r¶   r­   ro   r¡   r¢   s         r%   Útest_write_explicit_badz'TestCompression.test_write_explicit_bad7  s·   € ä�]‰]œ:Ð-LÔMñ 	<Ü—‘ Ó1ð <°TÜØœ"Ÿ)™) C›.×0Ñ0°Ó9Ñ9Ü!¤$ v£,´fÔ=Ü´5¸³9Ö =¨a 2 a S¢Ò =ÄVÔLô�ð
 —‘˜T¨{�Ô;÷<÷	<ð 	<ùò
 !>÷	<ð <ú÷	<ð 	<ús5   œC²ACÂ	CÂ%CÂ:CÃCÃC	ÃCÃC%c                ó\  — |}||z   }|dz   }| j                   j                  |j                  «       «      }t        j                  |«      5 }t        j                  |«      5 }t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �	cg c]  }	d|	› �‘Œ	 c}	t        ¬«      ¬	«      }
|
j                  |«       t        j                  ||¬
«      5 }t        |d«      5 }|j!                  |j#                  «       «       d d d «       d d d «       t%        j&                  |d ¬
«      }t        j(                  |
|«       d d d «       d d d «       y c c}	w # 1 sw Y   ŒTxY w# 1 sw Y   ŒXxY w# 1 sw Y   Œ/xY w# 1 sw Y   y xY w)NrÒ   rŽ   r�   r�   r’   r“   r‘   r•   r–   rµ   re   )Ú_extension_to_compressionÚgetÚlowerr   r‰   r   r˜   r™   rš   r   r›   rœ   r�   rŸ   rÓ   rj   rÁ   rÈ   r   rT   r\   )rÉ   Úcompression_extr­   rÔ   rÕ   rÖ   r¶   r×   rØ   r¡   r¢   rÌ   rp   rÙ   s                 r%   Útest_write_inferz TestCompression.test_write_inferB  se  € ØˆØ�Ñ&ˆØ�v‘ˆØ×4Ñ4×8Ñ8¸×9NÑ9NÓ9PÓQˆä�_‰_˜UÓ#ð 	+ r¬2¯?©?¸5Ó+Að 	+ÀRÜØ”b—i‘i “n×,Ñ,¨WÓ5Ñ5Üœd 6›l´&Ô9Ü¬u°R«yÖ9¨!˜r ! šXÒ9ÄÔHôˆBð �L‰L˜Ôô ×#Ñ# B°KÔ@ð 'ÀAÜ˜"˜d“^ð ' rØ—H‘H˜QŸV™V›XÔ&÷'÷'ô
 —.‘. °Ô6ˆCä×!Ñ! " cÔ*÷%	+÷ 	+ð 	+ùò :÷'ð 'ú÷'ð 'ú÷	+ð 	+ú÷ 	+ð 	+úsg   ÁF"Á!AFÂ8E9Ã:FÃ>F
Ä E>	Ä+F
Ä35FÅ(F"Å9FÅ>FÆF
Æ
FÆFÆF	ÆF"Æ"F+c                ó^  — |}|dz   }|dz   }t        j                  |«      5 }t        j                  |«      5 }t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �cg c]  }d	|› �‘Œ	 c}t        ¬«      ¬
«      }	|	j                  |d ¬«       | j                  |||¬«       t        j                  ||¬«      }
t        j                  |	|
«       d d d «       d d d «       y c c}w # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NrÒ   rÑ   rŽ   r�   r�   r’   r“   r‘   r•   r–   rµ   )r   r‰   r   r˜   r™   rš   r   r›   rœ   r�   rŸ   rÏ   r   rT   r\   )rÉ   r¶   r­   rÔ   rÕ   rÖ   r×   rØ   r¡   r¢   rÙ   s              r%   Útest_read_explicitz"TestCompression.test_read_explicit\  s  € ØˆØ�v‘ˆØ�}Ñ$ˆä�_‰_˜UÓ#ð 	+ r¬2¯?©?¸5Ó+Að 	+ÀRÜØ”b—i‘i “n×,Ñ,¨WÓ5Ñ5Üœd 6›l´&Ô9Ü¬u°R«yÖ9¨!˜r ! šXÒ9ÄÔHôˆBð �L‰L˜¨ˆLÔ.ð ×Ñ˜r 2°;ÐÔ?ô —.‘. °Ô=ˆCÜ×!Ñ! " cÔ*÷	+÷ 	+ð 	+ùò :÷		+ð 	+ú÷ 	+ð 	+ús6   ¢D#¸ADÂDÂA&DÄD#ÄDÄD 	ÄD#Ä#D,c                ó¬  — |}|dz   }||z   }| j                   j                  |j                  «       «      }t        j                  |«      5 }t        j                  |«      5 }t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �	cg c]  }	d|	› �‘Œ	 c}	t        ¬«      ¬	«      }
|
j                  |d ¬
«       | j                  |||¬
«       t        j                   |«      }t        j"                  |
|«       d d d «       d d d «       y c c}	w # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NrÒ   rŽ   r�   r�   r’   r“   r‘   r•   r–   rµ   )rå   ræ   rç   r   r‰   r   r˜   r™   rš   r   r›   rœ   r�   rŸ   rÏ   r   rT   r\   )rÉ   rè   r­   rÔ   rÕ   rÖ   r¶   r×   rØ   r¡   r¢   rÙ   s               r%   Útest_read_inferzTestCompression.test_read_inferr  s#  € ØˆØ�v‘ˆØ�Ñ&ˆØ×4Ñ4×8Ñ8¸×9NÑ9NÓ9PÓQˆä�_‰_˜UÓ#ð 	+ r¬2¯?©?¸5Ó+Að 	+ÀRÜØ”b—i‘i “n×,Ñ,¨WÓ5Ñ5Üœd 6›l´&Ô9Ü¬u°R«yÖ9¨!˜r ! šXÒ9ÄÔHôˆBð �L‰L˜¨ˆLÔ.ð ×Ñ˜r 2°;ÐÔ?ô —.‘. Ó$ˆCÜ×!Ñ! " cÔ*÷	+÷ 	+ð 	+ùò :÷		+ð 	+ú÷ 	+ð 	+ús8   ÁE
Á!AD>Â8D9ÃA$D>Ä(E
Ä9D>Ä>E	ÅE
Å
EN)Ú__name__Ú
__module__Ú__qualname__ÚicomÚextension_to_compressionrå   rÏ   rÚ   rO   ÚmarkÚparametrizerã   ré   rë   rí   r¬   r'   r%   r¯   r¯   ý   sN   „ Ø $× =Ñ =Ðò'ò<+ð2 ‡[�[×Ñ˜]Ò,EÓFñ<ó Gð<ò+ò4+ó,+r'   r¯   c                  óT   — e Zd Zej                  j                  dg d¢«      d„ «       Zy)ÚTestProtocolrh   )rf   r   r+   r,   c                óÆ  — t        j                  |«      5 }t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }|j                  ||¬	«       t        j                  |«      }t        j                  ||«       d d d «       y c c}w # 1 sw Y   y xY w)
NrŽ   r�   r�   r’   r“   r‘   r•   r–   rg   )r   r‰   r   r˜   r™   rš   r   r›   rœ   r�   rŸ   r   rT   r\   )rÉ   rh   r­   ro   r¡   r¢   rÙ   s          r%   Ú	test_readzTestProtocol.test_read�  s±   € ä�_‰_˜_Ó-ð 	+°ÜØ”b—i‘i “n×,Ñ,¨WÓ5Ñ5Üœd 6›l´&Ô9Ü¬u°R«yÖ9¨!˜r ! šXÒ9ÄÔHôˆBð
 �L‰L˜¨ˆLÔ1Ü—.‘. Ó&ˆCÜ×!Ñ! " cÔ*÷	+ð 	+ùò :÷		+ð 	+ús   –ACÁ-CÁ9ACÃCÃC N)rî   rï   rð   rO   ró   rô   rø   r¬   r'   r%   rö   rö   �  s%   „ Ø‡[�[×Ñ˜ZªÓ7ñ	+ó 8ñ	+r'   rö   Úpickle_fileÚexcolsztest_py27.pkl)ÚaÚbÚcztest_mi_py27.pkl)r5   r.   r1   c                ó„   —  | ddd|«      }t        j                  |«      }t        j                  |j                  |«       y )NÚior(   rk   )r   rT   r   r   r—   )r]   rù   rú   ro   r¢   s        r%   Útest_unicode_decode_errorr   �  s8   € ñ �D˜& (¨KÓ8€DÜ	�‰˜Ó	€Bô ×Ñ˜"Ÿ*™* fÕ-r'   c                 óD  — t        j                  «       5 } t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }t        | d	«      5 }|j                  |«       d d d «       t        | d
«      5 }t        j                  |«      }d d d «       t        j                  |«       d d d «       y c c}w # 1 sw Y   ŒWxY w# 1 sw Y   Œ9xY w# 1 sw Y   y xY w)NrŽ   r�   r�   r’   r“   r‘   r•   r–   re   rt   )r   r‰   r   r˜   r™   rš   r   r›   rœ   r�   rj   rŸ   r   rT   r\   )ro   r¡   r¢   rp   r!   s        r%   Útest_pickle_buffer_roundtripr  ¶  sí   € Ü	�‰Ó	ð 
*˜dÜØ”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Üœ$˜v›,¬fÔ5Ü¬5°«9Ö5 a˜2˜a˜SšÒ5¼VÔDô
ˆô
 �$˜Óð 	 Ø�L‰L˜Ô÷	ä�$˜Óð 	( Ü—^‘^ BÓ'ˆF÷	(ä
×Ñ˜b &Ô)÷
*ð 
*ùò 6÷	ð 	ú÷	(ð 	(ú÷
*ð 
*úsN   •ADÁ,C9Á8DÂC>Â(DÂ<D
ÃDÃ9DÃ>D	ÄDÄ
D	ÄDÄDÚmockurl)zhttp://url.comzftp://test.comzhttp://gzip.comc                óþ  ‡‡— d„ } G d„ d«      Št        j                  «       5 Šˆˆfd„}t        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬	«      t        t        d
«      D �cg c]  }d|› �‘Œ	 c}t        ¬	«      ¬«      } ||‰«       | j                  d|«       t        j                  |«      }t        j                  ||«       d d d «       y c c}w # 1 sw Y   y xY w)Nc                óv   — t        |d«      5 }t        j                  | |d¬«       d d d «       y # 1 sw Y   y xY wrd   ri   rm   s      r%   rq   z3test_pickle_generalurl_read.<locals>.python_picklerÍ  s3   € Ü�$˜Óð 	. Ü�K‰K˜˜R¨"Õ-÷	.÷ 	.ñ 	.úrr   c                  ó,   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zy)ú5test_pickle_generalurl_read.<locals>.MockReadResponsec                óT   — t        |d«      | _        d|v r
ddi| _        y ddi| _        y )Nrt   r±   zContent-EncodingrÛ   )rj   ÚfileÚheaders)rÉ   ro   s     r%   Ú__init__z>test_pickle_generalurl_read.<locals>.MockReadResponse.__init__Ò  s/   € Ü˜T 4Ó(ˆDŒIØ˜‰~Ø 2°FÐ;�•à 2°BÐ7�•r'   c                ó   — | S ©Nr¬   ©rÉ   s    r%   Ú	__enter__z?test_pickle_generalurl_read.<locals>.MockReadResponse.__enter__Ù  s   € ØˆKr'   c                ó$   — | j                  «        y r  )Úclose)rÉ   Úargss     r%   Ú__exit__z>test_pickle_generalurl_read.<locals>.MockReadResponse.__exit__Ü  s   € Ø�J‰J�Lr'   c                ó6   — | j                   j                  «       S r  )r	  rÈ   r  s    r%   rÈ   z:test_pickle_generalurl_read.<locals>.MockReadResponse.readß  s   € Ø—9‘9—>‘>Ó#Ð#r'   c                ó6   — | j                   j                  «       S r  )r	  r  r  s    r%   r  z;test_pickle_generalurl_read.<locals>.MockReadResponse.closeâ  s   € Ø—9‘9—?‘?Ó$Ð$r'   N©ÚreturnrÜ   )rî   rï   rð   r  r  r  rÈ   r  r¬   r'   r%   ÚMockReadResponser  Ñ  s   „ ó	8ò	ò	ò	$ó	%r'   r  c                 ó   •—  ‰‰«      S r  r¬   )r  Úkwargsr  ro   s     €€r%   Úmock_urlopen_readz6test_pickle_generalurl_read.<locals>.mock_urlopen_readç  s   ø€ Ù# DÓ)Ð)r'   rŽ   r�   r�   r’   r“   r‘   r•   r–   zurllib.request.urlopen)r   r‰   r   r˜   r™   rš   r   r›   rœ   r�   Úsetattrr   rT   r\   )	Úmonkeypatchr  rq   r  r¡   r¢   r!   r  ro   s	          @@r%   Útest_pickle_generalurl_readr  É  sÔ   ù€ ò.÷%ñ %ô( 
�‰Ó	ð *˜dõ	*ô Ø”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Üœ$˜v›,¬fÔ5Ü¬5°«9Ö5 a˜2˜a˜SšÒ5¼VÔDô
ˆñ
 	�r˜4Ô Ø×ÑÐ4Ð6GÔHÜ—‘ Ó(ˆÜ
×Ñ˜b &Ô)÷*ð *ùò 6÷*ð *ús   ¤AC3ÂC.ÂAC3Ã.C3Ã3C<c                 óî  — t        j                  d«       t        j                  «       5  d} t	        dt        j                  d«      j                  d«      z  t        t        d«      t        ¬«      t        t        d«      D �cg c]  }d	|› �‘Œ	 c}t        ¬«      ¬
«      }|j                  | «       t        j                  | «      }t        j                  ||«       d d d «       y c c}w # 1 sw Y   y xY w)NÚfsspeczmemory://mockfilerŽ   r�   r�   r’   r“   r‘   r•   r–   )rO   Úimportorskipr   r‰   r   r˜   r™   rš   r   r›   rœ   r�   rŸ   r   rT   r\   )r  r¡   r¢   r!   s       r%   Útest_pickle_fsspec_roundtripr"  õ  s¼   € Ü
×Ñ˜Ô!Ü	�‰Ó	ñ 	*Ø%ˆÜØ”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Üœ$˜v›,¬fÔ5Ü¬5°«9Ö5 a˜2˜a˜SšÒ5¼VÔDô
ˆð
 	�‰�WÔÜ—‘ Ó(ˆÜ
×Ñ˜b &Ô)÷	*ð 	*ùò
 6÷	*ð 	*ús   ªAC+ÂC&ÂAC+Ã&C+Ã+C4c                  ó   — e Zd Zdd„Zy)ÚMyTzc                 ó   — y r  r¬   r  s    r%   r  zMyTz.__init__  s   € Ør'   Nr  )rî   rï   rð   r  r¬   r'   r%   r$  r$    s   „ ôr'   r$  c                 óÄ   — t        t        ¬«      t        «       f} t        j                  | «      }t        j
                  |d   | d   «       t        |d   t        «      sJ ‚y )Nr“   r   r+   )r   rœ   r$  r   Úround_trip_picklerV   r   )r"   r!   s     r%   Útest_read_pickle_with_subclassr(    sO   € äœFÔ#¤T£VÐ+€HÜ×!Ñ! (Ó+€Fä×Ñ˜6 !™9 h¨q¡kÔ2Ü�f˜Q‘i¤Ô&Ð&Ñ&r'   c                ó¾  — t        dt        j                  d«      j                  d«      z  t	        t        d«      t        ¬«      t	        t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }t        j                  «       5 }|j                  || ¬	«       t        |«      j                  «       }d
d
d
«       t        j                  «       }|j                  || ¬	«       |j                  d«       |j!                  «       k(  s| dv sJ ‚t#        j$                  || ¬	«      }|j                  d«       t        j&                  ||«       y
c c}w # 1 sw Y   ŒžxY w)ze
    Read/write from binary file-objects w/wo compression.

    GH 26237, GH 29054, and GH 29570
    rŽ   r�   r�   r’   r“   r‘   r•   r–   rµ   Nr   )r±   r´   r·   )r   r˜   r™   rš   r   r›   rœ   r�   r   r‰   rŸ   r   Ú
read_bytesrÿ   ÚBytesIOru   Úgetvaluer   rT   r\   )r¶   r¡   r¢   ro   Ú	referenceÚbufferÚread_dfs          r%   Ú%test_pickle_binary_object_compressionr0    s  € ô 
ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü”d˜6“l¬&Ô1Ü¤u¨R£yÖ1 !�r˜!˜’XÒ1¼Ô@ô
€Bô 
�‰Ó	ð ,˜dØ
�‰�T {ˆÔ3Ü˜“J×)Ñ)Ó+ˆ	÷,ô
 �Z‰Z‹\€FØ‡L�L� [€LÔ1Ø
‡K�K�„Nð �?‰?Ó 	Ò)¨[Ð<RÑ-RÐRÐRô �n‰n˜V°Ô=€GØ
‡K�K�„NÜ×Ñ˜"˜gÕ&ùò' 2÷,ð ,ús   ÁEÂ	-EÅEc                óz   — | }|}d„ } ||«        ||j                   «        ||«        ||j                   «       y )Nc                óZ   — t        j                  | «      }t        j                  | |«       y r  )r   r'  r\   )rK   Ú	unpickleds     r%   Ú_test_roundtripzDtest_pickle_dataframe_with_multilevel_index.<locals>._test_roundtrip7  s"   € Ü×(Ñ(¨Ó/ˆ	Ü
×Ñ˜e YÕ/r'   )ÚT)Ú/multiindex_year_month_day_dataframe_random_dataÚ multiindex_dataframe_random_dataÚymdrK   r4  s        r%   Ú+test_pickle_dataframe_with_multilevel_indexr9  0  s=   € ð :€CØ,€Eò0ñ �EÔÙ�E—G‘GÔÙ�CÔÙ�C—E‘EÕr'   c                 ó  — t        ddd¬«      } t        t        j                  j	                  d«      j                  t        | «      «      | «      }t        j                  |«      }|j                  j                  dk(  sJ ‚y )Nz1/1/2011z1/1/2012rH   )rW   r,   )r   r   r˜   ÚrandomÚdefault_rngÚstandard_normalÚlenr   r'  rF   rZ   )ÚprngrB   Únew_tss      r%   Ú"test_pickle_timeseries_periodindexrA  A  sb   € ä˜
 J°SÔ9€DÜ	”—	‘	×%Ñ% aÓ(×8Ñ8¼¸T»ÓCÀTÓ	J€BÜ×!Ñ! "Ó%€FØ�<‰<×Ñ 3Ò&Ð&Ñ&r'   Únamei	  g     Hˆ@iÑ  é   )r+   r,   c                ó¬   — t        j                  t        t        j                  dt        j
                  ¬«      | ¬«      «      }|j                  | k(  sJ ‚y )Né
   r“   )rB  )r   r'  r   r˜   r™   Úfloat64rB  )rB  r3  s     r%   Útest_pickle_preserve_namerG  I  s=   € ô ×$Ñ$¤V¬B¯I©I°bÄÇ
Á
Ô,KÐRVÔ%WÓX€IØ�>‰>˜TÒ!Ð!Ñ!r'   c                óZ   — t        j                  | «      }t        j                  || «       y r  ©r   r'  rV   )Údatetime_seriesÚunp_tss     r%   Útest_pickle_datetimesrL  Q  s"   € Ü×!Ñ! /Ó2€FÜ×Ñ˜6 ?Õ3r'   c                óZ   — t        j                  | «      }t        j                  || «       y r  rI  )Ústring_seriesÚ
unp_seriess     r%   Útest_pickle_stringsrP  V  s"   € Ü×%Ñ% mÓ4€JÜ×Ñ˜: }Õ5r'   c                 ód  — t        t        d«      «      j                  d«      j                  dg   } t	        j
                  | «      }|j                  j                  d   j                  dk(  sJ ‚|j                  j                  d   j                  dk(  sJ ‚t	        j                  |dg   | «       y )NÚabcÚcategoryr   r+   )r+   T)r   r›   ÚastypeÚilocr   r'  Ú_mgrÚblocksr:   r=   rV   )Úserra   s     r%   Ú test_pickle_preserves_block_ndimrY  [  s”   € ô ”�e“Ó
×
$Ñ
$ ZÓ
0×
5Ñ
5°q°cÑ
:€CÜ
×
Ñ
˜sÓ
#€Cà�8‰8�?‰?˜1Ñ×"Ñ" aÒ'Ð'Ð'Ø�8‰8�?‰?˜1Ñ×#Ñ# tÒ+Ð+Ð+ô ×Ñ˜3 ˜v™;¨Õ,r'   rh   c                óâ   — t        t        d«      «      }t        j                  t	        |j
                  | |¬«      t	        t        j                  |¬«      «      }t        j                  ||«       y )Ni † )rh   r¶   rµ   )	r   r�   r   rž   r   rŸ   r   rT   r\   )rh   r¶   r¢   r!   s       r%   Ú%test_pickle_big_dataframe_compressionr[  h  sR   € ô 
”5˜“=Ó	!€BÜ×"Ñ"Ü�—‘ x¸[ÔIÜ”—‘¨KÔ8ó€Fô ×Ñ˜"˜fÕ%r'   c                óü   —  | t        t        «      j                  dddd«      }t        |d«      5 }t	        j
                  |«      }d d d «       t        g g ¬«      }t        j                  |«       y # 1 sw Y   Œ-xY w)Nr(   r^   z1.2.4zempty_frame_v1_2_4-GH#42345.pklrt   )rF   r—   )	r   rQ   rR   rj   rk   rv   r   r   r\   )r]   ro   Úfdr¢   r"   s        r%   Ú#test_pickle_frame_v124_unpickle_130r^  s  ss   € áÜŒX‹×ÑØØØØ)ó€Dô 
ˆd�DÓ	ð ˜RÜ�[‰[˜‹_ˆ÷ô ˜r¨2Ô.€HÜ×Ñ˜"˜hÕ'÷	ð ús   °A2Á2A;c                 óÒ   — t        dg d¢i«      } d}t        j                  t        |¬«      5  t	        j
                  «       }| j                  |d«       d d d «       y # 1 sw Y   y xY w)Nrû   r*   zpStarting with pandas version 3.0 all arguments of to_pickle except for the argument 'path' will be keyword-only.rà   Úinfer)r   r   Úassert_produces_warningÚFutureWarningrÿ   r+  rŸ   )r¢   rÎ   r.  s      r%   Ú test_pickle_pos_args_deprecationrc  ƒ  s[   € ä	�CšÐ#Ó	$€Bð	1ð ô 
×	#Ñ	#¤M¸Ô	=ñ &Ü—‘“ˆØ
�‰�V˜WÔ%÷&÷ &ñ &ús   ­'AÁA&)r(   Údictr  zlist[tuple[str, Any]])`Ú__doc__Ú
__future__r   r   r³   ÚdatetimeÚ	functoolsr   r±   rÿ   rÂ   Úpathlibr   rk   r»   rÄ   Útypingr   rª   r¾   Únumpyr˜   rO   Úpandas.compatr   r	   Úpandas.compat._optionalr
   Úpandas.compat.compressorsr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr   r   r   r   r   Úpandas._testingÚ_testingr   Ú-pandas.tests.io.generate_legacy_storage_filesr   Úpandas.io.commonÚcommonrñ   Úpandas.tseries.offsetsr   r   r&   ró   rô   r9   r6   ÚPickleBufferÚcastr™   rš   r?   rb   rq   rw   r|   ÚparamrŸ   ÚHIGHEST_PROTOCOLr‹   r£   r§   Úfixturer­   r¯   rö   Ú
MultiIndexÚfrom_arraysr   r  r  r"  Útzinfor$  r(  r0  r9  rA  rG  rL  rP  Úskip_array_manager_invalid_testrY  ÚDEFAULT_PROTOCOLr[  r^  rc  r¬   r'   r%   ú<module>r„     s+  ðñõ #å Û 
Û Û Ý Û Û 	Û 	Ý Û Û Û Ý Û Û ã Û ÷õ ?Ý 4ß )Ð )ã ÷ó õ Ý Lç Ð ÷ò%ð, ‡�×ÑØ
àØÙ�&ÓÙ�6ÓØˆ×Ñ˜FÓ#Ùˆc’9ÓÙ�9Ó×"Ñ" 3¨Ó/Ù�9Ó×"Ñ" 3¨Ó/±°!°Ñ4Øˆ�	‰	�"‹×Ñ˜f¨CÐÓ0Øˆ�	‰	�"‹×Ñ˜f¨CÐÓ0Øˆ�	‰	�"‹×Ñ˜f¨CÐÓ0²±C°a°C°Ñ8ðóñ 
0ó!ð 
0ò/;òd*ò
óð ‡�×ÑØàˆ�‰�^¨Ô1Øˆ�‰�R—\‘\Ð&<Ô=Øˆ�‰ØˆI×Ñ˜bŸl™l°V×5LÑ5LÔMØ%ô	
ð 	ˆ�‰Ð&�Y×&Ñ& r§|¡|¸aÔ@ÐEUÔVØˆ�‰ØˆI×Ñ˜bŸl™l°QÔ7Øô	
ðóð  ‡�×Ñ˜ B§L¡L°.Ð#AÓBØ‡�×Ñ˜©'Ñ2DÓ2FÓ*GÓHñ/ó Ió Có!ð$/ò,&ò&ð ‡�ñ(ó ð(÷J+ñ J+÷d+ñ +ð ‡�×ÑØ�HÐà	™%¢Ó0Ð1àØ�M‰M×%Ñ%¢ºÐ&HÓIð	
ðó	ñ.ó	ð.ò*ð& ‡�×ÑØÒFóñ&*óð&*òR*ôˆ8�?‰?ô ò
'ò'ò>ò"'ð ‡�×ÑØ
ˆS�%˜Ð!2 ×!2Ñ!2°4¸¸RÓ!@À&ÐIóñ"óð"ò
4ò
6ð
 ×#Ñ#ñ	-ó $ð	-ð ‡�×Ñ˜ f×&=Ñ&=¸v×?VÑ?VÐ%WÓXñ&ó Yð&ò(ó 	&r'   