+
    xȇi#              	      .   ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
 ^ RIHt  ! R R4      t ! R R	]4      t ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R]4      t]P(                  R 4       t]P(                  R 4       t]t]t]t]t].t]].t]P:                  ! ]]P<                  P>                  ]P<                  PA                  ]'       * RR7      .R7      .t!. ]O]O]!Ot"R.t#RR.t$R.t%. ]$O]#O]%Ot&]P(                  ! ]"]&R7      R 4       t']P(                  ! ]]$R7      R 4       t(]P(                  ! ]]#R7      R 4       t)]P(                  ! ]!]%R7      R 4       t*R  t+]P(                  ! ]+! 4       R!,          ]+! 4       R",          R7      R# 4       t,. R-Ot-. R.Ot.R$R%.t/]. U Uu. uF  p ]/ F	  q V  R&2NK  	  K  	  upp t0]P(                  ! ]-R'7      R( 4       t1]P(                  ! ]0R'7      R) 4       t2]P(                  ! . R/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR@NRANRBNRCNRDNRENRFNRGNRHNRINRJNRKNRLNRMNRNNRONRPNRQNRRNRSNRTNRUNRVNRWNRXNR'7      R* 4       t3]P(                  R+ 4       t4]P(                  R, 4       t5R# u upp i )Y    )annotationsN)HAS_PYARROW)VERSIONS)read_csv
read_tablec                  v    ] tR t^t$ RtR]R&   Rt. tR]R&   R tR t	R	RR
R/R R llt
R tR	R/R R lltRtR# )
BaseParserNz
str | NoneengineTzlist[str | None]float_precision_choicesc                	x    VP                  4       pVP                  R V P                  RV P                  /4       V# )r
   
low_memory)copyupdater
   r   )selfkwargss   &&o/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/io/parser/conftest.pyupdate_kwargsBaseParser.update_kwargs   s/    xlDOOLM    c                	:    V P                  V4      p\        V/ VB # N)r   r   r   argsr   s   &*,r   r   BaseParser.read_csv   s"    ##F+(((r   raise_on_extra_warningscheck_stacklevelc               $    V ^8  d   QhRRRRRR/# )   	warn_typetype[Warning]warn_msgstrr   bool )formats   "r   __annotate__BaseParser.__annotate__    s(     - - - - -r   c               	    V P                  V4      p\        P                  ! VVVVR 7      ;_uu_ 4        \        V/ VB uuRRR4       #   + '       g   i     R# ; i))matchr   r   N)r   tmassert_produces_warningr   )r   r   r!   r   r   r   r   s   &&&$$*,r   read_csv_check_warnings"BaseParser.read_csv_check_warnings    sW     ##F+''$;-	
 
 T,V,
 
 
 
s   A

A	c                	:    V P                  V4      p\        V/ VB # r   )r   r   r   s   &*,r   r   BaseParser.read_table5   s"    ##F+4*6**r   c                    V ^8  d   QhRRRR/# )r   r   r    r!   r"   r$   )r%   s   "r   r&   r'   9   s     / / / /r   c               	    V P                  V4      p\        P                  ! WVR 7      ;_uu_ 4        \        V/ VB uuRRR4       #   + '       g   i     R# ; i))r)   r   N)r   r*   r+   r   )r   r   r!   r   r   r   s   &&&$*,r   read_table_check_warnings$BaseParser.read_table_check_warnings9   sQ     ##F+''?V
 
 t.v.
 
 
 
s   AA	r$   )__name__
__module____qualname____firstlineno__r
   __annotations__r   r   r   r   r,   r   r2   __static_attributes__r$   r   r   r	   r	      sY    FJJ02-2)-
 !%- "&-*+/
 !%/ /r   r	   c                  "    ] tR t^KtRt. ROtRtR# )CParsercNr$   )Nhigh
round_tripr4   r5   r6   r7   r
   r   r9   r$   r   r   r;   r;   K   s    F:r   r;   c                      ] tR t^PtRtRtR# )CParserHighMemoryFr$   Nr4   r5   r6   r7   r   r9   r$   r   r   rA   rA   P   s    Jr   rA   c                      ] tR t^TtRtRtR# )CParserLowMemoryTr$   NrB   r$   r   r   rD   rD   T   s    Jr   rD   c                       ] tR t^XtRtR.tRtR# )PythonParserpythonNr$   r?   r$   r   r   rF   rF   X   s    F#fr   rF   c                       ] tR t^]tRtR.tRtR# )PyArrowParserpyarrowNr$   r?   r$   r   r   rI   rI   ]   s    F#fr   rI   c                    V ! RRR4      # )z?
The directory path to the data files needed for parser tests.
ioparserdatar$   datapaths   &r   csv_dir_pathrQ   b   s    
 D(F++r   c                R    \         P                  P                  V ! RRR4      R4      # )z@
The path to the data file "test1.csv" needed for parser tests.
rL   rN   csvz	test1.csv)ospathjoinrO   s   &r   csv1rW   j   s"    
 77<<vu5{CCr   pyarrow is not installedreasonmarksrG   c_highc_lowrJ   )paramsidsc                    V P                  4       pVP                  R8X  d8   \        P                  ! R\        R,          4       ^ RIpVP                  ^4       V# )z!
Fixture all of the CSV parsers.
rJ   N)paramr
   pytestimportorskipr   rJ   set_cpu_count)requestrM   rJ   s   &  r   all_parsersrg      sH    
 ]]_F}}	!Ix	':; 	a Mr   c                "    V P                  4       # )z4
Fixture all of the CSV parsers using the C engine.
rb   rf   s   &r   c_parser_onlyrk          
 ==?r   c                "    V P                  4       # )z9
Fixture all of the CSV parsers using the Python engine.
ri   rj   s   &r   python_parser_onlyrn      rl   r   c                "    V P                  4       # )z:
Fixture all of the CSV parsers using the Pyarrow engine.
ri   rj   s   &r   pyarrow_parser_onlyrp      rl   r   c                    . p . p\        \        \        4       F  w  r#\        VR4      '       d   VP                  ^ ,          pVP
                   F  pVP                  R8X  dE   \        P                  P                  \        P                  P                  \        '       * RR7      .MR	p\        P                  ! V! 4       V3VR7      pV P                  V4       VP                  V RV 24       K  	  K  	  RV RV/# )
zU
Return all allowable parser and float precision
combinations and corresponding ids.
valuesrJ   rX   rY   r[   -r_   r`   r$   )zip_all_parsers_all_parser_idshasattrrr   r   r
   rc   mark
single_cpuskipifr   rb   append)r_   r`   rM   	parser_id	precisionrx   rb   s          r   ,_get_all_parser_float_precision_combinationsr~      s    
 F
C ?68$$]]1%F77I ==I- KK**KK&&'0J '    LL&(I!6dCEMM% JJ)Ai[12 8	 @( feS))r   r_   r`   c                    V P                   # )zF
Fixture for all allowable combinations of parser
and float precision
ri   rj   s   &r   all_parsers_all_precisionsr      s     ==r   utfUTFz{0})r_   c                    V P                   # )z=
Fixture for all possible integer values for a UTF encoding.
ri   rj   s   &r   	utf_valuer          
 ==r   c                    V P                   # )z<
Fixture for all possible string formats of a UTF encoding.
ri   rj   s   &r   encoding_fmtr      r   r   c                    V P                   # )z
Fixture for all numeric formats which should get recognized. The first entry
represents the value to read while the second represents the expected result.
ri   rj   s   &r   numeric_decimalr      s    h ==r   c                ,   RV P                   9   d   V P                  R4      pM,RV P                   9   d   V P                  R4      ^ ,          pMR# VP                  R8X  d4   \        P                  P                  RR7      pV P                  V4       R# R# )z}
Fixture that xfails a test if the engine is pyarrow.

Use if failure is do to unsupported keywords or inconsistent results.
rg   r   NrJ   zpyarrow doesn't support this.rY   )fixturenamesgetfixturevaluer
   rc   rx   xfailapplymarker)rf   rM   rx   s   &  r   pyarrow_xfailr   /  s     ,,,((7	%)=)=	=(()EFqI}}	!{{  (G HD! "r   c                    RV P                   9   d   V P                  R4      pM,RV P                   9   d   V P                  R4      ^ ,          pMR# VP                  R8X  d   \        P                  ! RR7       R# R# )zw
Fixture that skips a test if the engine is pyarrow.

Use if failure is do a parsing failure from pyarrow.csv.read_csv
rg   r   NrJ   z,https://github.com/apache/arrow/issues/38676rY   )r   r   r
   rc   skip)rf   rM   s   & r   pyarrow_skipr   B  sg     ,,,((7	%)=)=	=(()EFqI}}	!IJ "r   )          ) rs   _)z-1,0      )z-1,2e0g333333)z-1e0r   )z+1e0      ?)z+1e+0r   )z+1e-1皙?)z+,1e1r   )z+1,e0r   )z-,1e1r   )z-1,e0r   )z0,1r   )z1,r   )z,1r   )z-,1g)z1_,r   )z1_234,56
ףp=J@)z
1_234,56e0r   )r   r   )-_r   )-_1r   )-_1e0r   )_1r   )_1,r   )_1,_r   )_1e0r   )1,2e_1r   )1,2e1_0r   )1,_2r   ),1__2r   ),1er   )-,1er   )1_000,000_000r   )1,e1_2r   )e11,2r   )1e11,2r   )1,2,2r   )1,2_1r   )	1,2e-10e1r   )--1,2r   )1a_2,1r   )z1,2E-1gQ?)z1,2E1g      (@)6
__future__r   rT   rc   pandas.compatr   pandas.compat._optionalr   pandasr   r   pandas._testing_testingr*   r	   r;   rA   rD   rF   rI   fixturerQ   rW   _cParserHighMemory_cParserLowMemory_pythonParser_pyarrowParser_py_parsers_only_c_parsers_onlyrb   rx   ry   rz   _pyarrow_parsers_onlyru   _py_parser_ids_c_parser_ids_pyarrow_parsers_idsrv   rg   rk   rn   rp   r~   r   _utf_values_encoding_seps_encoding_prefixes_encoding_fmtsr   r   r   r   r   )sepprefixs   00r   <module>r      s   " 	  % , 7/ 7/t;j ;
 w %: %
%J %
 , , D D ' $ !? %'89
LLKK""KK;7QR
  ML#3L6KL7#!{ JMJNJ5IJ |9 : M: ; '^< = ,2FG H*< 79(C46u=	 U^  &4%3cBThse5BT^
 {# $ ~& ' ,,, 	, 		,
 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,  	!," 	 #,& 	',( 	),* 	+,, 	-,. 	/,0 	1,2 	3,4 	5,6 	7,8 	9,: 	;,< 	=,> 	?,@ 	A,B 	+C,D 	E,F 	G,H 	I,J 	K,L 	M,N 	#O,P 	Q,R 	S,T 	U,V 	W,.^_.^ " "$ K KAs   0J