Ë
    ìmxiøø  ã                   ó  — d dl Z d dlmZ d dlmZmZmZmZm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Zd dlZ	 d dlZd dlmZ d dlmZ d dlZd›d„Zed„ «       Zd„ Zd	„ Zej@                  jC                  d
d«      ej@                  jC                  dd«      d„ «       «       Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d „ Z4d!„ Z5d"„ Z6ej@                  jC                  d#g d$¢«      d%„ «       Z7ej@                  j(                  d&„ «       Z8ej@                  j(                  d'„ «       Z9ej@                  j(                  d(„ «       Z:ej@                  j(                  d)„ «       Z;d*„ Z<d+„ Z=d,„ Z>d-„ Z?ej@                  j(                  d.„ «       Z@ej@                  j(                  d/„ «       ZAd0„ ZBd1„ ZCej@                  j(                  d2„ «       ZDd3„ ZEd4„ ZFej@                  j(                  ej@                  jC                  d5 ejŽ                  d6ej@                  j‘                  ej’                  j”                  ¬7«      ¬8«      d9d:d;d<d=g«      d>„ «       «       ZKej@                  j(                  ej@                  jC                  d5 ejŽ                  d6ej@                  j‘                  ej’                  j”                  ¬7«      ¬8«      d9d:d;d<d=g«      d?„ «       «       ZLd@„ ZMdA„ ZNdB„ ZOdC„ ZPdD„ ZQej@                  j(                  dE„ «       ZRdF„ ZSej¨                  dG„ «       ZU	 dœdH„ZVdI„ ZWdJ„ ZXdK„ ZYdL„ ZZdM„ Z[dN„ Z\dO„ Z]dP„ Z^dQ„ Z_dR„ Z`dS„ ZadT„ ZbdU„ ZcdV„ Zdej@                  j‘                  ejÊ                  dWk(  dX¬Y«      dZ„ «       Zfd[„ Zgd\„ Zhd]„ Zid^„ Zjej@                  jÖ                  d_„ «       Zld`„ Zmda„ Zndb„ Zodc„ Zpej@                  j(                  dd„ «       Zqej@                  j(                  de„ «       Zrdf„ Zsej@                  j                  dg„ «       Ztdh„ Zuej@                  j                  di„ «       Zvdj„ Zwej@                  j                  dk„ «       Zxej@                  j                  dl„ «       Zydm„ Zzej@                  j                  dn„ «       Z{do„ Z|dp„ Z}ej@                  jC                  dqdrds ejü                  dt«      d:f ejü                  du«      d<fg«      dv„ «       Zdw„ Z€ej@                  jC                  d5d6d9d:d;d< ejŽ                  d=ej@                  j‘                  ej’                  j”                  ¬7«      ¬8«      g«      dx„ «       Z�ej@                  jC                  d5g dy¢«      dz„ «       Z‚d{Zƒd|„ Z„ej@                  jC                  d}g d~¢«      d„ «       Z…ej@                  jC                  d}d€d�g«      d‚„ «       Z†ej@                  jC                  d}dƒd„g«      d…„ «       Z‡ej@                  jC                  d}d†d‡g«      dˆ„ «       Zˆej@                  j                  d‰„ «       Z‰dŠ„ ZŠd‹„ Z‹ej@                  j                  dŒ„ «       ZŒd�„ Z�ej@                  j                  dŽ„ «       ZŽej@                  j                  d�„ «       Z�ej@                  j                  d�„ «       Z�d‘„ Z‘d’„ Z’d“„ Z“d”„ Z”ej@                  j                  d•„ «       Z•d–„ Z–ej@                  j                  d—„ «       Z—d˜„ Z˜ej@                  j                  d™„ «       Z™dš„ Zšy# e$ r dZY �ŒÁw xY w)�é    N)Úcontextmanager)ÚBytesIOÚStringIOÚTextIOWrapperÚBufferedIOBaseÚIOBase)Úguid)ÚCodecc                 óÜ  — t         j                  dv rt        j                  d«       	 t	        j
                  d¬«      }t        |d«      5 }|j                  d«       |j                  d«       |j                  d«       d d d «       |r|5   | |«       d d d «       n} | |«      5 }|j                  «       dk(  sJ ‚|j                  d«      dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  d	«      dk(  sJ ‚|j                  «       dk(  sJ ‚	 d d d «       t        j                  |«       y # 1 sw Y   Œ²xY w# 1 sw Y   Œ+xY w# 1 sw Y   Œ7xY w# t        j                  «       w xY w)
N)Úwin32ÚdarwinÚ
emscriptenzneed sparse file supportÚtest_io)ÚprefixÚwbl   
    l       s   mark
é   )ÚsysÚplatformÚpytestÚskipÚtempfileÚmktempÚopenÚtruncateÚseekÚwriteÚsizeÚtellÚreadÚosÚunlink)Úfile_factoryÚexpected_errorÚfilenameÚfs       úL/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/test_io.pyÚcheck_large_seeksr'   +   sE  € Ü
‡|�|Ð8Ñ8Ü�‰Ð.Ô/ðÜ—?‘?¨)Ô4ˆÜ�(˜DÓ!ð 	 QØ�J‰J�|Ô$Ø�F‰F�;ÔØ�G‰G�IÔ÷	ñ Øñ 'Ù˜XÔ&÷'ð 'ñ ˜hÓ'ð 0¨1Ø—v‘v“x <Ò/Ð/Ð/Ø—v‘v˜kÓ*¨kÒ9Ð9Ð9Ø—v‘v“x ;Ò.Ð.Ð.Ø—v‘v˜a“y IÒ-Ð-Ð-Ø—v‘v“x <Ò/Ð/Ñ/÷0ô 	�	‰	�(Õ÷	ð 	ú÷
'ð 'ú÷0ð 0ûô 	�	‰	�(ÕúsT   ©"E Á4D0Á?E Â	D<ÂE Â%A,EÄE Ä0D9Ä5E Ä<EÅE ÅEÅE ÅE+c               #   óp   K  — t        j                  t        «      5  d –— d d d «       y # 1 sw Y   y xY w­w©N)r   ÚraisesÚFileNotFoundError© ó    r&   Úassert_file_not_foundr.   B   s*   è ø€ ä	�‰Ô(Ó	)ñ Û÷÷ ñ üs   ‚6œ*¡	6ª3¯6c                  ó  — t        «       } t        j                  | «      }|j                  «       dk(  sJ ‚d}d}|j	                  |«       |j                  «       t        |«      k(  sJ ‚|j	                  |«       ||z   }| j                  «       }||k(  sJ ‚|j                  rJ ‚|j                  «        |j                  sJ ‚t        j                  t        d¬«      5  t        j                  t        «       «       d d d «       y # 1 sw Y   y xY w)Nr   s	   engaÃ±ados   foobarúbinary file expected©Úmatch)r   ÚpaÚ
PythonFiler   r   ÚlenÚgetvalueÚclosedÚcloser   r*   Ú	TypeErrorr   )Úbufr%   Ús1Ús2ÚexpectedÚresults         r&   Útest_python_file_writer?   L   sÕ   € Ü
‹)€Cä
�‰�cÓ€Aà�6‰6‹8�qŠ=Ðˆ=à	€BØ	€Bà‡G�GˆB„KØ�6‰6‹8”s˜2“wÒÐÐà‡G�GˆB„Kà�B‰w€Hà�\‰\‹^€FØ�XÒÐÐà�xŠxÐˆ<Ø‡G�G„IØ�8Š8€Oˆ8ä	�‰”yÐ(>Ô	?ñ "Ü
�‰”h“jÔ!÷"÷ "ñ "ús   ÃDÄDc                  ó"  — d} t        | «      }t        j                  |d¬«      }|j                  «       t	        | «      k(  sJ ‚|j                  «       dk(  sJ ‚|j                  d«      dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  d«       |j                  «       dk(  sJ ‚|j                  d«       |j                  «       dk(  sJ ‚|j                  d«      }|d	k(  sJ ‚t	        |«      d
k(  sJ ‚|j                  «       t	        | «      k(  sJ ‚|j                  rJ ‚|j                  «        |j                  sJ ‚t        j                  t        d¬«      5  t        j                  t        «       d¬«       d d d «       y # 1 sw Y   y xY w)Nó   some sample dataÚr©Úmoder   é   ó   somer   é2   ó   sample dataé   r0   r1   )r   r3   r4   r   r5   r   r   r   r7   r8   r   r*   r9   r   )Údatar:   r%   Úvs       r&   Útest_python_file_readrL   h   sC  € Ø€Dä
�$‹-€CÜ
�‰�c Ô$€Aà�6‰6‹8”s˜4“yÒ Ð Ð à�6‰6‹8�qŠ=Ðˆ=à�6‰6�!‹9˜ÒÐÐØ�6‰6‹8�qŠ=Ðˆ=à‡F�Fˆ1„IØ�6‰6‹8�qŠ=Ðˆ=à‡F�Fˆ1„IØ�6‰6‹8�qŠ=Ðˆ=à	�‰ˆr‹
€AØ�ÒÐÐÜˆq‹6�RŠ<Ðˆ<à�6‰6‹8”s˜4“yÒ Ð Ð à�xŠxÐˆ<Ø‡G�G„IØ�8Š8€Oˆ8ä	�‰”yÐ(>Ô	?ñ ,Ü
�‰”h“j sÕ+÷,÷ ,ñ ,ús   Å FÆFÚnbytes)éÿÿÿÿr   é   r   éd   Úfile_offset)rN   r   r   rP   c                 ó¸  — d}t        j                  t        |«      d¬«      }| dk  s|dk  rRt        j                  t         j
                  d¬«      5  |j                  || ¬«       d d d «       |j                  «        y |j                  || ¬«      }t        |t        |«      «      }t        || z   t        |«      «      }t        ||| «      }|j                  d¬	«      |j                  d«      k(  sJ ‚|j                  d
¬	«      |j                  d
«      k(  sJ ‚|j                  «       |j                  «       k(  sJ ‚t        |«      dz  }|j                  |«      |j                  |«      k(  sJ ‚t        j                  t        d¬«      5  |j                  d«       d d d «       |j                  «        |j                  sJ ‚y # 1 sw Y   �Œ_xY w# 1 sw Y   Œ5xY w)Ns   data1data2data3data4data5rB   rC   r   zshould be a positive valuer1   )rQ   rM   rE   )rM   é   é   Úseekable)r3   r4   r   r   r*   ÚArrowInvalidÚ
get_streamr8   Úminr5   r   ÚOSErrorr   r7   )	rM   rQ   rJ   r%   ÚstreamÚstartÚendr:   Úns	            r&   Útest_python_file_get_streamr^   ‰   s•  € ð (€Dä
�‰”g˜d“m¨#Ô.€Að �‚z�[ 1’_Ü�]‰]œ2Ÿ?™?Ø!=ô?ñ 	Aà�L‰L [¸ˆLÔ@÷	Að 	
�‰Œ	Øà—‘¨+¸f�ÓEˆô
 �œS ›YÓ'€EÜ
ˆk˜FÑ"¤C¨£IÓ
.€CÜ
�$�u˜S�/Ó
"€Cð �;‰;˜aˆ;Ó  C§H¡H¨Q£KÒ/Ð/Ð/Ø�;‰;˜aˆ;Ó  C§H¡H¨Q£KÒ/Ð/Ð/ð �;‰;‹=˜CŸH™H›JÒ&Ð&Ð&ô 	ˆD‹	�A‰€AØ�;‰;�q‹>˜SŸX™X a›[Ò(Ð(Ð(ô 
�‰”w jÔ	1ñ Ø�‰�AŒ÷ð ‡L�L„NØ�=Š=Ð‰=÷?	Añ 	Aú÷6ð ús   ÁGÆ
GÇGÇGc                  óô   — d} t        | «      }t        j                  |d¬«      }|j                  dd¬«      }|dk(  sJ ‚t	        |«      dk(  sJ ‚|j                  dd	¬«      }|| k(  sJ ‚t	        |«      d
k(  sJ ‚y )NrA   rB   rC   r   é   )rM   Úoffsets   e samrG   r   é   )r   r3   r4   Úread_atr5   )rJ   r:   r%   rK   Úws        r&   Útest_python_file_read_atre   µ   s€   € Ø€Dä
�$‹-€CÜ
�‰�c Ô$€Að 	
�	‰	˜ 1ˆ	Ó%€AØ�Š=Ðˆ=Üˆq‹6�QŠ;Ðˆ;ð 	
�	‰	˜ Aˆ	Ó&€AØ�Š9Ðˆ9Üˆq‹6�RŠ<Ð‰<r-   c                  ó¢   — d} t        | «      }t        j                  |d¬«      5 }|j                  «       | k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)NrA   rB   rC   )r   r3   r4   Úreadall)rJ   r:   r%   s      r&   Útest_python_file_readallrh   Æ   sI   € Ø€Dä
�$‹-€CÜ	�‰�s Ô	%ð #¨Ø�y‰y‹{˜dÒ"Ð"Ñ"÷#÷ #ñ #ús   ¥AÁAc                  óø   — d} d}t        | «      }t        |«      }t        j                  |d¬«      5 }|j	                  |«      dk(  sJ ‚|d |  |d |  k(  sJ ‚t        |«      | k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Né
   s   some sample data longer than 10rB   rC   )Ú	bytearrayr   r3   r4   Úreadintor5   )ÚlengthrJ   Údst_bufÚsrc_bufr%   s        r&   Útest_python_file_readintorp   Î   sˆ   € Ø€FØ-€DÜ˜Ó€GÜ�d‹m€Gä	�‰�w SÔ	)ð &¨QØ�z‰z˜'Ó" bÒ(Ð(Ð(à�w˜Ð 4¨¨ =Ò0Ð0Ð0Ü�7‹|˜vÒ%Ð%Ñ%÷	&÷ &ñ &ús   ²4A0Á0A9c                  ó€  ‡‡— dŠd} t        | «      Š G ˆˆfd„d«      } |«       }t        j                  |d¬«      5 }|j                  ‰«      }t	        |«      ‰k(  sJ ‚t        |«      j                  «       ‰d ‰ k(  sJ ‚t        d«      t        |«      d<   ‰d   t        d«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)	Nrj   s
   0123456798c                   ó0   •— e Zd Zd„ Zed„ «       Zˆ ˆfd„Zy)ú0test_python_file_read_buffer.<locals>.DuckReaderc                  ó   — y r)   r,   ©Úselfs    r&   r8   z6test_python_file_read_buffer.<locals>.DuckReader.closeá   ó   € Ør-   c                  ó   — y©NFr,   ru   s    r&   r7   z7test_python_file_read_buffer.<locals>.DuckReader.closedä   ó   € àr-   c                 ó.   •— |‰k(  sJ ‚t        ‰«      d | S r)   )Ú
memoryview)rv   rM   rn   rm   s     €€r&   Úread_bufferz<test_python_file_read_buffer.<locals>.DuckReader.read_bufferè   s#   ø€ Ø˜VÒ#Ð#Ð#Ü˜gÓ& w¨Ð/Ð/r-   N)Ú__name__Ú
__module__Ú__qualname__r8   Úpropertyr7   r}   )rn   rm   s   €€r&   Ú
DuckReaderrs   à   s!   ø„ ò	ð 
ñ	ó 
ð	ö	0r-   r‚   rB   rC   ó   xr   )rk   r3   r4   r}   r5   r|   ÚtobytesÚord)rJ   r‚   Úduck_readerr%   r:   rn   rm   s        @@r&   Útest_python_file_read_bufferr‡   Û   s¸   ù€ Ø€FØ€DÜ˜‹o€G÷
0ô 
0ñ “,€KÜ	�‰�{¨Ô	-ð '°Ø�m‰m˜FÓ#ˆÜ�3‹x˜6Ò!Ð!Ð!Ü˜#‹×&Ñ&Ó(¨G°G°VÐ,<Ò<Ð<Ð<ä  ›YŒ
�3‹˜Ñà�q‰zœS ›YÒ&Ð&Ñ&÷'÷ 'ñ 'ús   ½A-B4Â4B=c                  ó¸   — t        j                  t        d«      d¬«      5 } t        | t        «      sJ ‚t        | t
        «      sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr-   rB   rC   )r3   r4   r   Ú
isinstancer   r   ©r%   s    r&   Útest_python_file_correct_abcr‹   ÷   sK   € Ü	�‰”w˜s“|¨#Ô	.ð %°!Ü˜!œ^Ô,Ð,Ð,Ü˜!œVÔ$Ð$Ñ$÷%÷ %ñ %ús   ¡%AÁAc                  óÄ   — d} t        | «      }t        | «      }t        j                  |d¬«      5 }t        ||«      D ]  \  }}||k(  rŒJ ‚ 	 d d d «       y # 1 sw Y   y xY w)Ns   line1
    line2
    line3
    rB   rC   )r   r3   r4   Úzip)rJ   r:   Úbuf2r%   r   r=   s         r&   Útest_python_file_iterabler�   ý   si   € ð€Dô
 �$‹-€CÜ�4‹=€Dä	�‰�s Ô	%ð $¨Ü! ! T›lò 	$‰NˆD�(Ø˜8Ó#Ð#Ð#ñ	$÷$÷ $ñ $ús   °AÁ	AÁAc                  ó    — d„ } t        | «       y )Nc                 ó@   — t        j                  t        | d«      «      S ©NÚrb)r3   r4   r   )r$   s    r&   Úfactoryz-test_python_file_large_seeks.<locals>.factory  s   € Ü�}‰}œT (¨DÓ1Ó2Ð2r-   )r'   )r”   s    r&   Útest_python_file_large_seeksr•     s   € ò3ô �gÕr-   c                  ój  — d} t        j                  | «      }|j                  «       dk(  sJ ‚|j                  «       t	        | «      k(  sJ ‚|j                  d«      dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  d«       |j                  «       dk(  sJ ‚|j                  dd«       |j                  «       t	        | «      k(  sJ ‚|j                  d«       |j                  «       dk(  sJ ‚|j                  d«      dk(  sJ ‚|j                  rJ ‚|j                  «        |j                  sJ ‚y )	NrA   r   rE   rF   rT   r   rG   rH   )	r3   ÚBufferReaderr   r   r5   r   r   r7   r8   )rJ   r%   s     r&   Útest_bytes_readerr˜     sü   € à€DÜ
�‰˜Ó€AØ�6‰6‹8�qŠ=Ðˆ=à�6‰6‹8”s˜4“yÒ Ð Ð à�6‰6�!‹9˜ÒÐÐØ�6‰6‹8�qŠ=Ðˆ=à‡F�Fˆ1„IØ�6‰6‹8�qŠ=Ðˆ=à‡F�Fˆ1ˆa„LØ�6‰6‹8”s˜4“yÒ Ð Ð à‡F�Fˆ1„IØ�6‰6‹8�qŠ=Ðˆ=à�6‰6�"‹:˜Ò'Ð'Ð'à�xŠxÐˆ<Ø‡G�G„IØ�8Š8€O‰8r-   c                  óŠ   — t        j                  t        «      5  t        j                  d«       d d d «       y # 1 sw Y   y xY w)Nzsome sample data)r   r*   r9   r3   r—   r,   r-   r&   Útest_bytes_reader_non_bytesrš   -  s0   € Ü	�‰”yÓ	!ñ ,Ü
�‰Ð*Ô+÷,÷ ,ñ ,ús	   š9¹Ac                  óˆ   — dd l } d„ } |«       } | j                  «        |j                  «       dk(  sJ ‚|j                  €J ‚y )Nr   c                  óz   — ddz  } t        j                  | «      }|j                  d«       |j                  d«      S )NrA   éè  r   rS   )r3   r—   r   r}   )rJ   Úreaders     r&   Ú
get_bufferz>test_bytes_reader_retains_parent_reference.<locals>.get_buffer6  s6   € Ø" TÑ)ˆÜ—‘ Ó&ˆØ�‰�AŒØ×!Ñ! !Ó$Ð$r-   s   sample)ÚgcÚcollectÚ
to_pybytesÚparent)r    rŸ   r:   s      r&   Ú*test_bytes_reader_retains_parent_referencer¤   2  sC   € Ûò%ñ ‹,€CØ€B‡J�J„LØ�>‰>Ó˜yÒ(Ð(Ð(Ø�:‰:Ð!Ð!Ñ!r-   c                 óJ  — t         j                  j                  t        | «      d«      }t	        |d«      5 }t        j                  |«      }|j                  «       sJ ‚|j                  «       rJ ‚|j                  «       rJ ‚|j                  d«       d d d «       t	        |d«      5 }t        j                  |«      }|j                  «       sJ ‚|j                  «       rJ ‚|j                  «       sJ ‚|j                  «       dk(  sJ ‚	 d d d «       t        «       }t        j                  |«      }|j                  «       sJ ‚|j                  «       rJ ‚|j                  «       rJ ‚|j                  d«       |j                  «       dk(  sJ ‚y # 1 sw Y   ŒûxY w# 1 sw Y   Œ‘xY w)Núfoo.txtr   s   foobar
r“   )r    ÚpathÚjoinÚstrr   r3   r4   ÚwritableÚreadablerU   r   r   r   r6   )Útmpdirr§   r%   ÚpfÚbios        r&   Útest_python_file_implicit_moder¯   B  sT  € Ü�7‰7�<‰<œ˜F› YÓ/€DÜ	ˆd�DÓ	ð ˜QÜ�]‰]˜1ÓˆØ�{‰{Œ}Ðˆ}Ø—;‘;”=Ð Ð Ø—;‘;”=Ð Ð Ø	�‰�Ô÷ô 
ˆd�DÓ	ð (˜QÜ�]‰]˜1ÓˆØ�{‰{Œ}Ðˆ}Ø—;‘;”=Ð Ð Ø�{‰{Œ}Ðˆ}Ø�w‰w‹y˜KÒ'Ð'Ñ'÷(ô ‹)€CÜ	�‰�sÓ	€BØ�;‰;Œ=Ðˆ=Ø�{‰{Œ}ÐÐØ�{‰{Œ}ÐÐØ‡H�Hˆ[ÔØ�<‰<‹>˜[Ò(Ð(Ñ(÷)ð ú÷(ð (ús   ¶AFÂ'A!FÆFÆF"c                 óŽ  — ddg}t         j                  j                  t        | «      d«      }t	        |d«      5 }	 t        j                  |d¬«      }|j                  «       sJ ‚|j                  |«       |j                  «        	 d d d «       t	        |d«      5 }	 t        j                  |d¬«      }|j                  «       sJ ‚|j                  «       d	j                  |«      k(  sJ ‚	 |j                  «        	 d d d «       y # |j                  «        w xY w# 1 sw Y   Œ”xY w# |j                  «        w xY w# 1 sw Y   y xY w)
Ns   line1
s   line2
line3r¦   r   rd   rC   r“   rB   r-   )r    r§   r¨   r©   r   r3   r4   rª   Ú
writelinesr8   r«   r   )r¬   Úlinesr§   r%   s       r&   Útest_python_file_writelinesr³   [  s  € ØÐ,Ð-€EÜ�7‰7�<‰<œ˜F› YÓ/€DÜ	ˆd�DÓ	ð ˜Qð	Ü—‘˜a cÔ*ˆAØ—:‘:”<Ð�<Ø�L‰L˜Ôà�G‰G�I÷ô 
ˆd�DÓ	ð ˜Qð	Ü—‘˜a cÔ*ˆAØ—:‘:”<Ð�<Ø—6‘6“8˜sŸx™x¨›Ò.Ð.Ñ.à�G‰G�I÷ð øð �G‰G�Iú÷ð ûð �G‰G�Iú÷ð úsG   ºD¼:DÁ6DÂD;ÂAD&Ã+D;ÄDÄDÄD#Ä&D8Ä8D;Ä;Ec                  ó  — t        «       } t        j                  | «      }t        j                  |«      }~ |«       �J ‚| j
                  rJ ‚t        j                  | «      }|j                  «        | j
                  sJ ‚y r)   )r   r3   r4   ÚweakrefÚrefr7   r8   )r®   r­   Úwrs      r&   Útest_python_file_closingr¸   o  sb   € Ü
‹)€CÜ	�‰�sÓ	€BÜ	�‰�R‹€BØ
Ù‹4ˆ<Ðˆ<Ø�zŠzÐˆ>Ü	�‰�sÓ	€BØ‡H�H„JØ�:Š:Ð‰:r-   c                 ód  — t        d|j                  dz   «      D ]”  }|j                  |j                  | |¬«      «      }t	        |«      t	        | «      k(  sJ ‚t        |«      t        | «      k(  sJ ‚|j                  «       | j                  «       k(  sJ ‚|j                  | j                  k(  rŒ”J ‚ y )Nr   rO   ©Úprotocol)ÚrangeÚHIGHEST_PROTOCOLÚloadsÚdumpsr5   r|   r¢   Ú
is_mutable)r:   Úpicklerr»   r>   s       r&   Úcheck_buffer_picklingrÂ     s¡   € ä˜!˜W×5Ñ5¸Ñ9Ó:ò 3ˆØ—‘˜wŸ}™}¨S¸8˜}ÓDÓEˆÜ�6‹{œc #›hÒ&Ð&Ð&Ü˜&Ó!¤Z°£_Ò4Ð4Ð4Ø× Ñ Ó" c§n¡nÓ&6Ò6Ð6Ð6Ø× Ñ  C§N¡NÓ2Ð2Ð2ñ3r-   c                 óè   — d}t        j                  |«      }t        |t         j                  «      sJ ‚|j                  rJ ‚|j
                  sJ ‚|j                  «       }||k(  sJ ‚t        || «       y ©Nó	   some data)r3   Ú	py_bufferr‰   ÚBufferrÀ   Úis_cpur¢   rÂ   ©Úpickle_moduleÚvalr:   r>   s       r&   Útest_buffer_bytesrÌ   ‰  sd   € Ø
€Cä
�,‰,�sÓ
€CÜ�cœ2Ÿ9™9Ô%Ð%Ð%Ø�~Š~ÐÐØ�:Š:Ðˆ:à�^‰^Ó€FØ�SŠ=Ðˆ=ä˜#˜}Õ-r-   c                 ó  — t        j                  dd¬«      }|j                  «       dk(  sJ ‚|j                  dk(  sJ ‚t	        |«      }|j                  «       dk(  sJ ‚t        j                  |«      j                  dk7  sJ ‚t        || «       y )Nr   )Úaddressr   r-   )r3   Úforeign_bufferr¢   rÎ   r|   r„   rÆ   rÂ   )rÊ   Ú	null_buffÚms      r&   Útest_buffer_null_datarÒ   —  s…   € Ü×!Ñ!¨!°!Ô4€IØ×ÑÓ! SÒ(Ð(Ð(Ø×Ñ Ò!Ð!Ð!ô 	�9Ó€AØ�9‰9‹;˜#ÒÐÐÜ�<‰<˜‹?×"Ñ" aÒ'Ð'Ð'ä˜) ]Õ3r-   c                 óÞ   — d}t        j                  |«      }t        |t         j                  «      sJ ‚|j                  rJ ‚|j
                  sJ ‚t        |«      }||k(  sJ ‚t        || «       y rÄ   )r3   rÆ   r‰   rÇ   rÀ   rÈ   r|   rÂ   rÉ   s       r&   Útest_buffer_memoryviewrÔ   ¤  sa   € Ø
€Cä
�,‰,�sÓ
€CÜ�cœ2Ÿ9™9Ô%Ð%Ð%Ø�~Š~ÐÐØ�:Š:Ðˆ:ä˜‹_€FØ�SŠ=Ðˆ=ä˜#˜}Õ-r-   c                 óð   — t        d«      }t        j                  |«      }t        |t        j                  «      sJ ‚|j
                  sJ ‚|j                  sJ ‚t        |«      }||k(  sJ ‚t        || «       y rÄ   )rk   r3   rÆ   r‰   rÇ   rÀ   rÈ   rÂ   rÉ   s       r&   Útest_buffer_bytearrayrÖ   ²  se   € Ü
�LÓ
!€Cä
�,‰,�sÓ
€CÜ�cœ2Ÿ9™9Ô%Ð%Ð%Ø�>Š>Ðˆ>Ø�:Š:Ðˆ:ä�s‹^€FØ�SŠ=Ðˆ=ä˜#˜}Õ-r-   c                  óŽ   — t        j                  t        d¬«      5  t        j                  d «       d d d «       y # 1 sw Y   y xY w)Nz$(bytes-like object|buffer interface)r1   )r   r*   r9   r3   rÆ   r,   r-   r&   Útest_buffer_invalidrØ   À  s5   € Ü	�‰”yØCô
Eñ ä
�‰�TÔ÷÷ ñ ús	   œ;»Ac                  ó~   — t        j                  d«      } t        j                  | «      } |«       €J ‚~  |«       �J ‚y rÄ   )r3   rÆ   rµ   r¶   )r:   r·   s     r&   Útest_buffer_weakrefrÚ   Æ  s;   € Ü
�,‰,�|Ó
$€CÜ	�‰�SÓ	€BÙ‹4ÐÐÐØÙ‹4ˆ<Ð‰<r-   zval, expected_hex_buffer))s   checks
   636865636B)s   0s   0730)r-   r-   c                 óX   — t        j                  | «      }|j                  «       |k(  sJ ‚y r)   )r3   rÆ   Úhex)rË   Úexpected_hex_bufferr:   s      r&   Útest_buffer_hexrÞ   Î  s'   € ô
 �,‰,�sÓ
€CØ�7‰7‹9Ð+Ò+Ð+Ñ+r-   c                  óì   — t        d«      } d| d<   t        j                  | «      }t        j                  |d¬«      }|d   | d   k(  sJ ‚| dxx   dz  cc<   |d   | d   k(  sJ ‚|j
                  |k(  sJ ‚y )Né   é*   r   Úuint8©ÚdtyperO   )rk   r3   rÆ   ÚnpÚ
frombufferÚbase)Ú
byte_arrayr:   Úarrays      r&   Útest_buffer_to_numpyrê   ×  s€   € ô ˜2“€JØ€Jˆq�MÜ
�,‰,�zÓ
"€CÜ�M‰M˜# WÔ-€EØ�‰8�z !‘}Ò$Ð$Ð$ØˆqƒM�QÑƒMØ�‰8�z !‘}Ò$Ð$Ð$Ø�:‰:˜ÒÐÑr-   c                  óz  — t        j                  dt         j                  ¬«      j                  d«      } t	        j
                  | «      }|j                  sJ ‚|j                  sJ ‚|j                  «       | j                  «       k(  sJ ‚t	        j
                  | j                  «      }|j                  sJ ‚|j                  sJ ‚|j                  «       | j                  «       k(  sJ ‚t        j                  t        d¬«      5  t	        j
                  | j                  d d d…   «      }d d d «       y # 1 sw Y   y xY w)Né   rã   )r`   rE   znot contiguousr1   rT   )rå   ÚarangeÚint8Úreshaper3   rÆ   rÈ   rÀ   r¢   r„   ÚTr   r*   Ú
ValueError)Úarrr:   s     r&   Útest_buffer_from_numpyró   ä  sç   € ô �)‰)�BœbŸg™gÔ
&×
.Ñ
.¨vÓ
6€CÜ
�,‰,�sÓ
€CØ�:Š:Ðˆ:Ø�>Š>Ðˆ>Ø�>‰>Ó˜sŸ{™{›}Ò,Ð,Ð,ä
�,‰,�s—u‘uÓ
€CØ�:Š:Ðˆ:Ø�>Š>Ðˆ>Ø�>‰>Ó˜sŸ{™{›}Ò,Ð,Ð,ä	�‰”zÐ)9Ô	:ñ 'Ü�l‰l˜3Ÿ5™5¡ 1 ™:Ó&ˆ÷'÷ 'ñ 'ús   Ä&D1Ä1D:c                  ó>  — d} t        | «      }t        | «      }t        j                  | «      }t        j                  | «      }t        j                  |«      }t        j                  |«      }|j                  dkD  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k7  sJ ‚|j                  |j                  k7  sJ ‚t	        j
                  d«      }t        j                  |«      }|j                  |j                  j                  k(  sJ ‚y )Nó
   some data!r   r   )rk   r3   rÆ   rÎ   rå   rí   ÚctypesrJ   )	Úb1Úb2Úb3Úbuf1rŽ   Úbuf3Úbuf4rò   r:   s	            r&   Útest_buffer_addressrý   ö  sÚ   € à	€BÜ	�2‹€BÜ	�2‹€Bä�<‰<˜Ó€DÜ�<‰<˜Ó€DÜ�<‰<˜Ó€DÜ�<‰<˜Ó€Dà�<‰<˜!ÒÐÐØ�<‰<˜4Ÿ<™<Ò'Ð'Ð'Ø�<‰<˜4Ÿ<™<Ò'Ð'Ð'Ø�<‰<˜4Ÿ<™<Ò'Ð'Ð'ä
�)‰)�A‹,€CÜ
�,‰,�sÓ
€CØ�;‰;˜#Ÿ*™*Ÿ/™/Ò)Ð)Ñ)r-   c                  ó¼  — d„ } d„ }d}t        |«      }t        |«      }d|d<   t        j                  |«      }t        j                  |«      }t        j                  |«      }t        j                  |«      }t        j                  t        j                  |t        j
                  ¬«      «      }	 | ||«        | ||«        | ||«        |||«        | ||	«       y )Nc                 óF   — | j                  |«      sJ ‚| |k(  sJ ‚| |k7  rJ ‚y r)   ©Úequals©ÚaÚbs     r&   Úeqztest_buffer_equals.<locals>.eq  s+   € Ø�x‰x˜Œ{Ðˆ{Ø�AŠvˆˆvØ˜’FÐˆ|�Fr-   c                 óF   — | j                  |«      rJ ‚| |k(  rJ ‚| |k7  sJ ‚y r)   r   r  s     r&   Úneztest_buffer_equals.<locals>.ne  s)   € Ø—8‘8˜A”;ÐˆØ˜’FÐˆ|Ø�AŠvˆ‰vr-   rõ   rá   r   rã   )rk   r3   rÆ   rå   ræ   Úint16)
r  r  r÷   rø   rù   rú   rŽ   rû   rü   Úbuf5s
             r&   Útest_buffer_equalsr
    s°   € òò
ð
 
€BÜ	�2‹€BÜ	�2‹€BØ€B€q�EÜ�<‰<˜Ó€DÜ�<‰<˜Ó€DÜ�<‰<˜Ó€DÜ�<‰<˜Ó€DÜ�<‰<œŸ™ b´·±Ô9Ó:€DÙ€tˆT„NÙ€tˆT„NÙ€tˆT„NÙ€tˆT„Ná€tˆT…Nr-   c                  óÐ   — t        j                  d«      } | dk(  sJ ‚| t        d«      k(  sJ ‚| dk7  sJ ‚t        j                  t
        «      5  | dk(   d d d «       y # 1 sw Y   y xY w)NrÅ   s	   some dat1z	some data)r3   rÆ   rk   r   r*   r9   ©r:   s    r&   Útest_buffer_eq_bytesr  )  sh   € Ü
�,‰,�|Ó
$€CØ�,ÒÐÐØ”)˜LÓ)Ò)Ð)Ð)Ø�,ÒÐÐä	�‰”yÓ	!ñ Øˆ{Ò÷÷ ñ ús   ÁAÁA%c                  ór  — t        d«      } t        j                  | «      }t        | «      }t	        | |dz
  «      D ]  }||   | |   k(  rŒJ ‚ t        j                  t        «      5  ||    d d d «       t        j                  t        «      5  || dz
      d d d «       y # 1 sw Y   Œ5xY w# 1 sw Y   y xY w)Nrõ   rO   )rk   r3   rÆ   r5   r¼   r   r*   Ú
IndexError)rJ   r:   r]   Úixs       r&   Útest_buffer_getitemr  3  s´   € Ü�]Ó#€DÜ
�,‰,�tÓ
€CäˆD‹	€AÜ�Q�B˜˜A™Óò #ˆØ�2‰w˜$˜r™(Ó"Ð"Ð"ð#ô 
�‰”zÓ	"ñ ØˆAŠ÷ô 
�‰”zÓ	"ñ ØˆQˆB�‰FŠ÷ð ÷ð ú÷ð ús   Á'B!Â
B-Â!B*Â-B6c                  óX  — d} t        j                  | «      }|j                  d«      }t        j                  d«      }|j                  |«      sJ ‚|j                  dd«      }t        j                  d«      }|j                  |«      sJ ‚|j                  d«      j                  |«      sJ ‚t	        |j                  t	        |«      «      «      dk(  sJ ‚t        j                  t        «      5  |j                  d«       d d d «       t        j                  t        «      5  |j                  t	        |«      dz   «       d d d «       |d	d  j                  «       d
k(  sJ ‚t        j                  t        «      5  |j                  dt	        |«      «       d d d «       |dd	 j                  «       |j                  «       dd  k(  sJ ‚t        j                  t        «      5  |j                  dd«       d d d «       |dd  j                  |j                  d«      «      sJ ‚|dd j                  |j                  dd«      «      sJ ‚|dd  j                  |j                  t	        |«      dz
  «      «      sJ ‚|dd j                  |j                  t	        |«      dz
  d«      «      sJ ‚t        j                  t        «      5  |d d d…    d d d «       t        j                  t        «      5  |d d d…    d d d «       t	        |«      }t        | dz  |dz  «      D ]C  }t        | dz  |dz  «      D ]+  }||| j                  «       |j                  «       || k(  rŒ+J ‚ ŒE y # 1 sw Y   �ŒbxY w# 1 sw Y   �Œ0xY w# 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   Œ®xY w)Nrõ   rT   s   me data!rE   s   me dr   rN   rO   rI   r-   r   r`   éûÿÿÿéþÿÿÿ)
r3   rÆ   Úslicer  r5   r   r*   r  r¢   r¼   )	rJ   r:   Úslicedr=   Úsliced2Ú	expected2r]   r[   Ústops	            r&   Útest_buffer_slicingr  B  s.  € Ø€DÜ
�,‰,�tÓ
€Cà�Y‰Y�q‹\€FÜ�|‰|˜KÓ(€HØ�=‰=˜Ô"Ð"Ð"à�i‰i˜˜1‹o€GÜ—‘˜WÓ%€IØ�>‰>˜)Ô$Ð$Ð$ð �9‰9�Q‹<×Ñ˜sÔ#Ð#Ð#ô ˆs�y‰yœ˜S›Ó"Ó# qÒ(Ð(Ð(ä	�‰”zÓ	"ñ Ø�	‰	�"Œ÷ô 
�‰”zÓ	"ñ  Ø�	‰	”#�c“(˜Q‘,Ô÷ àˆrˆsˆ8×ÑÓ  CÒ'Ð'Ð'ô 
�‰”zÓ	"ñ Ø�	‰	�!”S˜“XÔ÷àˆq�ˆ9×ÑÓ! S§^¡^Ó%5°a°bÐ%9Ò9Ð9Ð9ô 
�‰”zÓ	"ñ Ø�	‰	�!�RÔ÷ð ˆqˆrˆ7�>‰>˜#Ÿ)™) A›,Ô'Ð'Ð'Øˆq�ˆ8�?‰?˜3Ÿ9™9 Q¨›?Ô+Ð+Ð+Øˆrˆsˆ8�?‰?˜3Ÿ9™9¤S¨£X°¡\Ó2Ô3Ð3Ð3Øˆr�"ˆ:×Ñ˜SŸY™Y¤s¨3£x°!¡|°QÓ7Ô8Ð8Ð8ä	�‰”zÓ	"ñ Ø‰DˆbˆDŠ	÷ä	�‰”zÓ	"ñ Ø‰CˆaˆCŠ÷ô 	ˆC‹€AÜ˜�r˜A‘v˜q 1™uÓ%ò PˆÜ˜1˜"˜q™& ! a¡%Ó(ò 	PˆDØ�u˜T�?×-Ñ-Ó/°3·>±>Ó3CÀEÈ$Ð3OÓOÐOÐOñ	PñP÷9ñ ú÷ ñ  ú÷
ñ ú÷
ñ ú÷ð ú÷ð úsH   Ã.M Ä!M-Å8M:ÇNË 	NË*	N Í M*Í-M7Í:NÎNÎNÎ N)c                  ó    — t        j                  t        d¬«      5  t        t	        j
                  d«      «       d d d «       y # 1 sw Y   y xY w)NÚ
unhashabler1   s   123)r   r*   r9   Úhashr3   rÆ   r,   r-   r&   Útest_buffer_hashingr  u  s6   € ä	�‰”y¨Ô	5ñ #ÜŒR�\‰\˜&Ó!Ô"÷#÷ #ñ #ús   œAÁAc                  ó¬   — d} t        j                  | «      }t        j                  |t        j                  ¬«      }|j
                  j                  rJ ‚y )Ns   12345rã   )r3   rÆ   rå   ræ   râ   ÚflagsÚ	writeable)r  Ú	arrow_refÚ	numpy_refs      r&   Ú*test_buffer_protocol_respects_immutabilityr$  {  s@   € ð 	€AÜ—‘˜Q“€IÜ—‘˜i¬r¯x©xÔ8€IØ�‰×(Ò(Ð(Ð(Ð(r-   c                  ó‚  — t        j                  ddgt         j                  ¬«      } | j                  d   d   }| j                  }t        j                  ||| «      }t        j                  | «      }~ t        j                  |t         j                  ¬«      j                  «       ddgk(  sJ ‚ |«       €J ‚~ |«       �J ‚y )NrO   rT   rã   rJ   r   )rå   ré   Úint32Ú__array_interface__rM   r3   rÏ   rµ   r¶   ræ   Útolist)ÚobjÚaddrr   r:   r·   s        r&   Útest_foreign_bufferr+  ‡  s¤   € ä
�(‰(�A�q�6¤§¡Ô
*€CØ×"Ñ" 6Ñ*¨1Ñ-€DØ�:‰:€DÜ
×
Ñ
˜D $¨Ó
,€CÜ	�‰�SÓ	€BØÜ�=‰=˜¤B§H¡HÔ-×4Ñ4Ó6¸1¸a¸&Ò@Ð@Ð@Ù‹4ÐÐÐØÙ‹4ˆ<Ð‰<r-   c                  ó  — t        j                  d«      } | j                  dk(  sJ ‚| j                  sJ ‚| j                  �J ‚d}t        j
                  | «      }|j                  |«       | j                  «       d d |k(  sJ ‚y )NrP   s   abcder   )r3   Úallocate_bufferr   rÀ   r£   ÚFixedSizeBufferWriterr   r¢   )r:   ÚbitÚwriters      r&   Útest_allocate_bufferr1  •  s{   € Ü
×
Ñ
˜SÓ
!€CØ�8‰8�sŠ?Ðˆ?Ø�>Š>Ðˆ>Ø�:‰:ÐÐÐà
€CÜ×%Ñ% cÓ*€FØ
‡L�L�Ôà�>‰>Ó˜B˜QÐ 3Ò&Ð&Ñ&r-   c                  ó®   — t        j                  dd¬«      } t        | t         j                  «      sJ ‚| j	                  d«       | j
                  dk(  sJ ‚y )NrP   T)Ú	resizableéÈ   )r3   r-  r‰   ÚResizableBufferÚresizer   r  s    r&   Útest_allocate_buffer_resizabler7  ¢  sE   € Ü
×
Ñ
˜S¨DÔ
1€CÜ�cœ2×-Ñ-Ô.Ð.Ð.à‡J�Jˆs„OØ�8‰8�sŠ?Ð‰?r-   c                 óV	  — t        j                  d«      }|j                  d«      }t        j                  dg«      }|j                  |«      }t        j                  j                  t        j                  d«      dd |g«      }|j                  «       d   }|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  sJ ‚d}d}|t        |«      v sJ ‚|t        |«      v sJ ‚|j!                  d«      }	|j"                  j%                  |	«      }
|
j'                  «       d	k(  sJ ‚|dd
 }	|j"                  j%                  |	«      }
|
j'                  «       dk(  sJ ‚|	j)                  |dd
 «      sJ ‚d}t        j*                  t,        |¬«      5  |j)                  t        j.                  |«      «       d d d «       d}t        j                  d	g«      }|j                  |«      }t        j*                  t0        |¬«      5  |	j)                  |«       d d d «       t        j                  j                  t        j                  d«      dd |g«      }|j                  «       d   }t        j*                  t0        |¬«      5  |	j)                  |«       d d d «       t        j*                  t0        |¬«      5  |j3                  «        d d d «       t        j*                  t0        |¬«      5  |j3                  «        d d d «       t        j*                  t0        |¬«      5  |d    d d d «       t        j*                  t0        |¬«      5  |j'                  «        d d d «       t        j*                  t0        |¬«      5  | j5                  |d
¬«       d d d «       t        j*                  t0        |¬«      5  | j5                  |d
¬«       d d d «       t        j*                  t0        |¬«      5  t7        |«       d d d «       y # 1 sw Y   �ŒIxY w# 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   �Œ9xY w# 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   ŒŸxY w# 1 sw Y   y xY w)Nzpyarrow.cudar   s   testingé   rO   z<pyarrow.Buffer address=z$size=7 is_cpu=False is_mutable=True>rT   s   stingrE   s   stz8Device on which the data resides differs between buffersr1   z'Implemented only for data on CPU devicer   rº   )r   ÚimportorskipÚContextrå   ré   Úbuffer_from_datar3   ÚFixedSizeBinaryArrayÚfrom_buffersÚbinaryÚbuffersr   rÎ   rÈ   rÀ   Úreprr  Ú
CudaBufferÚfrom_bufferr¢   r  r*   rñ   rÆ   ÚNotImplementedErrorrÜ   r¿   r|   )rÊ   ÚcudaÚctxrJ   Úcuda_bufrò   Ú
buf_on_gpuÚrepr1Úrepr2Úbuf_on_gpu_slicedÚcuda_slicedÚ
msg_deviceÚmsgÚ	arr_shortÚcuda_buf_shortÚbuf_on_gpu_shorts                   r&   Útest_non_cpu_bufferrR  ª  s   € ä×Ñ˜~Ó.€DØ
�,‰,�q‹/€Cä�8‰8�Z�LÓ!€DØ×#Ñ# DÓ)€HÜ
×
!Ñ
!×
.Ñ
.¬r¯y©y¸«|¸QÀÀxÐ@PÓ
Q€CØ—‘“˜qÑ!€Jà�?‰?˜hŸm™mÒ+Ð+Ð+Ø×Ñ ×!1Ñ!1Ò1Ð1Ð1Ø×Ñ §¡Ò/Ð/Ð/Ø× Ò Ð Ð à&€EØ2€EØ”D˜Ó$Ñ$Ð$Ð$Ø”D˜Ó$Ñ$Ð$Ð$à"×(Ñ(¨Ó+ÐØ—/‘/×-Ñ-Ð.?Ó@€KØ×!Ñ!Ó# xÒ/Ð/Ð/à" 1 Q˜ÐØ—/‘/×-Ñ-Ð.?Ó@€KØ×!Ñ!Ó# uÒ,Ð,Ð,ð ×#Ñ# H¨Q¨q MÔ2Ð2Ð2ð L€JÜ	�‰”z¨Ô	4ñ .Ø×Ñœ"Ÿ,™, tÓ,Ô-÷.ð 4€Cä—‘˜(˜Ó$€IØ×)Ñ)¨)Ó4€NÜ	�‰Ô*°#Ô	6ñ 1Ø× Ñ  Ô0÷1ä×'Ñ'×4Ñ4Ü
�	‰	�!‹�a˜$ Ð/ó€Ið !×(Ñ(Ó*¨1Ñ-ÐÜ	�‰Ô*°#Ô	6ñ 3Ø× Ñ Ð!1Ô2÷3ô 
�‰Ô*°#Ô	6ñ Ø�‰Ô÷ô 
�‰Ô*°#Ô	6ñ Ø�‰Œ÷ô 
�‰Ô*°#Ô	6ñ Ø�1Š÷ô 
�‰Ô*°#Ô	6ñ  Ø×ÑÔ÷ ô 
�‰Ô*°#Ô	6ñ 4Ø×Ñ˜J°ÐÔ3÷4ô 
�‰Ô*°#Ô	6ñ 2Ø×Ñ˜H¨qÐÔ1÷2ô 
�‰Ô*°#Ô	6ñ Ü�:Ô÷ð ÷E.ñ .ú÷1ñ 1ú÷3ñ 3ú÷ñ ú÷ñ ú÷ñ ú÷ ð  ú÷4ð 4ú÷2ð 2ú÷ð úsx   Ç%P-È2P:Ê0QË%QÌQ!ÍQ.Í6Q;Î*RÏ!RÐRÐ-P7Ð:QÑQÑQÑ!Q+Ñ.Q8Ñ;RÒRÒRÒR(c                  ó>  — t        j                  «       } t        j                  d¬«      }t        j                  dd¬«      }t        j                  ddd¬«      }t        j                  ddd¬	«      }t         j                  j                  d
ddd¬«      }| j                  dk(  sJ ‚| j                  dk(  sJ ‚| j
                  du sJ ‚| j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j
                  du sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j
                  du sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j
                  du sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j
                  du sJ ‚|j                  dk(  sJ ‚|j
                  du sJ ‚| | k(  sJ ‚| |k7  sJ ‚||k7  sJ ‚||k7  sJ ‚||k7  sJ ‚|| k7  sJ ‚y )Né   )Úhole_size_limité   é    )rU  Úrange_size_limitr   )rU  rX  Úprefetch_limitF)rU  rX  ÚlazyrP   r4  gÍÌÌÌÌÌì?é@   )Útime_to_first_byte_millisÚtransfer_bandwidth_mib_per_secÚ ideal_bandwidth_utilization_fracÚmax_ideal_request_size_mibi   Tr   )r3   ÚCacheOptionsÚfrom_network_metricsrU  rX  rZ  rY  )Úopts1Úopts2Úopts3Úopts4Úopts5Úopts6s         r&   Útest_cache_optionsrh  ñ  s`  € Ü�O‰OÓ€EÜ�O‰O¨DÔ1€EÜ�O‰O¨DÀ4ÔH€EÜ�O‰O¨DØ-1À!ôE€Eä�O‰O¨DØ-1¸ô?€Eä�O‰O×0Ñ0È3ØPSØRUØLNð 1ó P€Eð
 × Ñ  DÒ(Ð(Ð(Ø×!Ñ!Ð%5Ò5Ð5Ð5Ø�:‰:˜ÑÐÐØ×Ñ 1Ò$Ð$Ð$à× Ñ  DÒ(Ð(Ð(Ø×!Ñ!Ð%5Ò5Ð5Ð5Ø�:‰:˜ÑÐÐØ×Ñ 1Ò$Ð$Ð$à× Ñ  DÒ(Ð(Ð(Ø×!Ñ! TÒ)Ð)Ð)Ø�:‰:˜ÑÐÐØ×Ñ 1Ò$Ð$Ð$à× Ñ  DÒ(Ð(Ð(Ø×!Ñ! TÒ)Ð)Ð)Ø�:‰:˜ÑÐÐØ×Ñ 1Ò$Ð$Ð$à× Ñ  DÒ(Ð(Ð(Ø×!Ñ! TÒ)Ð)Ð)Ø�:‰:˜ÑÐÐØ×Ñ 1Ò$Ð$Ð$à�:‰:˜ÑÐÐà�EŠ>Ðˆ>Ø�EŠ>Ðˆ>Ø�EŠ>Ðˆ>Ø�EŠ>Ðˆ>Ø�EŠ>Ðˆ>Ø�EŠ>Ð‰>r-   c                 ó¶   — t        j                  «       t        j                  dddd¬«      g}|D ]'  }| j                  | j                  |«      «      |k(  rŒ'J ‚ y )NrV  rW  Tr   )rU  rX  rZ  rY  )r3   r`  r¾   r¿   )rÊ   ÚoptionsÚoptions      r&   Útest_cache_options_picklingrl  !  s_   € ä
�‰ÓÜ
�‰¨¸tØ!°!ô	5ð€Gð ò JˆØ×"Ñ" =×#6Ñ#6°vÓ#>Ó?À6ÓIÐIÐIñJr-   ÚcompressionÚbz2)r*   )ÚmarksÚbrotliÚgzipÚlz4ÚzstdÚsnappyc                 óì  — t        j                  | «      st        j                  | › d�«       d}t        j
                  j                  dd|¬«      j                  t        j                  «      j                  «       }t        j                  |«      }t        j                  || ¬«      }t        j                  || d¬«      }t        |t        «      sJ ‚t        j                  ||| ¬«      }t        j                  ||| d¬«      }t        |t        «      sJ ‚|j!                  |«      sJ ‚||k(  sJ ‚t        j"                  t$        «      5  t        j                  || ¬«       d d d «       y # 1 sw Y   y xY w)	Nú support is not builté'  r   éÿ   ©r   )ÚcodecT)rz  Úasbytes)r
   Úis_availabler   r   rå   ÚrandomÚrandintÚastyperâ   r„   r3   rÆ   Úcompressr‰   ÚbytesÚ
decompressr  r*   rñ   )rm  Ú
INPUT_SIZEÚ	test_dataÚtest_bufÚcompressed_bufÚcompressed_bytesÚdecompressed_bufÚdecompressed_bytess           r&   Útest_compress_decompressrŠ  ,  s<  € ô ×Ñ˜kÔ*Ü�‰�{�mÐ#8Ð9Ô:à€JÜ—‘×"Ñ" 1 c°
Ð"Ó;ß‘&œŸ™Ó"ß‘'“)ð ô �|‰|˜IÓ&€Hä—[‘[ °Ô=€NÜ—{‘{ 9°KØ+/ô1Ðô Ð&¬Ô.Ð.Ð.ä—}‘} ^°ZØ+6ô8ÐäŸ™Ð'7¸Ø-8À$ôHÐô Ð(¬%Ô0Ð0Ð0à×"Ñ" 8Ô,Ð,Ð,Ø Ò*Ð*Ð*ä	�‰”zÓ	"ñ ;Ü
�‰Ð&¨kÕ:÷;÷ ;ñ ;ús   Å	E*Å*E3c                 ó*  — t        j                  | «      st        j                  | › d�«       t        | «      }|j                  dk(  r|j
                  �J ‚t        |j
                  t        «      sJ ‚dg}| |v rët        j                  | «      rJ ‚t        j                  t        «      5  t        | d«       d d d «       t        j                  t        «      5  t        j                  | «       d d d «       t        j                  t        «      5  t        j                  | «       d d d «       t        j                  t        «      5  t        j                  | «       d d d «       y d}t        j                  j!                  dd|¬«      j#                  t        j$                  «      j'                  «       }t)        j*                  |«      }t        j                  | «      }t        j                  | «      }t        j                  | «      }||k  sJ ‚||k\  sJ ‚||k  sJ ‚t-        ||dz   «      D ]É  }	t        | |	«      }|j/                  |«      }
|j/                  |d¬	«      }t        |t0        «      sJ ‚|j3                  |
|«      }|j3                  ||d¬	«      }t        |t0        «      sJ ‚|j5                  |«      sJ ‚||k(  sJ ‚t        j                  t        «      5  |j3                  |«       d d d «       ŒË t7        t        j                  d
«      st        j                  d«       t        j                  j9                  d¬«      }|j;                  ddd«      }t)        j<                  |«      }|j?                  «       d   }t        | |«      }|j/                  |«      }t        | |«      }|j/                  |«      }tA        |«      tA        |«      kD  sJ ‚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# 1 sw Y   �ŒçxY w)Nrv  rt  r   rw  rx  ry  rO   T)r{  Údefault_rngzRequires newer version of numpyrá   )ÚseedrP   r�   )!r
   r|  r   r   ÚnameÚcompression_levelr‰   ÚintÚsupports_compression_levelr*   rñ   Úminimum_compression_levelÚmaximum_compression_levelÚdefault_compression_levelrå   r}  r~  r  râ   r„   r3   rÆ   r¼   r€  r�  r‚  r  ÚhasattrrŒ  Úintegersré   r@  r5   )rm  rz  Úno_levelrƒ  r„  r…  Ú	min_levelÚ	max_levelÚdefault_levelr�  r†  r‡  rˆ  r‰  ÚrngÚvaluesrò   Úhard_to_compress_bufferÚ
weak_codecÚweakly_compressed_bufÚstrong_codecÚstrongly_compressed_bufs                         r&   Útest_compression_levelr¢  U  s•  € ô ×Ñ˜kÔ*Ü�‰�{�mÐ#8Ð9Ô:ä�+Ó€EØ‡z�z�XÒØ×&Ñ&Ð.Ð.Ð.ä˜%×1Ñ1´3Ô7Ð7Ð7ð ˆz€HØ�hÑÜ×3Ñ3°KÔ@Ð@Ð@Ü�]‰]œ:Ó&ñ 	"Ü�+˜qÔ!÷	"ä�]‰]œ:Ó&ñ 	9Ü×+Ñ+¨KÔ8÷	9ä�]‰]œ:Ó&ñ 	9Ü×+Ñ+¨KÔ8÷	9ä�]‰]œ:Ó&ñ 	9Ü×+Ñ+¨KÔ8÷	9àà€JÜ—‘×"Ñ" 1 c°
Ð"Ó;ß‘&œŸ™Ó"ß‘'“)ð ô �|‰|˜IÓ&€Hä×/Ñ/°Ó<€IÜ×/Ñ/°Ó<€IÜ×3Ñ3°KÓ@€Mà�yÒ Ð Ð Ø˜IÒ%Ð%Ð%Ø˜IÒ%Ð%Ð%ä" 9¨i¸©kÓ:ò /ÐÜ�kÐ#4Ó5ˆØŸ™¨Ó1ˆØ Ÿ>™>¨)¸T˜>ÓBÐÜÐ*¬EÔ2Ð2Ð2Ø ×+Ñ+¨N¸JÓGÐØ"×-Ñ-Ð.>À
Ø6:ð .ó <Ðô Ð,¬eÔ4Ð4Ð4à×&Ñ& xÔ0Ð0Ð0Ø! YÒ.Ð.Ð.ä�]‰]œ:Ó&ñ 	/Ø×ÑÐ-Ô.÷	/ð 	/ð/ô2 ”2—9‘9˜mÔ,Ü�‰Ð5Ô6Ü
�)‰)×
Ñ
 RÐ
Ó
(€CØ�\‰\˜!˜S $Ó'€FÜ
�(‰(�6Ó
€CØ!Ÿk™k›m¨AÑ.Ðä�{ IÓ.€JØ&×/Ñ/Ð0GÓHÐä˜ iÓ0€LØ*×3Ñ3Ð4KÓLÐäÐ$Ó%¬Ð,CÓ(DÒDÐDÑD÷}	"ñ 	"ú÷	9ñ 	9ú÷	9ñ 	9ú÷	9àú÷<	/ñ 	/ús<   Â)OÃO"ÄO/ÅO<ËPÏOÏ"O,Ï/O9Ï<PÐP	c                  ó  — d} t        j                  | «      }|j                  rJ ‚t        |t         j                  «      sJ ‚t        |«      }|j                  sJ ‚t        j                  t        «      5 }d|d<   dt        |j                  «      v sJ ‚	 d d d «       t        |«      }t        j                  t        «      5 }d|d<   dt        |j                  «      v sJ ‚	 d d d «       y # 1 sw Y   ŒVxY w# 1 sw Y   y xY w)NrÅ   ó   hr   zcannot modify read-only)r3   rÆ   rÀ   r‰   rÇ   r|   Úreadonlyr   r*   r9   r©   Úvaluer�  )rË   r:   r>   Úexcr  s        r&   Ú#test_buffer_memoryview_is_immutabler¨  ¯  sß   € Ø
€Cä
�,‰,�sÓ
€CØ�~Š~ÐÐÜ�cœ2Ÿ9™9Ô%Ð%Ð%ä˜‹_€FØ�?Š?Ðˆ?ä	�‰”yÓ	!ð ; SØˆˆq‰	Ø(¬C°·	±	«NÑ:Ð:Ñ:÷;ô 	ˆc‹
€AÜ	�‰”yÓ	!ð ; SØˆˆ!‰Ø(¬C°·	±	«NÑ:Ð:Ñ:÷;ð ;÷;ð ;ú÷
;ð ;ús   Á4C)Ã C5Ã)C2Ã5C>c                  óˆ   — t        j                  t        «      5  t        j                  «        d d d «       y # 1 sw Y   y xY wr)   )r   r*   r9   r3   rÇ   r,   r-   r&   Útest_uninitialized_bufferrª  Ã  s.   € ô 
�‰”yÓ	!ñ Ü
�	‰	Œ÷÷ ñ ús	   š8¸Ac                  óþ   — d} t        j                  «       }d}t        |«      D ]  }|j                  | «       Œ |j	                  «       }t        |«      t        | «      |z  k(  sJ ‚|j                  «       | |z  k(  sJ ‚y )Nó
   dataabcdefr�   )r3   ÚBufferOutputStreamr¼   r   r6   r5   r¢   )rË   r%   ÚKÚir:   s        r&   Útest_memory_output_streamr°  Ê  sx   € à
€CÜ
×ÑÓ€Aà€AÜ�1‹Xò ˆØ	�‰��ðð �*‰*‹,€CÜˆs‹8”s˜3“x !‘|Ò#Ð#Ð#Ø�>‰>Ó˜s Q™wÒ&Ð&Ñ&r-   c                  ó$  — t        j                  «       } | j                  d«       | j                  rJ ‚| j	                  «        | j                  sJ ‚t        j                  t        «      5  | j                  d«       d d d «       y # 1 sw Y   y xY w)Nó   oks   not ok)r3   r­  r   r7   r6   r   r*   rñ   rŠ   s    r&   Ú test_inmemory_write_after_closedr³  Ø  sh   € Ü
×ÑÓ€AØ‡G�GˆE„NØ�xŠxÐˆ<Ø‡J�J„LØ�8Š8€Oˆ8ä	�‰”zÓ	"ñ Ø	�‰�	Ô÷÷ ñ ús   Á+BÂBc                  ó
  — d„ }  | d«      }t        j                  «        |dk(  sJ ‚d}t        j                  |«      }t	        d«      D ]
  } | |«       Œ t        j                  «        |t        j                  |«      k(  sJ ‚y )Nc                 ó>   — t        t        j                  | «      «      S r)   )rk   r3   rÆ   )Ú	bytes_objs    r&   Úmake_bufferz6test_buffer_protocol_ref_counting.<locals>.make_bufferä  s   € ÜœŸ™ iÓ0Ó1Ð1r-   ó   foorj   )r    r¡   r   Úgetrefcountr¼   )r·  r:   rË   Úrefcount_beforer¯  s        r&   Ú!test_buffer_protocol_ref_countingr»  ã  sx   € ò2ñ �fÓ
€CÜ‡J�J„LØ�&Š=Ðˆ=ð €CÜ—o‘o cÓ*€OÜ�2‹Yò ˆÙ�CÕðä‡J�J„LØœcŸo™o¨cÓ2Ò2Ð2Ñ2r-   c                  óè  — t        j                  «       } d}t        j                  |d¬«      }| j	                  |«       | j	                  t        |«      «       | j	                  t        j                  |«      «       t        j                  t        «      5  | j	                  |j                  d«      «       d d d «       | j                  «       }|j                  «       |dz  k(  sJ ‚y # 1 sw Y   Œ2xY w)Nr²  ÚS1rã   Úutf8r`   )r3   r­  rå   ræ   r   rk   rÆ   r   r*   r9   Údecoder6   r¢   )r%   rJ   rò   r:   s       r&   Ú test_nativefile_write_memoryviewrÀ  ô  s±   € ä
×ÑÓ€AØ€Dä
�-‰-˜ DÔ
)€Cà‡G�GˆC„LØ‡G�GŒI�d‹OÔØ‡G�GŒB�L‰L˜ÓÔÜ	�‰”yÓ	!ñ %Ø	�‰�—‘˜FÓ#Ô$÷%ð �*‰*‹,€Cà�>‰>Ó˜t a™xÒ'Ð'Ñ'÷%ð %ús   Â!C(Ã(C1c                  ó2  — d} t        j                  «       }t        j                  «       }d}t        |«      D ]$  }|j	                  | «       |j	                  | «       Œ& |j                  «       t        |j                  «       «      k(  sJ ‚t         j                  j                  t        j                  g d¢«      gdg«      }t        j                  «       }t        j                  «       }t        j                  ||j                  «      }t        j                  ||j                  «      }|j                  |«       |j                  |«       |j                  «        |j                  «        |j                  «       t        |j                  «       «      k(  sJ ‚y )Nr¬  r�   )rO   rT   r`   r  )r3   ÚMockOutputStreamr­  r¼   r   r   r5   r6   ÚRecordBatchÚfrom_arraysré   ÚRecordBatchStreamWriterÚschemaÚwrite_batchr8   )rË   Úf1Úf2r®  r¯  Úrecord_batchÚstream_writer1Ústream_writer2s           r&   Útest_mock_output_streamrÍ  
  s9  € ð
 €Cä	×	Ñ	Ó	€BÜ	×	Ñ	Ó	 €Bà€AÜ�1‹Xò ˆØ
�‰�ŒØ
�‰��ðð �7‰7‹9œ˜BŸK™K›MÓ*Ò*Ð*Ð*ô —>‘>×-Ñ-¬r¯x©xº	Ó/BÐ.CÀcÀUÓK€Lä	×	Ñ	Ó	€BÜ	×	Ñ	Ó	 €Bä×/Ñ/°°L×4GÑ4GÓH€NÜ×/Ñ/°°L×4GÑ4GÓH€Nà×Ñ˜|Ô,Ø×Ñ˜|Ô,Ø×ÑÔØ×ÑÔà�7‰7‹9œ˜BŸK™K›MÓ*Ò*Ð*Ñ*r-   c                 ó€  ‡— d}t        |«      D �cg c]  }t        j                  dd«      ‘Œ }}t        |d | «      }t        j
                  j                  t        |«      t        «       «      Št        ‰d«      5 }|j                  |«       d d d «       ˆfd„}| j                  |«       ‰|fS c c}w # 1 sw Y   Œ(xY w)NrV  r   rx  r   c                  ó   •— t        ‰ «       y r)   )Ú_try_delete©r§   s   €r&   Úteardownz"sample_disk_data.<locals>.teardown;  s   ø€ Ü�DÕr-   )r¼   r}  r~  r�  r    r§   r¨   r©   r	   r   r   Úaddfinalizer)	Úrequestr¬   ÚSIZEÚ_rò   rJ   r%   rÒ  r§   s	           @r&   Úsample_disk_datar×  0  s¤   ø€ à€DÜ+0°«;Ö
7 aŒ6�>‰>˜!˜SÕ!Ð
7€CÐ
7Ü��U�d�Ó€Dä�7‰7�<‰<œ˜F›¤T£VÓ,€Dä	ˆd�DÓ	ð ˜QØ	�‰�Œ÷ôð ×Ñ˜Ô"Ø�ˆ:Ðùò 8÷
ð ús   ‘B/Á;B4Â4B=c                 ó>  — |\  }} | |d¬«      }|j                  d«      |d d k(  sJ ‚|j                  d«      dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  «       |dd  k(  sJ ‚|j                  «       t        |«      k(  sJ ‚|j	                  d«       |j                  «       dk(  sJ ‚|rT|j	                  t        |«      dz   «       |j                  «       t        |«      dz   k(  sJ ‚|j                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  dt
        j                  «      d	k(  sJ ‚|j                  «       d	k(  sJ ‚t        |«      d
z
  }|j	                  dt
        j                  «      |k(  sJ ‚|j                  «       |k(  sJ ‚y )NrB   rC   rj   r   r-   rO   r   r`   rS   rT   r  )r   r   r   r5   r   r    ÚSEEK_CURÚSEEK_END)ÚFACTORYÚsample_dataÚallow_read_out_of_boundsr§   rJ   r%   Ú	ex_lengths          r&   Ú_check_native_file_readerrß  B  sx  € à�J€Dˆ$á�˜3Ô€Aà�6‰6�"‹:˜˜c˜r˜Ò"Ð"Ð"Ø�6‰6�!‹9˜ÒÐÐØ�6‰6‹8�rŠ>Ðˆ>à�6‰6‹8�t˜B˜C�yÒ Ð Ð à�6‰6‹8”s˜4“yÒ Ð Ð à‡F�Fˆ1„IØ�6‰6‹8�qŠ=Ðˆ=ñ  Ø	�‰Œs�4‹y˜1‰}ÔØ�v‰v‹xœ3˜t›9 q™=Ò(Ð(Ð(Ø�v‰v�a‹y˜CÒÐÐð �6‰6�!‹9˜Š>Ðˆ>Ø�6‰6�!”R—[‘[Ó! QÒ&Ð&Ð&Ø�6‰6‹8�qŠ=Ðˆ=ä�D“	˜A‘€IØ�6‰6�"”b—k‘kÓ" iÒ/Ð/Ð/Ø�6‰6‹8�yÒ Ð Ñ r-   c                 ó<   — t        t        j                  | d¬«       y )NF)rÝ  )rß  r3   Ú
memory_map©r×  s    r&   Útest_memory_map_readerrã  c  s   € ÜœbŸm™mÐ-=Ø7<ö>r-   c                 ó¬  — | \  }}g }t        j                  |d«      5 }|j                  |j                  d«      |d d f«       |j                  |j                  d«      |dd f«       |j                  |j                  d«      |dd f«       d d d «       t	        j
                  «        |D ]  \  }}|j                  «       |k(  rŒJ ‚ y # 1 sw Y   Œ=xY w)Nr“   rP   r4  i,  )r3   rá  Úappendr}   r    r¡   r¢   )r×  r§   rJ   Úcasesr%   r:   r=   s          r&   Ú'test_memory_map_retain_buffer_referencerç  h  sÈ   € Ø!�J€Dˆ$à€EÜ	�‰�t˜TÓ	"ð : aØ�‰�a—m‘m CÓ(¨$¨t°¨*Ð5Ô6Ø�‰�a—m‘m CÓ(¨$¨s°3¨-Ð8Ô9Ø�‰�a—m‘m CÓ(¨$¨s°3¨-Ð8Ô9÷:ô ‡J�J„Làò ,‰ˆˆXØ�~‰~Ó 8Ó+Ð+Ð+ñ,÷:ð :ús   žA0C
Ã
Cc                 ó8   — t        t        j                  | «       y r)   )rß  r3   ÚOSFilerâ  s    r&   Útest_os_file_readerrê  x  s   € ÜœbŸi™iÐ)9Õ:r-   c                  ó6   — t        t        j                  «       y r)   )r'   r3   ré  r,   r-   r&   Útest_os_file_large_seeksrì  |  s   € Ü”b—i‘iÕ r-   c                 ób   — 	 t        j                  | «       y # t         j                  $ r Y y w xY wr)   )r    ÚremoveÚerrorrÑ  s    r&   rÐ  rÐ  €  s(   € ðÜ
�	‰	�$�øÜ�8‰8ò Ùðús   ‚ ˜.­.c                 ó  — t         j                  dk(  rt        j                  d«       d}t	        |«      D �cg c]  }t        j                  dd«      ‘Œ }}t        |d | «      }t        j                  j                  t        | «      t        «       «      }t        |d«      5 }|j                  |«       d d d «       t        j                   |d¬«      }|j#                  d	«       |j                  d
«       |j%                  «       dk(  sJ ‚|j#                  d	«       |j'                  d«      d
k(  sJ ‚t        j                   |d¬«      }|j#                  d	«       |j                  d«       |j#                  d	«       |j#                  d	«       |j'                  d«      dk(  sJ ‚t        j                   |d¬«      }|j                  d«       t        j                   |«      5 }	|	j)                  «       |k(  sJ ‚	 d d d «       t        j*                  t,        «      5  |j'                  d«       d d d «       |j#                  d«       |j'                  d«      dk(  sJ ‚y c c}w # 1 sw Y   �Œ¬xY w# 1 sw Y   ŒvxY w# 1 sw Y   ŒOxY w)Nr   z:Multiple memory maps to same file don't work on emscriptenrV  r   rx  r   úr+brC   rj   s   peekabooé   é   s   booapeakrd   r¸  r   r`   )r   r   r   Úxfailr¼   r}  r~  r�  r    r§   r¨   r©   r	   r   r   r3   rá  r   r   r   r   r*   ÚIOError)
r¬   rÕ  rÖ  rò   rJ   r§   r%   rÉ  Úf3Úf4s
             r&   Útest_memory_map_writerrø  ‡  só  € Ü
‡|�|�|Ò#Ü�‰ÐQÔRØ€DÜ+0°«;Ö
7 aŒ6�>‰>˜!˜SÕ!Ð
7€CÐ
7Ü��U�d�Ó€Dä�7‰7�<‰<œ˜F›¤T£VÓ,€DÜ	ˆd�DÓ	ð ˜QØ	�‰�Œ÷ô 	�‰�d Ô'€Aà‡F�Fˆ2„JØ‡G�GˆKÔØ�6‰6‹8�rŠ>Ðˆ>à‡F�Fˆ2„JØ�6‰6�!‹9˜Ò#Ð#Ð#ä	�‰�t %Ô	(€Bà‡G�GˆB„KØ‡H�Hˆ[ÔØ‡G�GˆB„Kà‡F�Fˆ2„JØ�6‰6�!‹9˜Ò#Ð#Ð#ô 
�‰�t #Ô	&€BØ‡H�HˆVÔä	�‰�tÓ	ð ! Ø�w‰w‹y˜DÒ Ð Ñ ÷!ô 
�‰”wÓ	ñ Ø
�‰�Œ
÷ð ‡F�Fˆ1„IØ�6‰6�!‹9˜ÒÐÑùòI 8÷ñ ú÷2!ð !ú÷ð ús)   ¸IÂ"IÇI+ÈI7ÉI(É+I4É7J c                 óN  — d}t        |«      D �cg c]  }t        j                  dd«      ‘Œ }}t        |d |dz   «      }t        ||dz  d  «      }t        j
                  j                  t        | «      t        «       «      }t        j                  ||dz  «      }|j                  |«       |j                  |«       |j                  |«       |j                  «        t        |d«      5 }|j                  «       t        |d | «      k(  sJ ‚	 d d d «       y c c}w # 1 sw Y   y xY w)NrV  r   rx  rT   r“   )r¼   r}  r~  r�  r    r§   r¨   r©   r	   r3   Úcreate_memory_mapr   r6  r8   r   r   )	r¬   rÕ  rÖ  rò   Údata1Údata2r§   Úmmapr%   s	            r&   Útest_memory_map_resizerþ  ²  sú   € Ø€DÜ+0°«;Ö
7 aŒ6�>‰>˜!˜SÕ!Ð
7€CÐ
7Ü�#�l˜ ™	Ð#Ó$€EÜ�#�t˜q‘y�lÐ#Ó$€Eä�7‰7�<‰<œ˜F›¤T£VÓ,€Dä×Ñ  d¨Q¡hÓ/€DØ‡J�JˆuÔà‡K�K�ÔØ‡J�JˆuÔà‡J�J„Lä	ˆd�DÓ	ð -˜QØ�v‰v‹xœ5  U d Ó,Ò,Ð,Ñ,÷-ð -ùò 8÷-ð -ús   �DÃ*"DÄD$c                 ó"  — t         j                  j                  t        | «      t	        «       «      }t        |d«      }|j                  «        t        j                  |d¬«      5 }|j                  «       dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   rñ  rC   r   )
r    r§   r¨   r©   r	   r   r8   r3   rá  r   )r¬   r§   r%   rá  s       r&   Útest_memory_zero_lengthr   Æ  sk   € Ü�7‰7�<‰<œ˜F›¤T£VÓ,€DÜˆT�4Ó€AØ‡G�G„IÜ	�‰�t %Ô	(ð &¨JØ�‰Ó  AÒ%Ð%Ñ%÷&÷ &ñ &ús   Á%BÂBc                  ó°   — t         j                  dk\  rd } n%t        j                  t        j
                  d¬«      } t        t        j                  | ¬«       y )Nl        zARequested memory map length 4294967306 does not fit in a C size_tr1   ©r#   )r   Úmaxsizer   r*   r3   ÚArrowCapacityErrorr'   rá  r  s    r&   Útest_memory_map_large_seeksr  Î  s?   € Ü
‡{�{�eÒØ‰äŸ™Ü×!Ñ!ð/ô0ˆô ”b—m‘m°NÖCr-   c                 óø   — t         j                  j                  t        | «      t	        «       «      }t        j                  |d«      }|j                  «        |j                  sJ ‚t        j                  |«       y ©NrV  )
r    r§   r¨   r©   r	   r3   rú  r8   r7   rî  )r¬   r§   rý  s      r&   Útest_memory_map_close_remover  Ù  sN   € ä�7‰7�<‰<œ˜F›¤T£VÓ,€DÜ×Ñ  dÓ+€DØ‡J�J„LØ�;Š;Ðˆ;Ü‡I�Iˆd…Or-   c                 ó¼   — t         j                  j                  t        | «      t	        «       «      }t        j                  |d«       t        j                  |«       y r  )r    r§   r¨   r©   r	   r3   rú  rî  )r¬   r§   s     r&   Útest_memory_map_deref_remover
  â  s7   € Ü�7‰7�<‰<œ˜F›¤T£VÓ,€DÜ×Ñ˜˜tÔ$Ü‡I�Iˆd…Or-   c                 ó¶  — d}t        |«      D �cg c]  }t        j                  dd«      ‘Œ }}t        |d | «      }t        j
                  j                  t        | «      t        «       «      }t        |d«      5 }|j                  |«       d d d «       t        j                  |d¬«      }|j                  d«       t        j                  |«      5 }|j                  «       dk(  sJ ‚	 d d d «       t        j                  t         «      5  |j#                  d	«       d d d «       |j%                  «        t        j                  |d
¬«      5 }	|	j                  d«       d d d «       t        j                  |«      5 }
|
j                  «       dk(  sJ ‚	 d d d «       y c c}w # 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   ŒhxY w# 1 sw Y   y xY w)NrV  r   rx  r   rd   rC   r¸  r`   r   Úabs   barrS   )r¼   r}  r~  r�  r    r§   r¨   r©   r	   r   r   r3   ré  r   r   r*   rõ  r   r8   )r¬   rÕ  rÖ  rò   rJ   r§   r%   rÉ  rö  r÷  Úf5s              r&   Útest_os_file_writerr  è  sy  € Ø€DÜ+0°«;Ö
7 aŒ6�>‰>˜!˜SÕ!Ð
7€CÐ
7Ü��U�d�Ó€Dä�7‰7�<‰<œ˜F›¤T£VÓ,€DÜ	ˆd�DÓ	ð ˜QØ	�‰�Œ÷ô 
�‰�4˜cÔ	"€BØ‡H�HˆVÔä	�‰�4‹ð ˜BØ�w‰w‹y˜AŠ~Ð‰~÷ô 
�‰”wÓ	ñ Ø
�‰�Œ
÷à‡H�H„Jô 
�‰�4˜dÔ	#ð  rØ
�‰�Ô÷ä	�‰�4‹ð ˜BØ�w‰w‹y˜AŠ~Ð‰~÷ð ùò+ 8÷ñ ú÷ð ú÷ð ú÷
ð ú÷ð úsA   �FÁ:FÃF+Ä	F7Å
GÅ9GÆF(Æ+F4Æ7G ÇGÇGc                  óª   — t        j                  «       } t        j                  t        «      5  | j                  d«       d d d «       y # 1 sw Y   y xY w)NÚfoo)r3   r­  r   r*   r9   r   )Únfs    r&   Ú%test_native_file_write_reject_unicoder    s<   € ä	×	Ñ	Ó	 €BÜ	�‰”yÓ	!ñ Ø
�‰�Œ÷÷ ñ ús   ®A	Á	Ac                 ób	  — t         j                  j                  t        | «      t	        «       «      }t        |d«      5 }|j                  d«       d d d «       t        j                  |d¬«      5 }|j                  dk(  sJ ‚|j                  «       sJ ‚|j                  «       rJ ‚|j                  «       sJ ‚	 d d d «       t        j                  |d¬«      5 }|j                  dk(  sJ ‚|j                  «       sJ ‚|j                  «       rJ ‚|j                  «       sJ ‚	 d d d «       t        j                  |d¬«      5 }|j                  dk(  sJ ‚|j                  «       rJ ‚|j                  «       sJ ‚|j                  «       rJ ‚	 d d d «       t        j                  |d¬«      5 }|j                  dk(  sJ ‚|j                  «       rJ ‚|j                  «       sJ ‚|j                  «       rJ ‚	 d d d «       t        j                  |d¬«      5 }|j                  dk(  sJ ‚|j                  «       rJ ‚|j                  «       sJ ‚|j                  «       rJ ‚	 d d d «       t        j                  |d¬«      5 }|j                  dk(  sJ ‚|j                  «       rJ ‚|j                  «       sJ ‚|j                  «       rJ ‚	 d d d «       t        |d«      5 }|j                  d«       d d d «       t        j                  |d«      5 }|j                  dk(  sJ ‚|j                  «       sJ ‚|j                  «       rJ ‚|j                  «       sJ ‚	 d d d «       t        j                  |d	«      5 }|j                  d
k(  sJ ‚|j                  «       sJ ‚|j                  «       sJ ‚|j                  «       sJ ‚	 d d d «       t        j                  |d«      5 }|j                  d
k(  sJ ‚|j                  «       sJ ‚|j                  «       sJ ‚|j                  «       s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   �ŒÅxY w# 1 sw Y   �ŒjxY w# 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   �ŒAxY w# 1 sw Y   ŒæxY w# 1 sw Y   y xY w)Nr   ó   foooorB   rC   r“   rd   r  r  zr+zrb+rñ  )r    r§   r¨   r©   r	   r   r   r3   ré  rD   r«   rª   rU   rá  )r¬   r§   r%   s      r&   Útest_native_file_modesr  
  sú  € Ü�7‰7�<‰<œ˜F›¤T£VÓ,€DÜ	ˆd�DÓ	ð ˜QØ	�‰�Ô÷ô 
�‰�4˜cÔ	"ð  aØ�v‰v˜Š~Ðˆ~Ø�z‰zŒ|Ðˆ|Ø—:‘:”<ÐÐØ�z‰zŒ|Ð‰|÷	ô 
�‰�4˜dÔ	#ð  qØ�v‰v˜Š~Ðˆ~Ø�z‰zŒ|Ðˆ|Ø—:‘:”<ÐÐØ�z‰zŒ|Ð‰|÷	ô 
�‰�4˜cÔ	"ð   aØ�v‰v˜Š~Ðˆ~Ø—:‘:”<ÐÐØ�z‰zŒ|Ðˆ|Ø—:‘:”<ÐÐ�<÷	 ô 
�‰�4˜dÔ	#ð   qØ�v‰v˜Š~Ðˆ~Ø—:‘:”<ÐÐØ�z‰zŒ|Ðˆ|Ø—:‘:”<ÐÐ�<÷	 ô 
�‰�4˜dÔ	#ð   qØ�v‰v˜Š~Ðˆ~Ø—:‘:”<ÐÐØ�z‰zŒ|Ðˆ|Ø—:‘:”<ÐÐ�<÷	 ô 
�‰�4˜cÔ	"ð   aØ�v‰v˜Š~Ðˆ~Ø—:‘:”<ÐÐØ�z‰zŒ|Ðˆ|Ø—:‘:”<ÐÐ�<÷	 ô 
ˆd�DÓ	ð ˜QØ	�‰�Ô÷ô 
�‰�t˜SÓ	!ð  QØ�v‰v˜Š~Ðˆ~Ø�z‰zŒ|Ðˆ|Ø—:‘:”<ÐÐØ�z‰zŒ|Ð‰|÷	ô 
�‰�t˜TÓ	"ð  aØ�v‰v˜ŠÐˆØ�z‰zŒ|Ðˆ|Ø�z‰zŒ|Ðˆ|Ø�z‰zŒ|Ð‰|÷	ô 
�‰�t˜UÓ	#ð  qØ�v‰v˜ŠÐˆØ�z‰zŒ|Ðˆ|Ø�z‰zŒ|Ðˆ|Ø�z‰zŒ|Ð‰|÷	ð ÷mñ ú÷ñ ú÷ñ ú÷ ñ  ú÷ ñ  ú÷ ñ  ú÷ ñ  ú÷ñ ú÷ñ ú÷ð ú÷ð úsŒ   ¾P$Á/AP1ÃAP>Ä?AQÆ'AQÈAQ%É7AQ2ËQ?ÌARÍ+ARÏAR%Ð$P.Ð1P;Ð>QÑQÑQ"Ñ%Q/Ñ2Q<Ñ?R	ÒRÒR"Ò%R.r   z umask doesn't work on Emscripten)Úreasonc                 óz  — t        j                  d«      }t        j                  |«       t         j                  j                  t	        | «      t        «       «      }t        j                  |d¬«      5  	 d d d «       t        j                  |«      j                  dz  d| z  k(  sJ ‚t         j                  j                  t	        | «      t        «       «      }t        j                  |d«      5  	 d d d «       t        j                  |«      j                  dz  d| z  k(  sJ ‚y # 1 sw Y   Œ±xY w# 1 sw Y   ŒAxY w)NrT   rd   rC   iÿ  i¶  )r    Úumaskr§   r¨   r©   r	   r3   ré  ÚstatÚst_moderá  )r¬   Ú	cur_umaskr§   s      r&   Útest_native_file_permissionsr  I  sí   € ô
 —‘˜“€IÜ‡H�HˆYÔä�7‰7�<‰<œ˜F›¤T£VÓ,€DÜ	�‰�4˜cÔ	"ñ Ø÷ä�7‰7�4‹=× Ñ  5Ñ(¨E°Y°JÑ,>Ò>Ð>Ð>ä�7‰7�<‰<œ˜F›¤T£VÓ,€DÜ	�‰�t˜SÓ	!ñ Ø÷ä�7‰7�4‹=× Ñ  5Ñ(¨E°Y°JÑ,>Ò>Ð>Ñ>÷ð ú÷
ð ús   Á3D%Ã/D1Ä%D.Ä1D:c                 óš  — t         j                  j                  t        | «      t	        «       «      }t        |d«      5 }|j                  d«       d d d «       t        j                  |d¬«      5 }|j                  rJ ‚	 d d d «       j                  sJ ‚t        j                  |d¬«      5 }|j                  rJ ‚	 d d d «       j                  sJ ‚||g}g d¢}|D ]=  }|D ]6  \  }}t        j                  t        «      5   t        ||«      |Ž  d d d «       Œ8 Œ? y # 1 sw Y   ŒÎxY w# 1 sw Y   Œ«xY w# 1 sw Y   ŒzxY w# 1 sw Y   ŒixY w)Nr   r  r“   rC   ))r   r,   )r   )r   )r   r,   )Úflushr,   )r«   r,   )rª   r,   )rU   r,   )r    r§   r¨   r©   r	   r   r   r3   ré  r7   rá  r   r*   rñ   Úgetattr)	r¬   r§   r%   Úos_fileÚ	mmap_fileÚfilesÚmethodsÚmethodÚargss	            r&   Ú.test_native_file_raises_ValueError_after_closer&  \  s@  € Ü�7‰7�<‰<œ˜F›¤T£VÓ,€DÜ	ˆd�DÓ	ð ˜QØ	�‰�Ô÷ô 
�‰�4˜dÔ	#ð " wØ—>’>Ð!Ð!�>÷"à�>Š>Ðˆ>ä	�‰�t $Ô	'ð $¨9Ø×#Ò#Ð#Ð#Ð#÷$à×ÒÐÐàØð€Eò!€Gð ò *ˆØ#ò 	*‰LˆF�DÜ—‘œzÓ*ñ *Ø"”˜˜6Ó" DÑ)÷*ð *ñ	*ñ*÷-ð ú÷"ð "ú÷$ð $ú÷"*ð *ús/   ¾DÁ/D)Â,D5Ä EÄD&Ä)D2Ä5D>ÅE
c                 ó$  — d}t         j                  j                  t        | «      t	        «       «      }t        |d«      5 }|j                  |j                  d«      «       d d d «       t        t        j                  |d¬«      «      5 }|j                  «       sJ ‚|j                  «       }||k(  sJ ‚	 d d d «       j                  sJ ‚t        t        j                  |d¬«      «      5 }t        |«      }dj                  |«      |k(  sJ ‚	 d d d «       t         j                  j                  t        | «      t	        «       «      }t        t        j                  |d¬«      «      5 }|j                  «       sJ ‚|j                  |«       d d d «       t        t        j                  |d¬«      «      5 }|j                  «       }||k(  sJ ‚	 d d d «       y # 1 sw Y   �ŒuxY w# 1 sw Y   �Œ/xY w# 1 sw Y   ŒâxY w# 1 sw Y   ŒqxY w# 1 sw Y   y xY w)Nzfoooo
barrr
bazzz
r   úutf-8r“   rC   Ú )r    r§   r¨   r©   r	   r   r   Úencoder   r3   ré  r«   r   r7   Úlistrª   )r¬   rJ   r§   r%   ÚfilÚresr²   Úpath2s           r&   Útest_native_file_TextIOWrapperr/  z  sª  € ð€Dô �7‰7�<‰<œ˜F›¤T£VÓ,€DÜ	ˆd�DÓ	ð &˜QØ	�‰�—‘˜GÓ$Ô%÷&ô 
”r—y‘y ¨DÔ1Ó	2ð °cØ�|‰|Œ~Ðˆ~Ø�h‰h‹jˆØ�dŠ{Ð‰{÷ð �:Š:Ðˆ:ä	”r—y‘y ¨DÔ1Ó	2ð &°cä�S“	ˆØ�w‰w�u‹~ Ò%Ð%Ñ%÷&ô �G‰G�L‰Lœ˜V›¤d£fÓ-€EÜ	”r—y‘y ¨TÔ2Ó	3ð °sØ�|‰|Œ~Ðˆ~Ø�	‰	�$Œ÷ô 
”r—y‘y ¨TÔ2Ó	3ð °sØ�h‰h‹jˆØ�dŠ{Ð‰{÷ð ÷)&ñ &ú÷ñ ú÷&ð &ú÷ð ú÷ð ús<   Á !GÂ	*G!Ã*"G.Å&$G:Æ2HÇGÇ!G+Ç.G7Ç:HÈHc                 óô  — d}t        | dz  «      }t        |d«      5 }|j                  |dz  «       d d d «       t        j                  |d¬«      }t        |«      5 }|j                  «       dk(  sJ ‚d}|j                  |«      }t        |«      t        j                  d	|z  t        |«      z  «      k(  sJ ‚||j                  «       cxk  r	|d	z  k  sJ ‚ J ‚	 d d d «       y # 1 sw Y   Œ±xY w# 1 sw Y   y xY w)
Ns	   foo
quux
úlargefile.txtr   i † r“   rC   r   i N  rT   )r©   r   r   r3   ré  r   r   Ú	readlinesr5   ÚmathÚceil)r¬   rJ   r§   r%   Úbinary_filerM   r²   s          r&   Ú#test_native_file_TextIOWrapper_perfr6  ™  s÷   € ð €DÜˆv˜Ñ'Ó(€DÜ	ˆd�DÓ	ð  ˜QØ	�‰��w‘Ô÷ ô —)‘)˜D tÔ,€KÜ	�{Ó	#ð : qØ×ÑÓ! QÒ&Ð&Ð&ØˆØ—‘˜FÓ#ˆÜ�5‹zœTŸY™Y q¨6¡z´C¸³IÑ'=Ó>Ò>Ð>Ð>Ø˜×)Ñ)Ó+Ô9¨v¸©zÒ9Ð9Ñ9Ð9Ñ9÷:ð :÷	 ð  ú÷:ð :ús   �C"ÁA<C.Ã"C+Ã.C7c                 óú  — ddz  }t        | dz  «      }t        |d«      5 }|j                  |«       d d d «       g }t        j                  |d¬«      5 }	 |j                  «       }t        |«      t        |«      k  sJ ‚|j                  |«       |j                  d«      }t        |«      dk  sJ ‚|j                  |«       |snŒp	 d d d «       dj                  |«      |k(  sJ ‚y # 1 sw Y   Œ´xY w# 1 sw Y   Œ,xY w)	Ns   123
i@B r1  r   r“   rC   i0u  r-   )	r©   r   r   r3   ré  Úread1r5   rå  r¨   )r¬   rJ   r§   r%   Úchunksr  s         r&   Útest_native_file_read1r:  ª  sù   € ð �iÑ€DÜˆv˜Ñ'Ó(€DÜ	ˆd�DÓ	ð ˜QØ	�‰�Œ÷ð €FÜ	�‰�4˜dÔ	#ð 	 qØØ—‘“	ˆAÜ�q“6œC ›IÒ%Ð%Ð%Ø�M‰M˜!ÔØ—‘˜“ˆAÜ�q“6˜VÒ#Ð#Ð#Ø�M‰M˜!ÔÙØð ð ÷	ð �8‰8�FÓ˜tÒ#Ð#Ñ#÷ð ú÷	ð 	ús    C%ÁA2C1Ã%C.Ã1C:c                 ó¨  — dd l }dd lm} ddz  }t        | dz  «      }t	        |d«      5 }|j                  |«       d d d «       t        j                  |d¬«      5 }|j                  |d¬	«      }|j                  d
gdz  dgdz  dœ«      }|j                  ||«       |j                  «       dk  sJ ‚	 d d d «       y # 1 sw Y   Œ�xY w# 1 sw Y   y xY w)Nr   s   a,b
i€–˜ r1  r   r“   rC   rj   )Únrowsr  r  r  i   )ÚpandasÚpandas.testingÚtestingr©   r   r   r3   ré  Úread_csvÚ	DataFrameÚassert_frame_equalr   )r¬   ÚpdÚtmrJ   r§   r%   Údfr=   s           r&   Ú#test_native_file_pandas_text_readerrF  Á  sÐ   € ó ÝØ�jÑ €DÜˆv˜Ñ'Ó(€DÜ	ˆd�DÓ	ð ˜QØ	�‰�Œ÷ô 
�‰�4˜dÔ	#ð & qØ�[‰[˜ "ˆ[Ó%ˆØ—<‘< s e¨b¡j¸°u¸r±zÑ BÓCˆØ
×Ñ˜b (Ô+à�v‰v‹x˜:Ò%Ð%Ñ%÷&ð &÷ð ú÷&ð &ús   ªB<ÁACÂ<CÃCc                  óØ   — t        «       5  t        j                  dd«       d d d «       t        «       5  t        j                  dd«       d d d «       y # 1 sw Y   Œ3xY w# 1 sw Y   y xY w)NÚnon_existent_filer“   )r.   r3   ré  rá  r,   r-   r&   Útest_native_file_open_errorrI  Ô  s[   € Ü	Ó	 ñ -Ü
�	‰	Ð% tÔ,÷-ä	Ó	 ñ 1Ü
�‰Ð)¨4Ô0÷1ð 1÷-ð -ú÷1ð 1ús   ‹A´A ÁAÁ A)c                  ó
  — t        j                  d«      } t        j                  | d¬«      }|j                  d«      dk(  sJ ‚| j	                  «       dk(  sJ ‚|j                  «        |j                  sJ ‚| j                  sJ ‚y )Nó	   123456789rE   ©Úbuffer_sizerT   ó   12)r3   r—   ÚBufferedInputStreamr   r   r8   r7   )Úrawr%   s     r&   Útest_buffered_input_streamrQ  Þ  sj   € Ü
�/‰/˜,Ó
'€CÜ
×Ñ˜s°Ô2€AØ�6‰6�!‹9˜ÒÐÐØ�8‰8‹:˜Š?Ðˆ?Ø‡G�G„IØ�8Š8€Oˆ8Ø�:Š:Ð‰:r-   c                  óz  — t        j                  t        j                  d«      d¬«      } | j                  d«      dk(  sJ ‚| j	                  «       }| j
                  sJ ‚|j
                  rJ ‚|j                  «       sJ ‚|j                  d«      dk(  sJ ‚|j                  d«       |j                  d«      dk(  sJ ‚y )NrK  rE   rL  rT   rN  ó   5678s   3456)r3   rO  r—   r   Údetachr7   rU   r   ©r%   rP  s     r&   Ú*test_buffered_input_stream_detach_seekablerV  è  sš   € ä
×ÑœrŸ™¨|Ó<È!ÔL€AØ�6‰6�!‹9˜ÒÐÐØ
�(‰(‹*€CØ�8Š8€Oˆ8Ø�zŠzÐˆ>Ø�<‰<Œ>Ðˆ>Ø�8‰8�A‹;˜'Ò!Ð!Ð!Ø‡H�HˆQ„KØ�8‰8�A‹;˜'Ò!Ð!Ñ!r-   c                  óÔ  — t        j                  t        j                  t        j                  d«      d¬«      d¬«      } | j                  d«      dk(  sJ ‚| j	                  «       }| j
                  sJ ‚|j
                  rJ ‚|j                  «       rJ ‚|j                  d«      dk(  sJ ‚t        j                  t        «      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)NrK  rE   rL  rT   rN  rS  )r3   rO  r—   r   rT  r7   rU   r   r*   ÚEnvironmentErrorr   rU  s     r&   Ú.test_buffered_input_stream_detach_non_seekablerY  õ  sº   € ä
×ÑÜ
×ÑœrŸ™¨|Ó<È!ÔLØô	€Að �6‰6�!‹9˜ÒÐÐØ
�(‰(‹*€CØ�8Š8€Oˆ8Ø�zŠzÐˆ>Ø�|‰|Œ~ÐÐØ�8‰8�A‹;˜'Ò!Ð!Ð!Ü	�‰Ô'Ó	(ñ Ø�‰�Œ÷÷ ñ ús   ÃCÃC'c                  ó  — t        j                  dt         j                  ¬«      } t        j                  | «      }t        j
                  |«      }t        j                  |d¬«      }|j                  d«       | d d j                  «       dk(  sJ ‚|j                  «        | d d j                  «       dk(  sJ ‚|j                  d«       |j                  «        |j                  sJ ‚|j                  sJ ‚| d d	 j                  «       d
k(  sJ ‚y )NrP   rã   rE   rL  rN  ó       ó   12  s   3456789rj   s
   123456789 )rå   Úzerosrî   r3   rÆ   r.  ÚBufferedOutputStreamr   r„   r  r8   r7   )Únp_bufr:   rP  r%   s       r&   Útest_buffered_output_streamr`    sÝ   € ä�X‰X�c¤§¡Ô)€FÜ
�,‰,�vÓ
€Cä
×
"Ñ
" 3Ó
'€CÜ
×Ñ °Ô3€AØ‡G�GˆE„NØ�"�1ˆ:×ÑÓ ;Ò.Ð.Ð.Ø‡G�G„IØ�"�1ˆ:×ÑÓ 9Ò,Ð,Ð,Ø‡G�GˆJÔØ‡G�G„IØ�8Š8€Oˆ8Ø�:Š:Ðˆ:Ø�#�2ˆ;×ÑÓ  NÒ2Ð2Ñ2r-   c                  ó¦  — t        j                  dt         j                  ¬«      } t        j                  | «      }t        j
                  t        j                  |«      d¬«      }|j                  d«       | d d j                  «       dk(  sJ ‚|j                  «       }|j                  sJ ‚|j                  rJ ‚| d d j                  «       dk(  sJ ‚y )NrP   rã   rE   rL  rN  r[  r\  )rå   r]  rî   r3   rÆ   r^  r.  r   r„   rT  r7   )r_  r:   r%   rP  s       r&   Ú"test_buffered_output_stream_detachrb    s¨   € ä�X‰X�c¤§¡Ô)€FÜ
�,‰,�vÓ
€Cä
×Ñ¤× 8Ñ 8¸Ó =È1ÔM€AØ‡G�GˆE„NØ�"�1ˆ:×ÑÓ ;Ò.Ð.Ð.Ø
�(‰(‹*€CØ�8Š8€Oˆ8Ø�zŠzÐˆ>Ø�"�1ˆ:×ÑÓ 9Ò,Ð,Ñ,r-   c                 ó€  — t        j                  |d¬«      }t        j                  ||«      5 }|j                  rJ ‚|j	                  «       sJ ‚|j                  «       rJ ‚|j                  «       rJ ‚|j                  «       }|| k(  sJ ‚	 d d d «       j                  sJ ‚|j                  sJ ‚t        j                  |d¬«      }t        j                  ||«      5 }|j                  «       }t        |t         j                  «      sJ ‚|j                  «       | k(  sJ ‚	 d d d «       y # 1 sw Y   ŒžxY w# 1 sw Y   y xY w©Nr“   rC   )r3   ré  ÚCompressedInputStreamr7   r«   rª   rU   r   r}   r‰   rÇ   r¢   )rJ   Úfnrm  rP  Ú
compressedÚgotr:   s          r&   Úcheck_compressed_inputri  '  s(  € Ü
�)‰)�B˜TÔ
"€CÜ	×	!Ñ	! # {Ó	3ð °zØ×$Ò$Ð$Ð$Ø×"Ñ"Ô$Ð$Ð$Ø×&Ñ&Ô(Ð(Ð(Ø×&Ñ&Ô(Ð(Ð(Ø�o‰oÓˆØ�dŠ{Ð‰{÷ð ×ÒÐÐØ�:Š:Ðˆ:ô �)‰)�B˜TÔ
"€CÜ	×	!Ñ	! # {Ó	3ð (°zØ×$Ñ$Ó&ˆÜ˜#œrŸy™yÔ)Ð)Ð)Ø�~‰~Ó 4Ò'Ð'Ñ'÷(ð (÷ð ú÷(ð (ús   ®AD(ÃAD4Ä(D1Ä4D=c                 ó¶   — d}t        | dz  «      }t        j                  |d«      5 }|j                  |«       d d d «       t	        ||d«       y # 1 sw Y   ŒxY w)Nóš   some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
eof
zcompressed_input_test.gzr   rq  )r©   rq  r   r   ri  ©r¬   rJ   rf  r%   s       r&   Útest_compressed_input_gziprm  ;  sS   € à.€DÜ	ˆVÐ0Ñ0Ó	1€BÜ	�‰�2�tÓ	ð  Ø	�‰�Œ÷ä˜4  VÕ,÷ð ús   §AÁAc                 ó   — d}t        | dz  «      }t        j                  |d«      5 }|j                  |«       d d d «       	 t	        ||d«       y # 1 sw Y   ŒxY w# t
        $ r(}t        j                  t        |«      «       Y d }~y d }~ww xY w)Nrk  zcompressed_input_test.bz2rd   rn  )r©   rn  ÚBZ2Filer   ri  rD  r   r   )r¬   rJ   rf  r%   Úes        r&   Útest_compressed_input_bz2rq  D  s|   € Ø.€DÜ	ˆVÐ1Ñ1Ó	2€BÜ	�‰�R˜Ó	ð  Ø	�‰�Œ÷ðÜ˜t R¨Õ/÷ð ûô ò Ü�‰”C˜“F×Ñûðús#   §AÁA ÁAÁ	BÁ%BÂBc                 ój  — t        j                  d«      st        j                  d«       d}t	        | dz  «      }t        j                  |d«      5 }|j                  |«       d d d «       t        j                  |d«      5 }|j                  «       }|j                  «       |k(  sJ ‚	 d d d «       j                  sJ ‚t        j                  t        j                  |«      d«      5 }|j                  «       }|j                  «       |k(  sJ ‚	 d d d «       |j                  sJ ‚t        |d«      }t        j                  |d«      5 }|j                  «       }|j                  «       |k(  sJ ‚	 d d d «       |j                  sJ ‚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   Œ=xY w)Nrq  úgzip support is not builtrk  z!test_compressed_input_openfile.gzr   r“   )r
   r|  r   r   r©   rq  r   r   r3   re  r}   r¢   r7   ÚpathlibÚPath)r¬   rJ   rf  r%   rg  r:   s         r&   Útest_compressed_input_openfilerv  O  s…  € ä×Ñ˜fÔ%Ü�‰Ð/Ô0à.€DÜ	ˆVÐ9Ñ9Ó	:€BÜ	�‰�2�tÓ	ð  Ø	�‰�Œ÷ô 
×	!Ñ	! " fÓ	-ð (°Ø×$Ñ$Ó&ˆØ�~‰~Ó 4Ò'Ð'Ñ'÷(ð ×ÒÐÐä	×	!Ñ	!¤'§,¡,¨rÓ"2°FÓ	;ð (¸zØ×$Ñ$Ó&ˆØ�~‰~Ó 4Ò'Ð'Ñ'÷(ð ×ÒÐÐäˆR�‹€AÜ	×	!Ñ	! ! VÓ	,ð (°
Ø×$Ñ$Ó&ˆØ�~‰~Ó 4Ò'Ð'Ñ'÷(ð �8Š8€O‰8÷#ñ ú÷(ð (ú÷
(ð (ú÷(ð (ús0   ÁFÂ&FÃ'&FÅ&F)ÆFÆFÆF&Æ)F2c                 ó¸   — t        j                  |d¬«      }t        j                  ||«      5 }|j                  «       }|| k(  sJ ‚	 d d d «       y # 1 sw Y   y xY wrd  )r3   ré  re  r   )rJ   rf  rm  rP  rg  rh  s         r&   Úcheck_compressed_concatenatedrx  j  sQ   € Ü
�)‰)�B˜TÔ
"€CÜ	×	!Ñ	! # {Ó	3ð °zØ�o‰oÓˆØ�dŠ{Ð‰{÷÷ ñ ús   ®AÁAc                 ó:  — d}t        | dz  «      }t        j                  |d«      5 }|j                  |d d «       d d d «       t        j                  |d«      5 }|j                  |dd  «       d d d «       t	        ||d«       y # 1 sw Y   ŒJxY w# 1 sw Y   Œ#xY w)Nrk  zcompressed_input_test2.gzr   rG   r  rq  )r©   rq  r   r   rx  rl  s       r&   Ú!test_compressed_concatenated_gziprz  q  s‘   € à.€DÜ	ˆVÐ1Ñ1Ó	2€BÜ	�‰�2�tÓ	ð  Ø	�‰��S�b�	Ô÷ä	�‰�2�tÓ	ð  Ø	�‰��R�S�	Ô÷ä! $¨¨FÕ3÷	ð ú÷ð ús   §BÁBÂBÂBc                  ó  — d} t        j                  | «      }t        j                  t        «      5  t        j
                  |d«       d d d «       t        j                  t        «      5  t        j
                  |d «       d d d «       t        j
                  |d«      5 }t        j                  t        d¬«      5  |j                  «        d d d «       d d d «       y # 1 sw Y   Œ•xY w# 1 sw Y   ŒixY w# 1 sw Y   Œ*xY w# 1 sw Y   y xY w)Ns   foofoofoofoofoofoofoofoofoofooÚunknown_compressionrq  zzlib inflate failedr1   )	r3   r—   r   r*   rñ   re  r9   rõ  r   )rJ   rP  rg  s      r&   Útest_compressed_input_invalidr}  |  sÔ   € à€DÜ
�/‰/˜$Ó
€CÜ	�‰”zÓ	"ñ =Ü
× Ñ  Ð&;Ô<÷=ä	�‰”yÓ	!ñ ,Ü
× Ñ   dÔ+÷,ô 
×	!Ñ	! # vÓ	.ð °*Ü�]‰]œ7Ð*?Ô@ñ 	Ø�O‰OÔ÷	÷ð ÷=ð =ú÷,ð ,ú÷	ð 	ú÷ð ús;   ±CÁ)C(ÂD Â:C4ÃD ÃC%Ã(C1Ã4C=	Ã9D Ä D	c                 óä  — t        j                  «       }t        j                  ||«      5 }|j                  rJ ‚|j	                  «       rJ ‚|j                  «       sJ ‚|j                  «       rJ ‚|j                  | «       d d d «       j                  sJ ‚|j                  sJ ‚t        |d«      5 }|j                  |j                  «       «       d d d «       y # 1 sw Y   ŒZxY w# 1 sw Y   y xY w)Nr   )
r3   r­  ÚCompressedOutputStreamr7   r«   rª   rU   r   r   r6   )rJ   rf  rm  rP  rg  r%   s         r&   Úmake_compressed_outputr€  Š  sÞ   € Ü
×
Ñ
Ó
!€CÜ	×	"Ñ	" 3¨Ó	4ð ¸
Ø×$Ò$Ð$Ð$Ø×&Ñ&Ô(Ð(Ð(Ø×"Ñ"Ô$Ð$Ð$Ø×&Ñ&Ô(Ð(Ð(Ø×Ñ˜Ô÷ð ×ÒÐÐØ�:Š:Ðˆ:Ü	ˆb�$‹ð  ˜1Ø	�‰�—‘“Ô÷ ð  ÷ð ú÷ ð  ús   «ACÂ1 C&ÃC#Ã&C/c                 óÄ   — d}t        | dz  «      }t        ||d«       t        j                  |d«      5 }|j	                  «       }||k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrk  zcompressed_output_test.gzrq  r“   )r©   r€  rq  r   r   )r¬   rJ   rf  r%   rh  s        r&   Útest_compressed_output_gzipr‚  ˜  s_   € à.€DÜ	ˆVÐ1Ñ1Ó	2€BÜ˜4  VÔ,Ü	�‰�2�tÓ	ð  Ø�f‰f‹hˆØ�dŠ{Ð‰{÷÷ ñ ús   ´AÁAc                 ó.  — d}t        | dz  «      }	 t        ||d«       t        j                  |d«      5 }|j                  «       }||k(  sJ ‚	 d d d «       y # t        $ r(}t        j                  t        |«      «       Y d }~Œdd }~ww xY w# 1 sw Y   y xY w)Nrk  zcompressed_output_test.bz2rn  rB   )r©   r€  rD  r   r   rn  ro  r   )r¬   rJ   rf  rp  r%   rh  s         r&   Útest_compressed_output_bz2r„  ¢  s�   € Ø.€DÜ	ˆVÐ2Ñ2Ó	3€BðÜ˜t R¨Ô/ô 
�‰�R˜Ó	ð  Ø�f‰f‹hˆØ�dŠ{Ð‰{÷ð øô ò Ü�‰”C˜“F×Ñûðú÷ð ús"   ’A µBÁ	BÁ BÂBÂBc                 ó   — t        j                  d«      st        j                  d«       t	        j
                  | dz  d«      5 }|j                  d«       d d d «       | dz  j                  d«      5 }t	        j
                  |d«      5 }|j                  d«       d d d «       d d d «       y # 1 sw Y   ŒWxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nrq  rs  zctor.gzs   testzctor2.gzr   )r
   r|  r   r   r3   r  r   r   )r¬   rZ   r%   s      r&   Útest_output_stream_constructorr†  ®  s·   € Ü×Ñ˜fÔ%Ü�‰Ð/Ô0Ü	×	"Ñ	" 6¨IÑ#5°vÓ	>ð À&Ø�‰�WÔ÷à
�:Ñ
×	#Ñ	# DÓ	)ð "¨QÜ×&Ñ& q¨&Ó1ð 	"°VØ�L‰L˜Ô!÷	"÷"ð "÷ð ú÷	"ð 	"ú÷"ð "ús0   ÁB,Á2CÂ	B8ÂCÂ,B5Â8C	Â=CÃC)r§   Úexpected_compression)zfile.bz2rn  )zfile.lz4rr  zfile.gzzpath/to/file.zstc                 óN  — t        j                  |«      sLt        j                  t        j
                  j                  «      5  t        j                  | «       d d d «       y t        j                  | «      }t        |t         «      sJ ‚|j                  |k(  sJ ‚y # 1 sw Y   y xY wr)   )
r
   r|  r   r*   r3   ÚlibÚArrowNotImplementedErrorÚdetectr‰   rŽ  )r§   r‡  rz  s      r&   Útest_compression_detectionrŒ  ¸  s‚   € ô ×ÑÐ2Ô3Ü�]‰]œ2Ÿ6™6×:Ñ:Ó;ñ 	Ü�L‰L˜Ô÷	ð 	ô —‘˜TÓ"ˆÜ˜%¤Ô'Ð'Ð'Ø�z‰zÐ1Ò1Ð1Ñ1÷	ð 	ús   ÁBÂB$c                  ón  — t        j                  t        «      5  t        j                  d«       d d d «       t        j                  t
        «      5  t        d «       d d d «       t        j                  t        «      5  t        d«       d d d «       y # 1 sw Y   ŒdxY w# 1 sw Y   ŒCxY w# 1 sw Y   y xY w)NÚunknown)r   r*   rñ   r
   r|  r9   r,   r-   r&   Útest_unknown_compression_raisesr�  È  s‡   € Ü	�‰”zÓ	"ñ &Ü×Ñ˜9Ô%÷&ä	�‰”yÓ	!ñ ÜˆdŒ÷ä	�‰”zÓ	"ñ ÜˆiÔ÷ð ÷	&ð &ú÷ð ú÷ð ús#   šBÁBÁ>B+ÂBÂB(Â+B4c                 ó  — t        j                  | «      st        j                  | › d�«       d}t	        j
                  «       }t	        j                  || «      5 }|j                  |«       d d d «       |j                  «       }t        |«      t        |«      k  sJ ‚t	        j                  |«      }t	        j                  || «      5 }|j                  «       }||k(  sJ ‚	 d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nrv  rk  )r
   r|  r   r   r3   r­  r  r   r6   r5   r—   re  r   )rm  rJ   rP  rg  Úcdatarh  s         r&   Útest_compressed_roundtripr’  Ñ  sã   € ô ×Ñ˜kÔ*Ü�‰�{�mÐ#8Ð9Ô:à.€DÜ
×
Ñ
Ó
!€CÜ	×	"Ñ	" 3¨Ó	4ð ¸
Ø×Ñ˜Ô÷ð �L‰L‹N€EÜˆu‹:œ˜D›	Ò!Ð!Ð!Ü
�/‰/˜%Ó
 €CÜ	×	!Ñ	! # {Ó	3ð °zØ�o‰oÓˆØ�dŠ{Ð‰{÷ð ÷ð ú÷ð ús   ÁC*ÃC6Ã*C3Ã6C?)rn  rp  rq  rr  rs  c                 óŒ  — t        j                  | «      st        j                  | › d�«       t        j
                  j                  t	        j                  g d¢«      gdg«      }t	        j                  «       }t	        j                  || «      }t	        j                  ||j                  «      }|j                  |d¬«       |j                  «        |j                  «        |j                  «       }t	        j                  t	        j                   |«      | «      }t	        j"                  |«      j%                  «       }||k(  sJ ‚y )Nrv  )rO   rT   r`   rE   r   r  r`   )Úmax_chunksize)r
   r|  r   r   r3   ÚTablerÄ  ré   r­  r  rÅ  rÆ  Úwrite_tabler8   r6   re  r—   ÚRecordBatchStreamReaderÚread_all)rm  ÚtablerP  rZ   r0  r:   Ú	got_tables          r&   Ú"test_compressed_recordbatch_streamr›  í  sô   € ô
 ×Ñ˜kÔ*Ü�‰�{�mÐ#8Ð9Ô:ô �H‰H× Ñ ¤"§(¡(ª?Ó";Ð!<¸s¸eÓD€EÜ
×
Ñ
Ó
!€CÜ×&Ñ& s¨KÓ8€FÜ×'Ñ'¨°·±Ó=€FØ
×Ñ�u¨AÐÔ.Ø
‡L�L„NØ
‡L�L„NØ
�,‰,‹.€CÜ×%Ñ%¤b§o¡o°cÓ&:¸KÓH€FÜ×*Ñ*¨6Ó2×;Ñ;Ó=€IØ˜ÒÐÑr-   uŒ   DÃ¨s NoÃ«l oÃ¹ un zÃ©phyr haÃ¯ me vÃªt de glaÃ§ons wÃ¼rmiens je dÃ®ne dâ€™exquis rÃ´tis de bÅ“uf au kir Ã  lâ€™aÃ¿ dâ€™Ã¢ge mÃ»r & cÃ¦tera !c                 ó>  — t        |«      }t        j                  t        j                  | j	                  |«      «      ||«      }g }	 |j                  t        |«      «      }|j                  |«       |snŒ/dj                  |«      }|j                  |«      | k(  sJ ‚y )Nr-   )
Úiterr3   Útranscoding_input_streamr—   r*  r   Únextrå  r¨   r¿  )rJ   Úsrc_encodingÚdest_encodingÚchunk_sizesrZ   Úoutr:   s          r&   Úcheck_transcodingr¤    s�   € Ü�{Ó#€KÜ×(Ñ(Ü
�‰˜Ÿ™ LÓ1Ó2Ø�mó%€Fð €CØ
Ø�k‰kœ$˜{Ó+Ó,ˆØ�
‰
�3ŒÙØð	 ð
 �(‰(�3‹-€CØ�:‰:�mÓ$¨Ò,Ð,Ñ,r-   zsrc_encoding, dest_encoding)©r(  úutf-16©r¦  r(  )r(  z	utf-32-le)r(  z	utf-32-bec           	      óz   — t        t        | |ddg«       t        t        | |t        j                  g d¢«      «       y )Nr�   r   )rO   rT   r`   r   )r¤  Úunicode_transcoding_exampleÚ	itertoolsÚcycle)r   r¡  s     r&   Útest_transcoding_input_streamr¬    s8   € ô Ô1Ø" M°D¸!°9ô>ô Ô1Ø" MÜ—o‘o¢lÓ3õ5r-   )r(  r(  )r(  ÚUTF8c                 ód   — t        j                  d«      }t        j                  || |«      |u sJ ‚y )Ns   abc123)r3   r—   rž  ©r   r¡  rZ   s      r&   Útest_transcoding_no_opsr°  +  s9   € ô
 �_‰_˜YÓ'€FÜ×&Ñ&Ø�˜mó-Ø06ñ7ð 7ñ 7r-   )r(  Úascii)r(  zlatin-1c                 óô   — t        j                  t        j                  dj                  | «      «      | |«      }t	        j
                  t        «      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)Nu   Ä€rO   )r3   rž  r—   r*  r   r*   ÚUnicodeEncodeErrorr   r¯  s      r&   Útest_transcoding_encoding_errorr´  5  s^   € ô ×(Ñ(Ü
�‰˜Ÿ™¨Ó5Ó6ØØó€Fô 
�‰Ô)Ó	*ñ Ø�‰�AŒ÷÷ ñ ús   ÁA.Á.A7r¥  r§  c                 óÖ   — t        j                  t        j                  d«      | |«      }t        j                  t
        «      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)Ns   ÿÿÿÿrO   )r3   rž  r—   r   r*   ÚUnicodeErrorr   r¯  s      r&   Útest_transcoding_decoding_errorr·  C  sU   € ô ×(Ñ(Ü
�‰Ð+Ó,ØØó€Fô 
�‰”|Ó	$ñ Ø�‰�AŒ÷÷ ñ ús   ÁAÁA(c                  ó   — d} t        j                  | «      t        | «      fD ],  }t        j                  |«      }|j	                  «       | k(  rŒ,J ‚ t        j                  | «      }t        j                  t        |«      «      }|j	                  «       |k(  sJ ‚t        j                  t        |«      d¬«      }|j	                  «       | k(  sJ ‚y ©Nrk  rq  ©rm  )r3   rÆ   r|   Úinput_streamr   rq  r€  )rJ   ÚargrZ   Úgz_datas       r&   Útest_input_stream_bufferr¾  T  s«   € à.€DÜ—‘˜TÓ"¤J¨tÓ$4Ð5ò %ˆÜ—‘ Ó%ˆØ�{‰{‹} Ó$Ð$Ð$ð%ô �m‰m˜DÓ!€GÜ�_‰_œZ¨Ó0Ó1€FØ�;‰;‹=˜GÒ#Ð#Ð#Ü�_‰_œZ¨Ó0¸fÔE€FØ�;‰;‹=˜DÒ Ð Ñ r-   c                  óx   —  G d„ d«      } t        j                   | «       «      }|j                  d«      dk(  sJ ‚y )Nc                   ó*   — e Zd Zd„ Zed„ «       Zdd„Zy)ú1test_input_stream_duck_typing.<locals>.DuckReaderc                  ó   — y r)   r,   ru   s    r&   r8   z7test_input_stream_duck_typing.<locals>.DuckReader.closef  rw   r-   c                  ó   — yry   r,   ru   s    r&   r7   z8test_input_stream_duck_typing.<locals>.DuckReader.closedi  rz   r-   Nc                  ó   — y)Nó   hellor,   )rv   rM   s     r&   r   z6test_input_stream_duck_typing.<locals>.DuckReader.readm  s   € Ør-   r)   )r~   r   r€   r8   r�   r7   r   r,   r-   r&   r‚   rÁ  d  s    „ ò	ð 
ñ	ó 
ð	ô	r-   r‚   r   rÅ  )r3   r»  r   )r‚   rZ   s     r&   Útest_input_stream_duck_typingrÆ  b  s4   € ÷
ñ 
ô �_‰_™Z›\Ó*€FØ�;‰;�q‹>˜XÒ%Ð%Ñ%r-   c                 óÎ  — d}| dz  }t        t        |«      d«      5 }|j                  |«       d d d «       t        j                  |«      }|j                  «       |k(  sJ ‚t        j                  t        |«      «      }|j                  «       |k(  sJ ‚t        j                  t        j                  t        |«      «      «      }|j                  «       |k(  sJ ‚y # 1 sw Y   Œ­xY w)Nrk  r»  r   )r   r©   r   r3   r»  r   rt  ru  )r¬   rJ   Ú	file_pathr%   rZ   s        r&   Útest_input_stream_file_pathrÉ  t  sº   € Ø.€DØ˜Ñ'€IÜ	Œc�)‹n˜dÓ	#ð  qØ	�‰�Œ÷ô �_‰_˜YÓ'€FØ�;‰;‹=˜DÒ Ð Ð Ü�_‰_œS ›^Ó,€FØ�;‰;‹=˜DÒ Ð Ð Ü�_‰_œWŸ\™\¬#¨i«.Ó9Ó:€FØ�;‰;‹=˜DÒ Ð Ñ ÷ð ús   �CÃC$c                 óª  — d}t        j                  |«      }| dz  }t        t        |«      d«      5 }|j	                  |«       d d d «       t        j                  |«      }|j                  «       |k(  sJ ‚t        j                  t        |«      «      }|j                  «       |k(  sJ ‚t        j                  t        j                  t        |«      «      «      }|j                  «       |k(  sJ ‚t        j                  |d¬«      }|j                  «       |k(  sJ ‚t        j                  |d ¬«      }|j                  «       |k(  sJ ‚y # 1 sw Y   �ŒxY w)Nrk  zinput_stream.gzr   rq  rº  ©
rq  r€  r   r©   r   r3   r»  r   rt  ru  ©r¬   rJ   r½  rÈ  r%   rZ   s         r&   Ú&test_input_stream_file_path_compressedrÍ  ‚  s  € à.€DÜ�m‰m˜DÓ!€GØÐ*Ñ*€IÜ	Œc�)‹n˜dÓ	#ð  qØ	�‰�Ô÷ô �_‰_˜YÓ'€FØ�;‰;‹=˜DÒ Ð Ð Ü�_‰_œS ›^Ó,€FØ�;‰;‹=˜DÒ Ð Ð Ü�_‰_œWŸ\™\¬#¨i«.Ó9Ó:€FØ�;‰;‹=˜DÒ Ð Ð ä�_‰_˜Y°FÔ;€FØ�;‰;‹=˜DÒ Ð Ð Ü�_‰_˜Y°DÔ9€FØ�;‰;‹=˜GÒ#Ð#Ñ#÷ñ ús   ²EÅEc                 ó  — d}| dz  }t        t        |«      d«      5 }|j                  |«       d d d «       t        j                  |d¬«      }t        |t        j                  «      sJ ‚|j                  «       |k(  sJ ‚t        j                  t        |«      d¬«      }t        |t        j                  «      sJ ‚|j                  «       |k(  sJ ‚t        j                  t        j                  t        |«      «      d¬«      }t        |t        j                  «      sJ ‚|j                  «       |k(  sJ ‚t        j                  |d¬«      }t        |t        j                  «      sJ ‚d	}t        j                  t        |¬
«      5  t        j                  |d¬«       d d d «       t        j                  t        «      5  t        j                  |d¬«       d d d «       y # 1 sw Y   �Œ±xY w# 1 sw Y   ŒPxY w# 1 sw Y   y xY w)Nrk  zinput_stream.bufferedr   é    rL  r[  rT  r   ú$Buffer size must be larger than zeror1   rN   Úmillion)r   r©   r   r3   r»  r‰   rO  r   rt  ru  ré  r   r*   rñ   r9   )r¬   rJ   rÈ  r%   rZ   Úunbuffered_streamrN  s          r&   Ú$test_input_stream_file_path_bufferedrÓ  —  s“  € Ø.€DØÐ0Ñ0€IÜ	Œc�)‹n˜dÓ	#ð  qØ	�‰�Œ÷ô �_‰_˜Y°BÔ7€FÜ�fœb×4Ñ4Ô5Ð5Ð5Ø�;‰;‹=˜DÒ Ð Ð Ü�_‰_œS ›^¸Ô<€FÜ�fœb×4Ñ4Ô5Ð5Ð5Ø�;‰;‹=˜DÒ Ð Ð Ü�_‰_œWŸ\™\¬#¨i«.Ó9ÀtÔL€FÜ�fœb×4Ñ4Ô5Ð5Ð5Ø�;‰;‹=˜DÒ Ð Ð äŸ™¨	¸qÔAÐÜÐ'¬¯©Ô3Ð3Ð3à
0€CÜ	�‰”z¨Ô	-ñ 3Ü
�‰˜	¨rÕ2÷3ä	�‰”yÓ	!ñ :Ü
�‰˜	¨yÕ9÷:ð :÷'ñ ú÷"3ð 3ú÷:ð :ús#   �GÆG+Æ=G7ÇG(Ç+G4Ç7H c                 ó  — d}t        j                  |«      }| dz  }t        t        |«      d«      5 }|j	                  |«       d d d «       t        j                  |dd¬«      }|j                  «       |k(  sJ ‚t        j                  t        |«      d¬«      }|j                  «       |k(  sJ ‚t        j                  t        j                  t        |«      «      d	¬«      }|j                  «       |k(  sJ ‚y # 1 sw Y   Œ´xY w)
Nóà  some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
some test data
eof
z'input_stream_compressed_and_buffered.gzr   rÏ  rq  ©rM  rm  r[  rL  rT  rË  rÌ  s         r&   Ú3test_input_stream_file_path_compressed_and_bufferedr×  ±  sÒ   € à/€DÜ�m‰m˜DÓ!€GØÐBÑB€IÜ	Œc�)‹n˜dÓ	#ð  qØ	�‰�Ô÷ô �_‰_˜Y°BÀFÔK€FØ�;‰;‹=˜DÒ Ð Ð Ü�_‰_œS ›^¸Ô<€FØ�;‰;‹=˜DÒ Ð Ð Ü�_‰_œWŸ\™\¬#¨i«.Ó9ÀtÔL€FØ�;‰;‹=˜DÒ Ð Ñ ÷ð ús   ²C7Ã7D c                 óª  — d}t        |«      }t        j                  |«      }|j                  «       |k(  sJ ‚t	        j
                  |«      }t        |«      }t        j                  |«      }|j                  «       |k(  sJ ‚|j                  d«       t        j                  |d¬«      }|j                  «       |k(  sJ ‚| dz  }t        t        |«      d«      5 }|j                  |«       d d d «       t        t        |«      d«      5 }t        j                  |«      }|j                  «       |k(  sJ ‚	 d d d «       y # 1 sw Y   ŒSxY w# 1 sw Y   y xY w)Nrk  r   rq  rº  r»  r   r“   )
r   r3   r»  r   rq  r€  r   r   r©   r   )r¬   rJ   r®   rZ   r½  rÈ  r%   s          r&   Útest_input_stream_python_filerÙ  Á  s!  € à.€DÜ
�$‹-€Cä�_‰_˜SÓ!€FØ�;‰;‹=˜DÒ Ð Ð ä�m‰m˜DÓ!€GÜ
�'Ó
€CÜ�_‰_˜SÓ!€FØ�;‰;‹=˜GÒ#Ð#Ð#Ø‡H�HˆQ„KÜ�_‰_˜S¨fÔ5€FØ�;‰;‹=˜DÒ Ð Ð à˜Ñ'€IÜ	Œc�)‹n˜dÓ	#ð  qØ	�‰�Œ÷ä	Œc�)‹n˜dÓ	#ð % qÜ—‘ Ó#ˆØ�{‰{‹} Ò$Ð$Ñ$÷%ð %÷ð ú÷%ð %ús   ÃD=Ä+E	Ä=EÅ	Ec                  ó  — d} t        j                  | «      }t        j                  |«      }t        j                  |«      }||u sJ ‚t        j                  |«      }t        j                  |d¬«      }|j                  «       | k(  sJ ‚y r¹  )rq  r€  r3   r—   r»  r   )rJ   r½  rž   rZ   s       r&   Útest_input_stream_native_filerÛ  Ù  sq   € à.€DÜ�m‰m˜DÓ!€GÜ�_‰_˜WÓ%€FÜ�_‰_˜VÓ$€FØ�VÑÐÐÜ�_‰_˜WÓ%€FÜ�_‰_˜V°Ô8€FØ�;‰;‹=˜DÒ Ð Ñ r-   c                 ó¨  — t        d«      }t        j                  t        «      5  t	        j
                  |d¬«       d d d «       t        «       t        «       fD ]9  }t        j                  t        «      5  t	        j
                  |«       d d d «       Œ; t        «       5  t	        j
                  d«       d d d «       t        t        | dz  «      d«      5 }t        j                  t        d¬«      5  t	        j
                  |«       d d d «       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   Œ6xY w# 1 sw Y   y xY w)	Nr-   r  rº  rH  Únew_filer   zreadable file expectedr1   )r|   r   r*   rñ   r3   r»  rk   r   r9   r.   r   r©   )r¬   r:   r¼  r%   s       r&   Útest_input_stream_errorsrÞ  å  s  € Ü
�S‹/€CÜ	�‰”zÓ	"ñ 0Ü
�‰˜¨Õ/÷0ô “œX›ZÐ(ò !ˆÜ�]‰]œ9Ó%ñ 	!Ü�O‰O˜CÔ ÷	!ð 	!ð!ô 
Ó	 ñ -Ü
�‰Ð+Ô,÷-ô 
Œc�&˜:Ñ%Ó&¨Ó	-ð °Ü�]‰]œ9Ð,DÔEñ 	Ü�O‰O˜AÔ÷	÷ð ÷0ð 0ú÷	!ð 	!ú÷-ð -ú÷	ð 	ú÷ð úsG   ¥DÁ5D$ÂD0ÃEÃ1D<ÄEÄD!Ä$D-	Ä0D9Ä<E	ÅEÅEc                  óD  — d} t        t        | «      «      }t        j                  t        j                  |«      «      }|j                  | «       || k(  sJ ‚t        t        | «      «      }t        j                  t        |«      «      }|j                  | «       || k(  sJ ‚y )Nrk  )rk   r5   r3   Úoutput_streamrÆ   r   r|   )rJ   r:   rZ   s      r&   Útest_output_stream_bufferrá  ö  s€   € Ø.€DÜ
”C˜“IÓ
€CÜ×ÑœbŸl™l¨3Ó/Ó0€FØ
‡L�L�ÔØ�$Š;Ðˆ;ä
”C˜“IÓ
€CÜ×Ñœj¨›oÓ.€FØ
‡L�L�ÔØ�$Š;Ð‰;r-   c                  óÐ   —  G d„ d«      }  | «       }t        j                  |«      }|j                  d«      sJ ‚|j                  j	                  «       j                  «       dk(  sJ ‚y )Nc                   ó.   — e Zd Zd„ Zd„ Zed„ «       Zd„ Zy)ú2test_output_stream_duck_typing.<locals>.DuckWriterc                 ó6   — t        j                  «       | _        y r)   )r3   r­  r:   ru   s    r&   Ú__init__z;test_output_stream_duck_typing.<locals>.DuckWriter.__init__  s   € Ü×,Ñ,Ó.ˆD�Hr-   c                  ó   — y r)   r,   ru   s    r&   r8   z8test_output_stream_duck_typing.<locals>.DuckWriter.close	  rw   r-   c                  ó   — yry   r,   ru   s    r&   r7   z9test_output_stream_duck_typing.<locals>.DuckWriter.closed  rz   r-   c                 ó:   — | j                   j                  |«       y r)   )r:   r   )rv   rJ   s     r&   r   z8test_output_stream_duck_typing.<locals>.DuckWriter.write  s   € Ø�H‰H�N‰N˜4Õ r-   N)r~   r   r€   ræ  r8   r�   r7   r   r,   r-   r&   Ú
DuckWriterrä    s%   „ ò	/ò	ð 
ñ	ó 
ð	ó	!r-   rê  rÅ  )r3   rà  r   r:   r6   r¢   )rê  Úduck_writerrZ   s      r&   Útest_output_stream_duck_typingrì    s[   € ÷!ñ !ñ “,€KÜ×Ñ˜kÓ*€FØ�<‰<˜Ô!Ð!Ð!Ø�?‰?×#Ñ#Ó%×0Ñ0Ó2°hÒ>Ð>Ñ>r-   c                 ó˜   — d}| dz  }d„ } |||«        |t        |«      |«        |t        j                  t        |«      «      |«       y )Nrk  rà  c                 óú   — t        j                  | «      5 }|j                  |«       d d d «       t        t	        | «      d«      5 }|j                  «       |k(  sJ ‚	 d d d «       y # 1 sw Y   Œ>xY w# 1 sw Y   y xY wr’   ©r3   rà  r   r   r©   r   )rÈ  rJ   rZ   r%   s       r&   Ú
check_dataz0test_output_stream_file_path.<locals>.check_data  sq   € Ü×Ñ˜iÓ(ð 	¨FØ�L‰L˜Ô÷	ä”#�i“. $Ó'ð 	$¨1Ø—6‘6“8˜tÒ#Ð#Ñ#÷	$ð 	$÷	ð 	ú÷	$ð 	$ús   –A%ÁA1Á%A.Á1A:)r©   rt  ru  ©r¬   rJ   rÈ  rð  s       r&   Útest_output_stream_file_pathrò    sG   € Ø.€DØ˜Ñ(€Iò$ñ ˆy˜$ÔÙŒs�9‹~˜tÔ$ÙŒw�|‰|œC 	›NÓ+¨TÕ2r-   c           	      ó  — d}| dz  }d„ }t        j                   |||«      «      |k(  sJ ‚t        j                   |t        |«      |«      «      |k(  sJ ‚t        j                   |t        j                  t        |«      «      |«      «      |k(  sJ ‚t        j                   |||d¬«      «      |k(  sJ ‚ |||d ¬«      |k(  sJ ‚t        j                  t        d¬«      5   |||d¬«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)	Nrk  zoutput_stream.gzc                 óð   — t        j                  | fi |¤Ž5 }|j                  |«       d d d «       t        t	        | «      d«      5 }|j                  «       cd d d «       S # 1 sw Y   Œ8xY w# 1 sw Y   y xY wr’   rï  ©rÈ  rJ   ÚkwargsrZ   r%   s        r&   rð  z;test_output_stream_file_path_compressed.<locals>.check_data-  ók   € Ü×Ñ˜iÑ2¨6Ñ2ð 	°fØ�L‰L˜Ô÷	ä”#�i“. $Ó'ð 	¨1Ø—6‘6“8÷	ñ 	÷	ð 	ú÷	ð 	úó   —A ÁA,Á A)Á,A5rq  rº  zInvalid value for compressionr1   Úrabbit)rq  r‚  r©   rt  ru  r   r*   rñ   rñ  s       r&   Ú'test_output_stream_file_path_compressedrú  (  s  € à.€DØÐ+Ñ+€Iòô �?‰?™: i°Ó6Ó7¸4Ò?Ð?Ð?Ü�?‰?™:¤c¨)£n°dÓ;Ó<ÀÒDÐDÐDÜ�?‰?Ù”7—<‘<¤ I£Ó/°Ó6ó8Ø;?ò@ð @ð @ô �?‰?Ù�9˜d°Ô7ó9Ø<@òAð Að Aá�i °4Ô8¸DÒ@Ð@Ð@ä	�‰”zÐ)HÔ	Iñ IÙ˜) T°xÔ@ÀDÒHÐHÑH÷I÷ Iñ Iús   Ã!C<Ã<Dc                 óÒ  — d}| dz  }d„ }t        j                  |d¬«      }t        |t         j                  «      sJ ‚d}t	        j
                  t        |¬«      5   |||d¬«      |k(  sJ ‚	 d d d «        |||d	¬«      |k(  sJ ‚ |||d
¬«      |k(  sJ ‚ |t        |«      |d	¬«      |k(  sJ ‚ |t        j                  t        |«      «      |d	¬«      }||k(  sJ ‚y # 1 sw Y   ŒqxY w)Nrk  úoutput_stream.bufferedc                 óR  — t        j                  | fi |¤Ž5 }|j                  dd«      dkD  rt        |t         j                  «      sJ ‚|j                  |«       d d d «       t        t        | «      d«      5 }|j                  «       cd d d «       S # 1 sw Y   Œ8xY w# 1 sw Y   y xY w)NrM  r   r“   )	r3   rà  Úgetr‰   r^  r   r   r©   r   rõ  s        r&   rð  z9test_output_stream_file_path_buffered.<locals>.check_dataD  s–   € Ü×Ñ˜iÑ2¨6Ñ2ð 	°fØ�z‰z˜-¨Ó+¨aÒ/Ü! &¬"×*AÑ*AÔBÐBÐBØ�L‰L˜Ô÷	ô ”#�i“. $Ó'ð 	¨1Ø—6‘6“8÷	ñ 	÷		ð 	ú÷	ð 	ús   —ABÁ7BÂBÂB&r   rL  rÐ  r1   i€ÿÿÿrÏ  rT  )
r3   rà  r‰   ré  r   r*   rñ   r©   rt  ru  )r¬   rJ   rÈ  rð  rÒ  rN  r>   s          r&   Ú%test_output_stream_file_path_bufferedrÿ  @  sö   € Ø.€DØÐ1Ñ1€Iòô ×(Ñ(¨ÀÔBÐÜÐ'¬¯©Ô3Ð3Ð3à
0€CÜ	�‰”z¨Ô	-ñ EÙ˜) T°tÔ<ÀÒDÐDÑD÷Eñ �i °2Ô6¸$Ò>Ð>Ð>Ù�i °4Ô8¸DÒ@Ð@Ð@Ù”c˜)“n d¸Ô;¸tÒCÐCÐCáœŸ™¤S¨£^Ó4°dÈÔK€FØ�TŠ>Ð‰>÷Eð Eús   ÁCÃC&c                 óø   — d}| dz  }d„ } |||d¬«      }t        j                  |«      |k(  sJ ‚ |||d¬«      }t        j                  |«      |k(  sJ ‚ |||dd¬«      }t        j                  |«      |k(  sJ ‚y )	NrÕ  z(output_stream_compressed_and_buffered.gzc                 óð   — t        j                  | fi |¤Ž5 }|j                  |«       d d d «       t        t	        | «      d«      5 }|j                  «       cd d d «       S # 1 sw Y   Œ8xY w# 1 sw Y   y xY wr’   rï  rõ  s        r&   rð  zHtest_output_stream_file_path_compressed_and_buffered.<locals>.check_data`  r÷  rø  rÏ  rL  rT  rq  rÖ  ©rq  r‚  )r¬   rJ   rÈ  rð  r>   s        r&   Ú4test_output_stream_file_path_compressed_and_bufferedr  [  sŠ   € à/€DØÐCÑC€Iòñ ˜	 4°RÔ8€FÜ�?‰?˜6Ó" dÒ*Ð*Ð*á˜	 4°TÔ:€FÜ�?‰?˜6Ó" dÒ*Ð*Ð*á˜	 4°TÀvÔN€FÜ�?‰?˜6Ó" dÒ*Ð*Ñ*r-   c                 óX   — d}| dz  }d„ } |||d¬«      |k(  sJ ‚ |||d¬«      |k(  sJ ‚y )Ns   some test data
rü  c                 óð   — t        j                  | fi |¤Ž}|j                  |«       ~t        j                  «        t        t        | «      d«      5 }|j                  «       cd d d «       S # 1 sw Y   y xY wr’   )r3   rà  r   r    r¡   r   r©   r   rõ  s        r&   rð  z1test_output_stream_destructor.<locals>.check_dataw  s]   € Ü×!Ñ! )Ñ6¨vÑ6ˆØ�‰�TÔØÜ
�
‰
ŒÜ”#�i“. $Ó'ð 	¨1Ø—6‘6“8÷	÷ 	ò 	ús   ÁA,Á,A5r   rL  rT  r,   rñ  s       r&   Útest_output_stream_destructorr  p  sI   € ð €DØÐ1Ñ1€Iòñ �i °1Ô5¸Ò=Ð=Ð=Ù�i °4Ô8¸DÒ@Ð@Ñ@r-   c                 ór   ‡ — d}ˆ fd„} ||«      |k(  sJ ‚t        j                   ||d¬«      «      |k(  sJ ‚y )Nrk  c                 ó>  •— t        ‰dz  «      }t        |d«      5 }t        j                  |fi |¤Ž5 }|j	                  | «       d d d «       d d d «       t        |d«      5 }|j                  «       cd d d «       S # 1 sw Y   Œ7xY w# 1 sw Y   Œ;xY w# 1 sw Y   y xY w)NÚoutput_stream_filer   r“   )r©   r   r3   rà  r   r   )rJ   rö  rf  r%   rZ   r¬   s        €r&   rð  z2test_output_stream_python_file.<locals>.check_data‡  s›   ø€ ô �Ð.Ñ.Ó/ˆÜ�"�d‹^ð 	#˜qÜ×!Ñ! !Ñ. vÑ.ð #°&Ø—‘˜TÔ"÷#÷	#ô �"�d‹^ð 	˜qØ—6‘6“8÷	ñ 	÷#ð #ú÷	#ð 	#ú÷	ð 	ús.   œB³A;ÁBÁ!BÁ;B	Â BÂBÂBrq  rº  r  )r¬   rJ   rð  s   `  r&   Útest_output_stream_python_filer
  ƒ  s@   ø€ à.€Dô	ñ �dÓ˜tÒ#Ð#Ð#Ü�?‰?™: d¸Ô?Ó@ÀDÒHÐHÑHr-   c                 ó˜  — t        t        «       «      }t        j                  t        «      5  t        j                  |d¬«       d d d «       t        «       t        «       fD ]9  }t        j                  t        «      5  t        j                  |«       d d d «       Œ; t        | dz  «      }t        |d«      5 }	 d d d «       t        |d«      5 }t        j                  t        d¬«      5  t        j                  |«       d d d «       d d d «       y # 1 sw Y   ŒÌxY w# 1 sw Y   ŒÄxY w# 1 sw Y   ŒpxY w# 1 sw Y   Œ6xY w# 1 sw Y   y xY w)Nr  rº  rÝ  r   r“   zwritable file expectedr1   )r|   rk   r   r*   rñ   r3   rà  r   r9   r©   r   )r¬   r:   r¼  rf  r%   s        r&   Útest_output_stream_errorsr  –  s  € Ü
”Y“[Ó
!€CÜ	�‰”zÓ	"ñ 1Ü
×Ñ˜¨%Õ0÷1ô “œX›ZÐ(ò "ˆÜ�]‰]œ9Ó%ñ 	"Ü×Ñ˜SÔ!÷	"ð 	"ð"ô 
ˆV�jÑ Ó	!€BÜ	ˆb�$‹ð ˜1Ø÷ä	ˆb�$‹ð  ˜1Ü�]‰]œ9Ð,DÔEñ 	 Ü×Ñ˜QÔ÷	 ÷ ð  ÷1ð 1ú÷	"ð 	"ú÷ð ú÷	 ð 	 ú÷ ð  úsG   ­DÁ=DÂ7D(ÃE Ã)D4Ã?E ÄDÄD%	Ä(D1Ä4D=	Ä9E Å E	r)   )T)›rn  Ú
contextlibr   Úior   r   r   r   r   rª  r    rq  r3  r    rt  r   r}  r   r   rµ   Únumpyrå   ÚImportErrorÚpyarrow.utilr	   Úpyarrowr
   r3   r'   r.   r?   rL   ÚmarkÚparametrizer^   re   rh   rp   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  r  r$  r+  r1  r7  rR  rh  rl  Úparamrô  r‰  rŠ  rŠ  r¢  r¨  rª  r°  r³  r»  rÀ  rÍ  Úfixturer×  rß  rã  rç  rê  rì  rÐ  rø  rþ  r   r  r  r
  r  r  r  r   r  r&  r/  r6  r:  r=  rF  rI  rQ  rV  rY  r`  rb  ri  rm  rq  rv  rx  rz  r}  r€  r‚  r„  r†  ru  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  r  r
  r  r,   r-   r&   ú<module>r     sJ  ðó$ Ý %ß IÕ IÛ Û 	Û Û Û 	Û Û Û Û 
Û Û ðÛõ Ý Û óð. ñó ðò"ò8,ðB ‡�×Ñ˜Ð#5Ó6Ø‡�×Ñ˜¨Ó8ñ'ó 9ó 7ð'òTò"#ò
&ò'ò8%ò$òòò6,ò
"ò )ò2ò(	ò 3ò.ò
4ò.ò.òòð ‡�×ÑÐ3ò&ó'ñ,ó	'ð,ð
 ‡�×Ññ	ó ð	ð ‡�×Ññ'ó ð'ð" ‡�×Ññ*ó ð*ð( ‡�×Ññó ðò:òò0Pòf#ð ‡�×Ññ)ó ð)ð ‡�×Ññ
ó ð
ò
'òð ‡�×ÑñCó ðCòL-ò`Jð ‡�×ÑØ‡�×Ñ˜Ø€F‡L�LØ�V—[‘[×&Ñ&¨b¯f©f×.MÑ.MÐ&ÓNôð Ø
Ø	Ø
Øð	)ó 	ñ;ó	ó ð;ð< ‡�×ÑØ‡�×Ñ˜Ø€F‡L�LØ�V—[‘[×&Ñ&¨b¯f©f×.MÑ.MÐ&ÓNôð Ø
Ø	Ø
Øð	)ó 	ñLEó	ó ðLEò^;ò(ò'òò3ð" ‡�×Ññ(ó ð(ò*+ðL ‡�ñó ðð$ 8<ó!òB>ò
,ò ;ò!òò(òV-ò(&òDòòòò6ò<ð~ ‡�×ÑØ‡L�L�LÑ Ð)Kð ó ñ?óð?ò *ò<ò>:ò"$ð. ‡�×Ññ&ó ð&ò$1òò
"òð ‡�×Ññ3ó ð3ð" ‡�×Ññ
-ó ð
-ò (ð( ‡�×Ññ-ó ð-òð ‡�×Ññó ðò4ð ‡�×Ññ4ó ð4ð ‡�×Ññ
ó ð
ò ð ‡�×Ññó ðò	ò"ð ‡�×ÑÐ9ØØØ€W‡\�\�)Ó˜fÐ%Ø€W‡\�\Ð$Ó% vÐ.ð	<ó ñ2óð2òð ‡�×Ñ˜Ø	ØØ
Ø	Ø
Ø€F‡L�LØØ�k‰k×Ñ r§v¡v×'FÑ'FÐÓGôð
)ó 
ñó
ðð" ‡�×ÑØÚ,óñó	ðð,Vð ò-ð ‡�×ÑÐ6òóñ5óð5ð ‡�×ÑÐ6Ø,Ø+ð-ó.ñ7ó.ð7ð ‡�×ÑÐ6Ø,Ø.ðóñó	ðð ‡�×ÑÐ6Ø-Ø-ðóñó	ðð ‡�×Ññ
!ó ð
!ò&ò$!ð ‡�×Ññ$ó ð$ò(:ð4 ‡�×Ññ!ó ð!ð ‡�×Ññ%ó ð%ð. ‡�×Ññ!ó ð!òò"
ò?ò,3ð ‡�×ÑñIó ðIò.ð6 ‡�×Ññ+ó ð+ò(Að& ‡�×ÑñIó ðIó$ øðgC ò Ø	ƒBðús   Á\ Ü\Ü\