Ë
    ìéñi9'  ã                   ó  — 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mZ d dlmZ e
j                   j#                  dd¬«       e
j                   j#                  dd	¬«       e
j                   j#                  d
de
j$                  j&                  ¬«       e
j                   j)                  ej*                  j-                  dd«      «       dej*                  d<   ej.                  dk(  r\ej*                  j-                  dd«      €@d dlmZ 	 ej4                  j7                   ej8                  d«      d«      ej*                  d<   d„ Z G d„ d«      Z d„ Z!d„ Z"ejF                  d„ «       Z$ ejF                  d¬«      d„ «       Z% ejF                  d¬ «      d!„ «       Z& ejF                  d¬«      d"„ «       Z' ejF                  d¬«      d#„ «       Z(d.d$„Z) ejF                  d¬«      d%„ «       Z* ejF                  d¬«      d&„ «       Z+ ejF                  d¬«      d'„ «       Z, ejF                  d(d)gd¬*«      d+„ «       Z- ejF                  d¬«      d,„ «       Z. ejF                  d¬«      d-„ «       Z/y# e$ r  ed«       Y �Œ7w xY w)/é    Né   )ÚgroupsÚdefaults©Úfind_free_portÚciiè  )Úmax_examplesÚdevé2   Údebugé
   )r	   Ú	verbosityÚHYPOTHESIS_PROFILEz	/dev/nullÚAWS_CONFIG_FILEÚwin32ÚTZDIR)Ú	resourcesÚtzdataÚzoneinfozCPackage "tzdata" not found. Not setting TZDIR environment variable.c           	      ó¸   — dd„}t         D ]M  } |d|› �t        |   «      }| j                  d|› �d|d|› d�¬«       | j                  d|› �dd	d
|› d�¬«       ŒO y )Nc                 óÖ   — t         j                  j                  | j                  «       «      }|s|S |j	                  «       }|dv ry|dv ryt        | j                  «       › d|› d�«      ‚)N>   Ú1ÚyÚonÚyesÚtrueT>   Ú0ÚnÚnoÚoffÚfalseFú=z is not parsable as boolean)ÚosÚenvironÚgetÚupperÚlowerÚ
ValueError)ÚnameÚdefaultÚvalues      úX/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/pyarrow/tests/conftest.pyÚbool_envz"pytest_addoption.<locals>.bool_envB   sd   € Ü—
‘
—‘˜tŸz™z›|Ó,ˆÙØˆNØ—‘“ˆØÐ3Ñ3ØØÐ6Ñ6Øä §
¡
£˜~¨Q¨u¨gÐ5PÐQÓRÐRó    ÚPYARROW_TEST_ú	--enable-Ú
store_truezEnable the z test group)Úactionr*   Úhelpú
--disable-FzDisable the ©N)r   r   Ú	addoption)Úparserr-   Úgroupr*   s       r,   Úpytest_addoptionr9   @   s�   € ó
Sô ò CˆÙ˜]¨5¨'Ð2´H¸U±OÓDˆØ×Ñ˜9 U GÐ,Ø ,°gØ!,¨U¨G°;Ð?ð 	ô 	Bð 	×Ñ˜: e WÐ-Ø ,°eØ!-¨e¨W°KÐ@ð 	õ 	CñCr.   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚPyArrowConfigc                 ó   — i | _         y r5   )Ú
is_enabled)Úselfs    r,   Ú__init__zPyArrowConfig.__init__Y   s	   € Øˆ�r.   c                 óP   — |j                   }|t        v r| j                  |«       y y r5   )r)   r   Úrequires)r>   Úmarkr8   s      r,   Ú
apply_markzPyArrowConfig.apply_mark\   s#   € Ø—	‘	ˆØ”F‰?Ø�M‰M˜%Õ ð r.   c                 óT   — | j                   |   st        j                  |› d�«       y y )Nz NOT enabled)r=   ÚpytestÚskip)r>   r8   s     r,   rA   zPyArrowConfig.requiresa   s&   € Ø�‰˜uÒ%Ü�K‰K˜5˜' Ð.Õ/ð &r.   N)Ú__name__Ú
__module__Ú__qualname__r?   rC   rA   © r.   r,   r;   r;   X   s   „ òò!ó
0r.   r;   c                 óì   — t        «       | _        t        D ]\  }| j                  d|«       d|› �}d|› �}| j	                  |«      xr | j	                  |«       }|| j                  j
                  |<   Œ^ y )NÚmarkersr0   r4   )r;   Úpyarrowr   Úaddinivalue_lineÚ	getoptionr=   )ÚconfigrB   Úenable_flagÚdisable_flagr=   s        r,   Úpytest_configurerS   f   sƒ   € ä"“_€F„Näò 
5ˆØ×ÑØ�tô	
ð " $ Ð(ˆØ# D 6Ð*ˆà×&Ñ& {Ó3ò 5Ø×&Ñ& |Ó4ð95ˆ
à*4ˆ�‰×!Ñ! $Ò'ñ
5r.   c                 óx   — | j                  «       D ]'  }| j                  j                  j                  |«       Œ) y r5   )Úiter_markersrP   rM   rC   )ÚitemrB   s     r,   Úpytest_runtest_setuprW   w   s2   € à×!Ñ!Ó#ò -ˆØ�‰×Ñ×&Ñ& tÕ,ñ-r.   c                 ó@   — t        j                  | j                  «      S r5   )ÚpathlibÚPathÚstrpath)Útmpdirs    r,   Útempdirr]   }   s   € ô �<‰<˜Ÿ™Ó'Ð'r.   Úsession)Úscopec                  óN   — t        j                  t        «      j                  dz  S )NÚdata)rY   rZ   Ú__file__ÚparentrJ   r.   r,   Úbase_datadirrd   ƒ   s   € ä�<‰<œÓ!×(Ñ(¨6Ñ1Ð1r.   T)Úautousec                 ó(   — | j                  dd«       y)z Stop the AWS SDK from trying to contact the EC2 metadata server.

    Otherwise, this causes a 5 second delay in tests that exercise the
    S3 filesystem.
    ÚAWS_EC2_METADATA_DISABLEDr   N)Úsetenv)Úmonkeypatchs    r,   Údisable_aws_metadatarj   ˆ   s   € ð ×ÑÐ2°FÕ;r.   c                  óÞ   — t         j                  j                  dd«      } t        t         j                  j                  dd«      «      }t         j                  j                  dd«      }| ||fS )NÚARROW_HDFS_TEST_HOSTr*   ÚARROW_HDFS_TEST_PORTr   ÚARROW_HDFS_TEST_USERÚhdfs)r#   r$   r%   Úint)ÚhostÚportÚusers      r,   Úhdfs_connectionrt   •   sS   € ä�:‰:�>‰>Ð0°)Ó<€DÜŒr�z‰z�~‰~Ð4°aÓ8Ó9€DÜ�:‰:�>‰>Ð0°&Ó9€DØ��tÐÐr.   c                  ó0   — dt        «       }} d\  }}| |||fS )Nú	127.0.0.1)ÚarrowÚapachearrowr   )rq   rr   Ú
access_keyÚ
secret_keys       r,   Ús3_connectionr{   �   s'   € àœnÓ.ˆ$€DØ3Ñ€J�
Ø��z :Ð-Ð-r.   c                 ó   ‡ ‡‡‡— ˆ ˆˆˆfd„}|S )aP  
    Retry decorator

    Parameters
    ----------
    attempts : int, default 3
        The number of attempts.
    delay : float, default 1
        Initial delay in seconds.
    max_delay : float, optional
        The max delay between attempts.
    backoff : float, default 1
        The multiplier to delay after each attempt.
    c                 óL   •‡ — t        j                  ‰ «      ˆˆˆˆ ˆfd„«       }|S )Nc                  óÄ   •— ‰}‰}|dkD  r		  ‰	| i |¤ŽS ‚# t         $ r9}|dz  }|}|‰z  }‰
rt        |‰
«      }t        j                  |«       Y d }~nd }~ww xY w|dkD  rŒVŒN)Nr   é   )Ú	ExceptionÚminÚtimeÚsleep)ÚargsÚkwargsÚremaining_attemptsÚ
curr_delayÚerrÚlast_exceptionÚattemptsÚbackoffÚdelayÚfuncÚ	max_delays         €€€€€r,   Úwrapperz(retry.<locals>.decorate.<locals>.wrapper´   sˆ   ø€ à!)ÐØˆJØ$ qÒ(ð+Ù Ð0¨Ñ0Ð0ð !Ð øô !ò +Ø&¨!Ñ+Ð&Ø%(�NØ 'Ñ)�JÙ Ü%(¨°YÓ%?˜
Ü—J‘J˜z×*Ñ*ûð+úð % qÓ(øs   Œ –	AŸ/AÁA)Ú	functoolsÚwraps)r�   r�   rŠ   r‹   rŒ   rŽ   s   ` €€€€r,   Údecoratezretry.<locals>.decorate³   s%   ù€ Ü	�‰˜Ó	÷	!ó 
ð	!ð ˆr.   rJ   )rŠ   rŒ   rŽ   r‹   r’   s   ```` r,   Úretryr“   ¤   s   û€ ÷ð" €Or.   c              #   ó  K  — t        ddd¬«      d„ «       }|j                  «       }| \  }}}}|› d|› �}t        j                  j	                  «       }	|	j                  ||dœ«       dd	d
dd||g}
d }	 t        j                  |
|	¬«      } ||«       | ||dœ–— |�!|j                  «        |j                  «        y y # t        $ r t        j                  d«       Y ŒDw xY w# |�!|j                  «        |j                  «        w w xY w­w)Né   r   r   )rŠ   rŒ   r‹   c                 ót   — t         j                  j                  d| › d�«      }|j                  «       dk(  sJ ‚y )Nzhttp://z/minio/health/liveéÈ   )ÚurllibÚrequestÚurlopenÚgetcode)ÚaddressÚresps     r,   Úminio_server_health_checkz,s3_server.<locals>.minio_server_health_checkÉ   s4   € ä�~‰~×%Ñ%¨°¨yÐ8JÐ&KÓLˆØ�|‰|‹~ Ò$Ð$Ñ$r.   ú:)ÚMINIO_ACCESS_KEYÚMINIO_SECRET_KEYÚminioz--compatÚserverz--quietz	--address©Úenv©Ú
connectionÚprocessr]   z!`minio` command cannot be located)r“   Úgetbasetempr#   r$   ÚcopyÚupdateÚ
subprocessÚPopenÚOSErrorrE   rF   ÚkillÚwait)r{   Útmpdir_factoryrž   r\   rq   rr   ry   rz   rœ   r¥   r„   Úprocs               r,   Ú	s3_serverr³   Ç   s&  è ø€ ä
�A˜Q¨Ô*ñ%ó +ð%ð ×'Ñ'Ó)€FØ)6Ñ&€Dˆ$�
˜Jà��a˜�vÐ€GÜ
�*‰*�/‰/Ó
€CØ‡J�JØ&Ø&ñô ð
 �Z ¨9°kØ�Vð€Dà€DðÜ×Ñ ¨#Ô.ˆñ
 	" 'Ô*ð (ØØñ
ò 	
ð ÐØ�I‰IŒKØ�I‰I�Kð øô ò 9Ü�‰Ð7Ö8ð9ûð ÐØ�I‰IŒKØ�I‰I�Kð üs<   ‚A0D
Á3B> Â
C" Â$D
Â>CÃC" ÃCÃC" Ã"%DÄD
c               #   ó  K  — t        «       } t        j                  j                  «       }d}|dt	        | «      g}d }	 t        j                  ||¬«      }|j                  «       �t        j                  d|› d�«       d| f|dœ–— |�!|j                  «        |j                  «        y y # t        $ r%}t        j                  d|› d|› �«       Y d }~ŒMd }~ww xY w# |�!|j                  «        |j                  «        w w xY w­w)	Nzstorage-testbenchz--portr¤   úCommand ú# did not start server successfully!Ú	localhost)r§   r¨   ú failed to execute: )r   r#   r$   rª   Ústrr¬   r­   ÚpollrE   rF   r®   r¯   r°   )rr   r¥   Úexer„   r²   Úes         r,   Ú
gcs_serverr½   î   sõ   è ø€ äÓ€DÜ
�*‰*�/‰/Ó
€CØ
€CØ�œ3˜t›9Ð%€DØ€Dðä×Ñ ¨#Ô.ˆà�9‰9‹;Ð"Ü�K‰K˜( 4 &Ð(KÐLÔMð
 '¨Ð-Øñ
ò 	
ð
 ÐØ�I‰IŒKØ�I‰I�Kð øô ò >Ü�‰�h˜t˜fÐ$8¸¸Ð<×=Ñ=ûð>ûð ÐØ�I‰IŒKØ�I‰I�Kð üsA   ‚;D¾A B+ Á>	C Â$DÂ+	CÂ4CÃC ÃCÃC Ã%DÄDc              #   óJ  K  — t        «       }t        j                  j                  «       }| j	                  «       }dd|dt        |«      g}|dgz  }d }	 t        j                  ||¬«      }|j                  «       �t        j                  d|› d�«       d|d	d
f||dœ–— |�!|j                  «        |j                  «        y y # t        t        f$ r%}t        j                  d|› d|› �«       Y d }~ŒSd }~ww xY w# |�!|j                  «        |j                  «        w w xY w­w)Nzazurite-blobz
--locationz
--blobPortz--skipApiVersionCheckr¤   rµ   r¶   rv   Údevstoreaccount1zXEby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==r¦   r¸   )r   r#   r$   rª   r©   r¹   r¬   r­   rº   rE   rF   ÚModuleNotFoundErrorr®   r¯   r°   )r±   rr   r¥   r\   r„   r²   r¼   s          r,   Úazure_serverrÁ     s(  è ø€ äÓ€DÜ
�*‰*�/‰/Ó
€CØ×'Ñ'Ó)€Fà˜L¨&°,ÄÀDÃ	ÐJ€Dð 	Ð$Ð%Ñ%€DØ€DðÜ×Ñ ¨#Ô.ˆà�9‰9‹;Ð"Ü�K‰K˜( 4 &Ð(KÐLÔMð '¨Ð.@ðCðDð Øñ
ò 	
ð ÐØ�I‰IŒKØ�I‰I�Kð øô  ¤Ð)ò >Ü�‰�h˜t˜fÐ$8¸¸Ð<×=Ñ=ûð>ûð ÐØ�I‰IŒKØ�I‰I�Kð üsC   ‚AD#ÁA C ÂC; Â $D#ÃC8ÃC3Ã.C; Ã3C8Ã8C; Ã;%D Ä D#Úbuiltin_pickleÚcloudpickle)Úparamsr_   c                 ó8   — | j                  | j                  «      S r5   )ÚgetfixturevalueÚparam)r™   s    r,   Úpickle_modulerÈ   *  s   € ð ×"Ñ" 7§=¡=Ó1Ð1r.   c                  ó   — dd l } | S )Nr   ©ÚpicklerÊ   s    r,   rÂ   rÂ   5  s
   € ãØ€Mr.   c                  ón   — t        j                  d«      } d| j                  vr| j                  | _        | S )NrÃ   ÚHIGHEST_PROTOCOL)rE   ÚimportorskipÚ__dict__ÚDEFAULT_PROTOCOLrÍ   )Úcps    r,   rÃ   rÃ   ;  s1   € ä	×	Ñ	˜]Ó	+€BØ §¡Ñ,Ø ×1Ñ1ˆÔØ€Ir.   )é   g      ð?Nr   )0r�   r#   rY   r¬   Úsysr‚   Úurllib.requestr˜   rE   Ú
hypothesisÚhÚconftestr   r   Úpyarrow.utilr   ÚsettingsÚregister_profileÚ	VerbosityÚverboseÚload_profiler$   r%   ÚplatformÚ	importlibr   ÚpathÚjoinÚfilesrÀ   Úprintr9   r;   rS   rW   Úfixturer]   rd   rj   rt   r{   r“   r³   r½   rÁ   rÈ   rÂ   rÃ   rJ   r.   r,   ú<module>rå      s¥  ðó$ Û 	Û Û Û 
Û Û ã Û ç 'å 'ð ‡
�
× Ñ ˜D¨tÐ Ô 4Ø ‡
�
× Ñ ˜E°Ð Ô 3Ø ‡
�
× Ñ ˜G°"Ø&'§k¡k×&9Ñ&9ð ô ;ð ‡
�
× Ñ ˜Ÿ
™
Ÿ™Ð';¸UÓCÔ Dð !,€‡
�
ÐÑ ð
 ‡<�<�7ÒØ	‡z�z‡~�~�g˜tÓ$Ð,Ý'ð	Ø"$§'¡'§,¡,¨¨y¯©¸xÓ/HÈ*Ó"UˆB�J‰J�wÑòC÷00ñ 0ò5ò"-ð ‡�ñ(ó ð(ð
 €‡��iÔ ñ2ó !ð2ð €‡�˜Ôñ<ó ð<ð €‡��iÔ ñó !ðð €‡��iÔ ñ.ó !ð.ó ðF €‡��iÔ ñ#ó !ð#ðL €‡��iÔ ñó !ðð2 €‡��iÔ ñó !ððB €‡�àØðð ôñ2óð2ð €‡��iÔ ñó !ðð
 €‡��iÔ ñó !ñøðE #ò 	ÙØU÷ð	ús   Ä9I5 É5JÊJ