Ë
    êñiù.  ã            	       ó   — d dl Z d dlZd dlZd dlZd dlZd dlZd dl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mZ d dlmc mZ e
j*                  j-                  d ej.                  dg d¢g d¢gz  g d¢¬«       ej0                  dg d¢z  d	¬
«      g«      e
j*                  j-                  dg d¢«      d„ «       «       Ze
j*                  j-                  d ej.                  dg d¢g d¢gz  g d¢¬«       ej0                  dg d¢z  d	¬
«      g«      e
j*                  j-                  dddg«      d„ «       «       Ze
j*                  j-                  ddddiej6                  fdi ej8                  fdi ej:                  fg«      d„ «       Ze
j*                  j-                  dddddœej6                  ddifdi ej8                  ddifdi ej:                  i fg«      d„ «       Zd„ Z d„ Z!d„ Z"d „ Z#e
j*                  jH                  d!„ «       Z%e
j*                  jH                  d"„ «       Z&e
j*                  j-                  d ej.                  dg d¢g d¢gz  g d¢¬«       ej0                  dg d¢z  d	¬
«      g«      e
j*                  j-                  dg d¢«      d#„ «       «       Z'e
j*                  j-                  d ej.                  dg d¢g d¢gz  g d¢¬«       ej0                  dg d¢z  d	¬
«      g«      e
j*                  j-                  dg d¢«      d$„ «       «       Z(e
j*                  j-                  d ej.                  dg d¢g d¢gz  g d¢¬«       ej0                  dg d¢z  d	¬
«      g«      e
j*                  j-                  dg d¢«      d%„ «       «       Z)e
j*                  j-                  d&d'ejT                  fd(ejV                  fg«      d)„ «       Z,d*„ Z-d+„ Z.d,„ Z/d-„ Z0y).é    N)Úis_platform_windowsÚobjéd   ©g¿¶~úÏš¿?g9DÜœJÎ?g>éD‚)â?©gÜ.4×i¤(@g33333þ@gÍÌÌÌ¤œA©ÚXÚYÚZ©Úcolumnsr	   ©ÚnameÚmethod)Ú	to_pickleÚto_jsonÚto_csvc                 óö   — |dk(  rdddœ}|} t        | |«      ||¬«       t        j                  j                  |«      } t        | |«      |d ¬«       t        j                  j                  |«      }||kD  sJ ‚y )NÚtarúw:gz©r   Úmode©Úcompression©ÚgetattrÚosÚpathÚgetsize)r   r   Úcompression_onlyÚ	temp_filer   Úcompressed_sizeÚuncompressed_sizes          úb/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/pandas/tests/io/test_compression.pyÚtest_compression_sizer%      sv   € ð ˜5Ò Ø&+°VÑ<Ðà€DØ„GˆC�Ó˜Ð+;Õ<Ü—g‘g—o‘o dÓ+€OØ„GˆC�Ó˜¨4Õ0ÜŸ™Ÿ™¨Ó-ÐØ˜Ò.Ð.Ñ.ó    r   r   c                 ó˜  — |}t        j                  ||dk(  rdnd|¬«      5 } t        | |«      |j                  «       |j                  j                  rJ ‚	 d d d «       t
        j                  j                  |«      }|j                  |j                  › d|j                  › �z  }|j                  «        t        j                  |dd ¬«      5 } t        | |«      |j                  «       |j                  j                  rJ ‚	 d d d «       t
        j                  j                  |«      }||kD  sJ ‚y # 1 sw Y   ŒÝxY w# 1 sw Y   Œ<xY w)Nr   r   Úwr   Ú_uncompressed)ÚicomÚ
get_handler   ÚhandleÚclosedr   r   r   ÚparentÚstemÚsuffixÚtouch)	r   r   r    r!   r   Úhandlesr"   Úpath2r#   s	            r$   Útest_compression_size_fhr4   ,   s'  € ð €DÜ	�‰ØØ" eÒ+‰°Ø$ô
ð )ð 
ØŒ��VÓ˜WŸ^™^Ô,Ø—>‘>×(Ò(Ð(Ð(Ð(÷)ô —g‘g—o‘o dÓ+€Oð ×Ñ )§.¡.Ð!1°¸y×?OÑ?OÐ>PÐQÑQ€EØ	‡K�K„MÜ	�‰˜ °Ô	6ð )¸'ØŒ��VÓ˜WŸ^™^Ô,Ø—>‘>×(Ò(Ð(Ð(Ð(÷)ô Ÿ™Ÿ™¨Ó.ÐØ˜Ò.Ð.Ñ.÷!)ð )ú÷)ð )ús   ¢5D4Ã5E Ä4D=Å E	z'write_method, write_kwargs, read_methodÚindexFr   c                 óÖ   — t        j                  g d¢g d¢gg d¢¬«      }||   }|j                  d|› �z  } t        || «      |fi |¤Ž  |||¬«      }	t	        j
                  |	|«       y )N)g      ð?r   éüÿÿÿ)g333333@é   é   r   r   Ú
compressedr   )ÚpdÚ	DataFramer.   r   ÚtmÚassert_frame_equal)
Úwrite_methodÚwrite_kwargsÚread_methodr    Úcompression_to_extensionr!   ÚinputÚ	extensionr   Úoutputs
             r$   Ú,test_dataframe_compression_defaults_to_inferrF   L   sn   € ô" �L‰Lš,ªÐ4ºoÔN€EØ(Ð)9Ñ:€IØ×Ñ 
¨9¨+Ð6Ñ6€DØ „GˆE�<Ó  Ñ6¨Ò6Ù˜Ð+;Ô<€FÜ×Ñ˜& %Õ(r&   z1write_method,write_kwargs,read_method,read_kwargsT)r5   ÚheaderÚsqueezeÚtypÚseriesc                 ó4  — t        j                  g d¢d¬«      }||   }|j                  d|› �z  }	 t        || «      |	fi |¤Ž d|v r.|j	                  «       }
|
d=  ||	fd|i|
¤Žj                  d«      }n ||	fd|i|¤Ž}t        j                  ||d¬	«       y )
N)r   r8   éþÿÿÿé
   r	   r   r:   rH   r   r   F)Úcheck_names)r;   ÚSeriesr.   r   ÚcopyrH   r=   Úassert_series_equal)r?   r@   rA   Úread_kwargsr    rB   r!   rC   rD   r   ÚkwargsrE   s               r$   Ú)test_series_compression_defaults_to_inferrT   e   s¶   € ô$ �I‰I’n¨3Ô/€EØ(Ð)9Ñ:€IØ×Ñ 
¨9¨+Ð6Ñ6€DØ „GˆE�<Ó  Ñ6¨Ò6Ø�KÑØ×!Ñ!Ó#ˆØ�9ÐÙ˜TÑJÐ/?ÐJÀ6ÑJ×RÑRØó
‰ñ ˜TÑOÐ/?ÐOÀ;ÑOˆÜ×Ñ˜6 5°eÖ<r&   c                 ó@  — t        j                  dg d¢g d¢gz  g d¢¬«      }|}t        j                  |d| ¬«      5 }t	        j
                  t        d¬	«      5  |j                  |j                  | ¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)
Nr   r   r   r   r   r(   r   zhas no effect©Úmatch)	r;   r<   r*   r+   r=   Úassert_produces_warningÚRuntimeWarningr   r,   )r    r!   Údfr   r2   s        r$   Útest_compression_warningr[   †   s›   € ô 
�‰ØÒ-Ò/MÐNÑNÚô
€Bð €DÜ	�‰˜˜sÐ0@Ô	Að DÀWÜ×'Ñ'¬¸oÔNñ 	DØ�I‰I�g—n‘nÐ2BˆIÔC÷	D÷Dð D÷	Dð 	Dú÷Dð Dús#   ½BÁBÁ7BÂB	ÂBÂBc                 óÎ  — t        j                  dt        j                  d«      j	                  d«      z  t        j
                  t        d«      «      t        j
                  t        d«      D �cg c]  }d|› �‘Œ	 c}«      ¬«      }|}t        |d¬	«      5 }|j                  |d| ¬
«       |j                  d«       ddd«       t        j                  |t        j                  |d| ¬«      «       t        j                  «       }|j                  |d| ¬
«       |j                  d«       t        j                  |t        j                  |d| ¬«      «       yc c}w # 1 sw Y   Œ xY w)z?
    Binary file handles support compression.

    GH22555
    çš™™™™™ñ?éx   ©é   é   ÚABCDr`   úi-©r   r5   Úwb)r   )r   r   r   N)Ú	index_colr   )r;   r<   ÚnpÚarangeÚreshapeÚIndexÚlistÚrangeÚopenr   Úseekr=   r>   Úread_csvÚioÚBytesIO)r    r!   ÚirZ   r   Úfiles         r$   Útest_compression_binaryrt   “   s  € ô 
�‰ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü—‘œ˜f›Ó&Ü�h‰h¬%°«)Ö4 Q˜"˜Q˜CšÒ4Ó5ô
€Bð €DÜ	ˆd˜Ô	ð  $Ø
�	‰	�$˜TÐ/?ˆ	Ô@Ø�	‰	�!Œ÷ô ×ÑØ
ŒB�K‰K˜¨Ð7GÔHôô
 �:‰:‹<€DØ‡I�Iˆd˜Ð+;€IÔ<Ø‡I�Iˆa„LÜ×ÑØ
ŒB�K‰K˜¨Ð7GÔHõùò! 5÷
ð ús   Á/EÂ&EÅE$c                 ó¾  — t        j                  dt        j                  d«      j	                  d«      z  t        j
                  t        d«      «      t        j
                  t        d«      D �cg c]  }d|› �‘Œ	 c}«      ¬«      }dd	d
œ}| }|j                  ||¬«       |j                  «       }|j                  ||¬«       ||j                  «       k(  sJ ‚yc c}w )zš
    Gzip should create reproducible archives with mtime.

    Note: Archives created with different filenames will still be different!

    GH 28103
    r]   r^   r_   rb   r`   rc   rd   Úgzipé   ©r   Úmtimer   N)
r;   r<   rg   rh   ri   rj   rk   rl   r   Ú
read_bytes)r!   rr   rZ   Úcompression_optionsr   rE   s         r$   Ú#test_gzip_reproducibility_file_namer|   ±   sº   € ô 
�‰ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü—‘œ˜f›Ó&Ü�h‰h¬%°«)Ö4 Q˜"˜Q˜CšÒ4Ó5ô
€Bð
 &,°aÑ8Ðð €DØ‡I�IˆdÐ 3€IÔ4Ø�_‰_Ó€FØ‡I�IˆdÐ 3€IÔ4Ø�T—_‘_Ó&Ò&Ð&Ñ&ùò 5s   Á/Cc                  ó  — t        j                  dt        j                  d«      j	                  d«      z  t        j
                  t        d«      «      t        j
                  t        d«      D � cg c]  } d| › �‘Œ	 c} «      ¬«      }dd	d
œ}t        j                  «       }|j                  ||d¬«       |j                  «       }t        j                  «       }|j                  ||d¬«       ||j                  «       k(  sJ ‚yc c} w )zL
    Gzip should create reproducible archives with mtime.

    GH 28103
    r]   r^   r_   rb   r`   rc   rd   rv   rw   rx   re   )r   r   N)r;   r<   rg   rh   ri   rj   rk   rl   rp   rq   r   Úgetvalue)rr   rZ   r{   ÚbufferrE   s        r$   Ú%test_gzip_reproducibility_file_objectr€   È   sÏ   € ô 
�‰ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü—‘œ˜f›Ó&Ü�h‰h¬%°«)Ö4 Q˜"˜Q˜CšÒ4Ó5ô
€Bð
 &,°aÑ8Ðô �Z‰Z‹\€FØ‡I�IˆfÐ"5¸D€IÔAØ�_‰_Ó€FÜ�Z‰Z‹\€FØ‡I�IˆfÐ"5¸D€IÔAØ�V—_‘_Ó&Ò&Ð&Ñ&ùò 5s   Á/Dc                  óš   — t        j                  d«      } t        j                  t        j
                  d| gt        j                  ¬«       y)z6Tests if import pandas works when lzma is not present.zT        import sys
        sys.modules['lzma'] = None
        import pandas
        ú-c©ÚstderrN©ÚtextwrapÚdedentÚ
subprocessÚcheck_outputÚsysÚ
executableÚPIPE©Úcodes    r$   Útest_with_missing_lzmar�   Þ   s8   € ô �?‰?ð	ó€Dô ×ÑœSŸ^™^¨T°4Ð8ÄÇÁÖQr&   c                  óš   — t        j                  d«      } t        j                  t        j
                  d| gt        j                  ¬«       y)zcTests if ModuleNotFoundError is hit when calling lzma without
    having the module available.
    a	  
        import sys
        import pytest
        sys.modules['lzma'] = None
        import pandas as pd
        df = pd.DataFrame()
        with pytest.raises(ModuleNotFoundError, match='import of lzma'):
            df.to_csv('foo.csv', compression='xz')
        r‚   rƒ   Nr…   r�   s    r$   Útest_with_missing_lzma_runtimer‘   ì   s8   € ô
 �?‰?ð	ó
€Dô ×ÑœSŸ^™^¨T°4Ð8ÄÇÁÖQr&   c                 óè   — |} t        | |«      |d¬«       t        j                  j                  |«      } t        | |«      |dddœ¬«       t        j                  j                  |«      }||k  sJ ‚y )Nrv   r   rw   ©r   Úcompresslevelr   ©r   r   r!   r   Úcompressed_size_defaultÚcompressed_size_fasts         r$   Útest_gzip_compression_levelr˜   ÿ   si   € ð €DØ„GˆC�Ó˜¨6Õ2Ü Ÿg™gŸo™o¨dÓ3ÐØ„GˆC�Ó˜°fÈqÑ+QÕRÜŸ7™7Ÿ?™?¨4Ó0ÐØ"Ð%9Ò9Ð9Ñ9r&   c                 ó"  — |} t        | |«      |d¬«       t        j                  j                  |«      } t        | |«      |dddœ¬«       t        j                  j                  |«      }||k  sJ ‚|dk(  rt	        j
                  |d¬«       y y )NÚxzr   rw   )r   Úpresetr   )r   r   r   r   r;   ro   r•   s         r$   Útest_xz_compression_level_readrœ     s„   € ð €DØ„GˆC�Ó˜¨4Õ0Ü Ÿg™gŸo™o¨dÓ3ÐØ„GˆC�Ó˜°dÀaÑ+HÕIÜŸ7™7Ÿ?™?¨4Ó0ÐØ"Ð%9Ò9Ð9Ð9Ø�ÒÜ
�‰�D dÖ+ð r&   c                 ó6   — |} t        | |«      |dddœ¬«       y)z´GH33196 bzip needs file size > 100k to show a size difference between
    compression levels, so here we just check if the call works when
    compression is passed as a dict.
    Úbz2rw   r“   r   N)r   )r   r   r!   r   s       r$   Útest_bzip_compression_levelrŸ   *  s!   € ð  €DØ„GˆC�Ó˜°eÈaÑ+PÖQr&   zsuffix,archivez.zipz.tarc                 óð   — |j                   d| › �z  } ||d«      5  	 d d d «       t        j                  t        d¬«      5  t	        j
                  |«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)NÚarchiver(   zZero files foundrV   )r.   ÚpytestÚraisesÚ
ValueErrorr;   ro   )r0   r¡   r!   r   s       r$   Útest_empty_archive_zipr¥   >  sr   € ð ×Ñ ¨ xÐ0Ñ0€DÙ	��sÓ	ñ Ø÷ä	�‰”zÐ);Ô	<ñ Ü
�‰�DÔ÷ð ÷ð ú÷ð ús   œA ÁA,Á A)Á,A5c                 óJ  — | j                   dz  }t        j                  |d«      5 }|j                  dd«       |j                  dd«       d d d «       t	        j
                  t        d¬«      5  t        j                  |«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)Nzarchive.zipr(   úa.csvzfoo,barúb.csvz Multiple files found in ZIP filerV   )	r.   ÚzipfileÚZipFileÚwritestrr¢   r£   r¤   r;   ro   )r!   r   rs   s      r$   Útest_ambiguous_archive_zipr¬   M  sŠ   € Ø×Ñ˜mÑ+€DÜ	�‰˜˜sÓ	#ð * tØ�‰�g˜yÔ)Ø�‰�g˜yÔ)÷*ô 
�‰”zÐ)KÔ	Lñ Ü
�‰�DÔ÷ð ÷*ð *ú÷ð ús   ¦%BÁ.BÂBÂB"c                 ó  — | dz  }t        |dd¬«      5 }|j                  d«       d d d «       | dz  }t        |dd¬«      5 }|j                  d«       d d d «       | dz  }t        j                  |d«      5 }|j	                  |d«       |j	                  |d«       d d d «       t        j                  t        d¬	«      5  t        j                  |«       d d d «       y # 1 sw Y   Œ¸xY w# 1 sw Y   Œ—xY w# 1 sw Y   Œ[xY w# 1 sw Y   y xY w)
Nr§   r(   zutf-8)Úencodingzfoo,bar
r¨   zarchive.tarz#Multiple files found in TAR archiverV   )
rm   ÚwriteÚtarfileÚTarFileÚaddr¢   r£   r¤   r;   ro   )Útmp_pathÚcsvAPathÚaÚcsvBPathÚbÚtarpathr   s          r$   Útest_ambiguous_archive_tarr¹   V  sø   € Ø˜'Ñ!€HÜ	ˆh˜ gÔ	.ð °!Ø	�‰�Ô÷à˜'Ñ!€HÜ	ˆh˜ gÔ	.ð °!Ø	�‰�Ô÷ð ˜Ñ&€GÜ	�‰˜ #Ó	&ð #¨#Ø�‰�˜'Ô"Ø�‰�˜'Ô"÷#ô 
�‰”zÐ)NÔ	Oñ Ü
�‰�GÔ÷ð ÷ð ú÷ð ú÷#ð #ú÷ð ús/   ”CÁC)Á6%C5Â>DÃC&Ã)C2Ã5C>ÄD
c                 óþ  — | j                   dz  }t        j                  ddggddg¬«      j                  |ddd	œd
¬«       t	        j
                  |«      5 }t        j                  |¬«      5 }|j                  «       }t        |«      dk(  sJ ‚|j                  |d   «      j                  «       j                  d«      }t        «       rd}nd}||k(  sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nzarchive.fooÚ1Ú2ÚfooÚbarr   r   r   r   F)r   r5   )Úfileobjrw   r   Úutf8zfoo,bar
1,2
zfoo,bar
1,2
)r.   r;   r<   r   rv   rm   r°   r±   Ú
getmembersÚlenÚextractfileÚreadÚdecoder   )r!   rs   Úuncompressedr¡   ÚmembersÚcontentÚexpecteds          r$   Ú!test_tar_gz_to_different_filenamerÊ   g  sõ   € Ø×Ñ˜mÑ+€DÜ‡L�LØ
ˆsˆˆØ˜�ô÷ �fˆT¨%¸Ñ@È€fÔNÜ	�‰�4‹ð '˜LÜ�_‰_ \Ô2ð 
	'°gØ×(Ñ(Ó*ˆGÜ�w“< 1Ò$Ð$Ð$Ø×)Ñ)¨'°!©*Ó5×:Ñ:Ó<×CÑCÀFÓKˆGä"Ô$Ø/‘à+�à˜hÒ&Ð&Ñ&÷
	'÷'ð '÷
	'ð 
	'ú÷'ð 'ús%   ÁC3Á-A(C'ÃC3Ã'C0	Ã,C3Ã3C<c                  ó°   — t        j                  «       5 } t        j                  | d¬«      5  	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr(   )r¿   r   )rp   rq   r*   Ú_BytesTarFile)r   s    r$   Útest_tar_no_error_on_closerÍ   {  sO   € Ü	�‰‹ð ˜Ü×Ñ¨°SÔ9ñ 	Ø÷	÷ð ÷	ð 	ú÷ð ús!   •A­A ¯AÁ A		ÁAÁA)1rv   rp   r   rˆ   rŠ   r°   r†   r©   Únumpyrg   r¢   Úpandas.compatr   Úpandasr;   Úpandas._testingÚ_testingr=   Úpandas.io.commonÚcommonr*   ÚmarkÚparametrizer<   rO   r%   r4   ro   Ú	read_jsonÚread_picklerF   rT   r[   rt   r|   r€   Ú
single_cpur�   r‘   r˜   rœ   rŸ   rª   r±   r¥   r¬   r¹   rÊ   rÍ   © r&   r$   ú<module>rÛ      s'  ðÛ Û 	Û 	Û Û 
Û Û Û ã Û å -ã Ý ç Ð ð ‡�×ÑØ	àˆ�‰ØÒ1Ò3QÐRÑRÚ#ô	
ð 	ˆ�	‰	�#Ò6Ñ6¸SÔAðó	ð ‡�×Ñ˜Ò#EÓFñ	/ó Gó	ð	/ð ‡�×ÑØ	àˆ�‰ØÒ1Ò3QÐRÑRÚ#ô	
ð 	ˆ�	‰	�#Ò6Ñ6¸SÔAðó	ð ‡�×Ñ˜ H¨iÐ#8Ó9ñ/ó :ó	ð/ð* ‡�×ÑØ-à	�G˜UÐ# R§[¡[Ð1Ø	�B˜Ÿ™Ð%Ø	�b˜"Ÿ.™.Ð)ðóñ)óð)ð" ‡�×ÑØ7à	˜U¨dÑ3°R·[±[À9ÈdÐBSÐTØ	�B˜Ÿ™ u¨hÐ&7Ð8Ø	�b˜"Ÿ.™.¨"Ð-ðóñ=óð=ò2
Dòò<'ò.'ð, ‡�×Ññ
Ró ð
Rð ‡�×ÑñRó ðRð$ ‡�×ÑØ	àˆ�‰ØÒ1Ò3QÐRÑRÚ#ô	
ð 	ˆ�	‰	�#Ò6Ñ6¸SÔAðó	ð ‡�×Ñ˜Ò#EÓFñ:ó Gó	ð:ð ‡�×ÑØ	àˆ�‰ØÒ1Ò3QÐRÑRÚ#ô	
ð 	ˆ�	‰	�#Ò6Ñ6¸SÔAðó	ð ‡�×Ñ˜Ò#EÓFñ,ó Gó	ð,ð ‡�×ÑØ	àˆ�‰ØÒ1Ò3QÐRÑRÚ#ô	
ð 	ˆ�	‰	�#Ò6Ñ6¸SÔAðó	ð ‡�×Ñ˜Ò#EÓFñRó Gó	ðRð ‡�×ÑØà	�—‘Ð!Ø	�—‘Ð!ðóñóðòòò"'ó(r&   