Ë
    ž…jÏH  ã                   óð  — d dl mZ d dlmZmZ d dlmZ d dlZd dl	Z	d dl
Zd dl
mZmZ d dlmZ d dlmZ e	j&                  j)                  d«      Ze	j,                  d„ «       Z e	j,                  d	d
g¬«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j&                  j?                  dddg«      e	j&                  j?                  deeg«      d„ «       «       Z d„ Z!d„ Z"d„ Z#d„ Z$e	j&                  j?                  dddg«      d„ «       Z%e	j&                  j?                  dg d¢«      d„ «       Z&e	j&                  j?                  dg d¢«      d „ «       Z'd!„ Z(e	j&                  j?                  d"dd#g«      d$„ «       Z)e	j&                  j?                  d%d&d'g«      d(„ «       Z*d)„ Z+d*„ Z,d+„ Z-e	j&                  j?                  d,g d-¢«      d.„ «       Z.d/„ Z/e	j&                  j?                  d0d1d2g«      d3„ «       Z0d4„ Z1d5„ Z2d6„ Z3d7„ Z4y)8é    )ÚIterator)ÚBytesIOÚStringIO)ÚPathN)Ú	DataFrameÚ	read_json)Ú
JsonReaderz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                  óL   — t        g d¢g d¢dœ«      } | j                  dd¬«      S )N©é   é   é   ©é   é   é   ©ÚAÚBTÚrecords©ÚlinesÚorient)r   Úto_json)Údfs    úd/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/io/json/test_readlines.pyÚlines_json_dfr      s$   € ä	šªÑ3Ó	4€BØ�:‰:˜D¨ˆ:Ó3Ð3ó    ÚujsonÚpyarrow)Úparamsc                 ób   — | j                   dk(  rt        j                  d«       | j                   S )Nr    zpyarrow.json)ÚparamÚpytestÚimportorskip)Úrequests    r   Úenginer'      s&   € à‡}�}˜	Ò!Ü×Ñ˜NÔ+Ø�=‰=Ðr   c                  ó†   — t        t        d«      d¬«      } t        ddgddggddg¬«      }t        j                  | |«       y )	Nz!{"a": 1, "b": 2}
{"b":2, "a" :1}
T©r   r   r   ÚaÚb©Úcolumns)r   r   r   ÚtmÚassert_frame_equal)ÚresultÚexpecteds     r   Útest_read_jsonlr2   &   sA   € ä”xÐ EÓFÈdÔS€FÜ˜1˜a˜& 1 a &Ð)°C¸°:Ô>€HÜ×Ñ˜& (Õ+r   c                 ó‚   — t         | dddd«      d|¬«      }t        g d¢g d¢d	œ«      }t        j                  ||«       y )
NÚioÚjsonÚdataúline_delimited.jsonT©r   r'   )r   r   r   )r   r   r   ©r*   r+   )r   r   r.   r/   )Údatapathr'   r0   r1   s       r   Útest_read_jsonl_engine_pyarrowr;   -   sB   € ÜÙ��v˜vÐ'<Ó=ØØô€Fô
 šyªyÑ9Ó:€HÜ×Ñ˜& (Õ+r   c                 óˆ  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       t        ddgddgdfgg d	¢¬
«      }|j                  dd¬«      }|dk(  rt        t        |«      |¬«      }nt        t        |«      |¬«      }t        g d¢g d¢gg d	¢¬
«      }t        j                  ||«       y )Nr    zEPyarrow only supports a file path as an input and line delimited json©ÚreasonÚraisesr   r   ú
2020-03-05ú2020-04-08T09:58:49+00:00Úhector)ÚaccountsÚdateÚnamer,   Tr   r   ©r'   )r   r@   rB   )r   rA   rB   )Úapplymarkerr$   ÚmarkÚxfailÚ
ValueErrorr   r   r   r   r.   r/   )r&   r'   r>   r   Ú	json_liner0   r1   s          r   Útest_read_datetimerL   7   s»   € à�ÒàXˆØ×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPä	Øˆaˆ&�<Ð!<Ð=¸xÐ	HÐIÚ,ô
€Bð —
‘
 ¨i�
Ó8€Ià�ÒÜœ8 IÓ.°vÔ>‰äœ8 IÓ.°vÔ>ˆÜÚ	$Ò&PÐQÚ,ô€Hô ×Ñ˜& (Õ+r   c                  ó  — d} t        | «      } t        | d¬«      }t        ddgddggddg¬	«      }t        j                  ||«       d} t        t        | «      d¬«      }t        ddgddggddg¬	«      }t        j                  ||«       y )
Nu5   {"a": "fooâ€�", "b": "bar"}
{"a": "foo", "b": "bar"}
Tr)   u   fooâ€�ÚbarÚfoor*   r+   r,   )r   r   r   r.   r/   )r5   r0   r1   s      r   Útest_read_jsonl_unicode_charsrP   O   s“   € ð
 E€DÜ�D‹>€DÜ�t 4Ô(€FÜ˜;¨Ð.°¸°Ð?È#ÈsÈÔT€HÜ×Ñ˜& (Ô+ð E€DÜ”x “~¨TÔ2€FÜ˜;¨Ð.°¸°Ð?È#ÈsÈÔT€HÜ×Ñ˜& (Õ+r   c                  óÒ  — t        ddgddggddg¬«      } | j                  dd¬«      }d	}||k(  sJ ‚t        d
dgddggddg¬«      } | j                  dd¬«      }d}||k(  sJ ‚t        j                  t	        t        |«      d¬«      | «       t        ddgddggddg¬«      } | j                  dd¬«      }d}||k(  sJ ‚t        j                  t	        t        |«      d¬«      | «       y )Nr   r   r*   r+   r,   r   T©r   r   z{"a":1,"b":2}
{"a":1,"b":2}
zfoo}rN   zfoo"z/{"a":"foo}","b":"bar"}
{"a":"foo\"","b":"bar"}
r)   zfoo\za\z4{"a\\":"foo\\","b":"bar"}
{"a\\":"foo\"","b":"bar"}
)r   r   r.   r/   r   r   )r   r0   r1   s      r   Útest_to_jsonlrS   a   s  € ä	�Q˜�F˜Q ˜FÐ#¨c°3¨ZÔ	8€BØ�Z‰Z˜y°ˆZÓ5€FØ/€HØ�XÒÐÐä	�V˜U�O f¨e _Ð5ÀÀS¸zÔ	J€BØ�Z‰Z˜y°ˆZÓ5€FØC€HØ�XÒÐÐÜ×Ñœ)¤H¨VÓ$4¸DÔAÀ2ÔFô 
�W˜eÐ$ v¨u oÐ6ÀÈÀÔ	M€BØ�Z‰Z˜y°ˆZÓ5€FØN€HØ�XÒÐÐÜ×Ñœ)¤H¨VÓ$4¸DÔAÀ2ÕFr   c                  ó„   — t        ddgddggddg¬«      } | j                  dd¬«      j                  d	«      }d}||k(  sJ ‚y )
Nr   r   r*   r+   r,   r   TrR   ú
)r   r   Úcount)r   Úactual_new_lines_countÚexpected_new_lines_counts      r   Útest_to_jsonl_count_new_linesrY   v   sR   € ä	�Q˜�F˜Q ˜FÐ#¨c°3¨ZÔ	8€BØŸZ™Z¨yÀ˜ZÓE×KÑKÈDÓQÐØ ÐØ!Ð%=Ò=Ð=Ñ=r   Ú	chunksizer   g      ð?Úbufferc                 óª  — |t         k(  r|j                  «       }|dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       t         ||«      d¬«      } ||«      5 }t        |d||¬«      5 }t        j                  |«      }	d d d «       d d d «       t        j                  	|«       y # 1 sw Y   Œ(xY w# 1 sw Y   Œ,xY w)Nr    úmPyarrow only supports a file path as an input and line delimited jsonand doesn't support chunksize parameter.r=   Tr)   ©r   rZ   r'   )r   ÚencoderG   r$   rH   rI   rJ   r   ÚpdÚconcatr.   r/   )
r&   r   rZ   r[   r'   r>   Ú	unchunkedÚbufÚreaderÚchunkeds
             r   Útest_readjson_chunksrf   ~   sÇ   € ð ”ÒØ%×,Ñ,Ó.ˆà�Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPä™& Ó/°tÔ<€Iáˆ}Óð$Ø!$Ü�#˜T¨Y¸vÔFð$àJPä—)‘)˜FÓ#ˆ÷	$÷ $ô ×Ñ˜' 9Õ-÷$ð $ú÷ $ð $ús$   Á0C	Â B=ÂC	Â=C	ÃC	Ã	Cc                 óÄ   — d}t        j                  t        |¬«      5  t        t	        | «      dd|¬«      5 }	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nz*chunksize can only be passed if lines=True©ÚmatchFr   r^   ©r$   r?   rJ   r   r   )r   r'   ÚmsgÚ_s       r   Ú&test_readjson_chunksize_requires_linesrm   ›   s`   € Ø
6€CÜ	�‰”z¨Ô	-ñ ÜÜ�]Ó#¨5¸AÀfô
ð 	àØ÷	÷ð ÷	ð 	ú÷ð úó!   žA·A
¹AÁ
A	ÁAÁAc                 óÎ  — |dk(  r1d}| j                  t        j                  j                  |¬«      «       t	        j
                  dddœ«      }t        |j                  dd¬	«      «      }t        |dd
|¬«      }t        |j                  dd¬	«      «      }t        |dd
d|¬«      5 }t	        j                  |«      }d d d «       t        j                  |«       y # 1 sw Y   Œ xY w)Nr    r]   )r>   r   r   r   Tr   r   Úseries)r   Útypr'   )r   rq   rZ   r'   )rG   r$   rH   rI   r`   ÚSeriesr   r   r   ra   r.   Úassert_series_equal)r&   r'   r>   ÚsÚstriorb   rd   re   s           r   Útest_readjson_chunks_seriesrv   ¤   sÔ   € Ø�Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÐ-Ó<Ô=ô 	�	‰	˜ Ñ"Ó#€Aä�Q—Y‘Y T°)�YÓ<Ó=€EÜ˜% t°À&ÔI€Iä�Q—Y‘Y T°)�YÓ<Ó=€EÜ	Ø�T˜x°1¸Vô
ð $à	Ü—)‘)˜FÓ#ˆ÷$ô
 ×Ñ˜7 IÕ.÷$ð $ús   Â&CÃC$c                 ó:  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       t        t        |«      dd|¬«      5 }t        |«      }d d d «       d   j                  dk(  sJ ‚|d	   j                  d
k(  sJ ‚y # 1 sw Y   Œ2xY w)Nr    r]   r=   Tr   r^   r   ©r   r   r   )r   r   )	rG   r$   rH   rI   rJ   r   r   ÚlistÚshape)r&   r   r'   r>   rd   Úchunkss         r   Útest_readjson_each_chunkr|   ¼   sŸ   € Ø�Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPô 
Ü�Ó t°qÀô
ð à	Ü�f“ˆ÷ð �!‰9�?‰?˜fÒ$Ð$Ð$Ø�!‰9�?‰?˜fÒ$Ð$Ñ$÷ð ús   ÁBÂBc                 ó€  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       t        g d¢g d¢dœ«      }|j                  |dd¬	«       t        |dd
|¬«      5 }t        j                  |«      }d d d «       t        |d|¬«      }t        j                  |«       y # 1 sw Y   Œ.xY w)Nr    r]   r=   r   r   r   Tr   r   r   r^   r8   )rG   r$   rH   rI   rJ   r   r   r   r`   ra   r.   r/   )r&   r'   Ú	temp_filer>   r   rd   re   rb   s           r   Útest_readjson_chunks_from_filer   Ï   sª   € Ø�Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPä	šªÑ3Ó	4€BØ‡J�Jˆy ¨Y€JÔ7Ü	�9 D°A¸fÔ	Eð $ÈÜ—)‘)˜FÓ#ˆ÷$ä˜)¨4¸Ô?€IÜ×Ñ˜) WÕ-÷$ð $ús   Á1B4Â4B=c                 ó$  — t        g d¢g d¢dœ«      }|j                  |dd¬«       t        |d ddddddd d d| d d ¬	«      }|5  |j                  «        d d d «       |j                  j
                  j                  s
J d
| › �«       ‚y # 1 sw Y   Œ4xY w)Nr   r   r   Tr   r   ÚframeF)r   rq   ÚdtypeÚconvert_axesÚconvert_datesÚkeep_default_datesÚprecise_floatÚ	date_unitÚencodingr   rZ   ÚcompressionÚnrowsz%didn't close stream with chunksize = )r   r   r	   ÚreadÚhandlesÚhandleÚclosed)rZ   r~   r   rd   s       r   Útest_readjson_chunks_closesr�   à   s¤   € ä	šªÑ3Ó	4€BØ‡J�Jˆy ¨Y€JÔ7ÜØØØØØØØØØØØØØØô€Fð  
ñ Ø�‰Œ÷à�>‰>× Ñ ×'Ò'ð Ø
/°	¨{Ð;óÑ'÷ð ús   ÁBÂB)r   éÿÿÿÿgš™™™™™@rO   c                 óÄ   — d}t        j                  t        |¬«      5  t        t	        | «      d||¬«      5 }	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nz"'chunksize' must be an integer >=1rh   Tr^   rj   )r   rZ   r'   rk   rl   s        r   Útest_readjson_invalid_chunksizer’   û   s`   € à
/€Cä	�‰”z¨Ô	-ñ ÜÜ�]Ó#¨4¸9ÈVô
ð 	àØ÷	÷ð ÷	ð 	ú÷ð úrn   )Nr   r   c                 óì   — d}t        g d¢g d¢dœ«      }t        t        |«      d| ¬«      }| � |5  t        j                  |«      }d d d «       t        j                  ||d| › �¬«       y # 1 sw Y   Œ%xY w)	NzF

    {"A":1,"B":4}



    {"A":2,"B":5}







    {"A":3,"B":6}
    r   r   r   T©r   rZ   zchunksize: )Úobj)r   r   r   r`   ra   r.   r/   )rZ   ÚjÚorigÚtests       r   Ú)test_readjson_chunks_multiple_empty_linesr™     sp   € ð	€Aô  š9ª9Ñ5Ó6€DÜ”X˜a“[¨¸	ÔB€DØÐØñ 	#Ü—9‘9˜T“?ˆD÷	#ä×Ñ˜$ ¨K¸	°{Ð*CÖD÷	#ð 	#ús   °A*Á*A3c                 ój  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       |j                  dd„ «       t        |dd¬«      5 }|j                  d	«       d d d «       t        ||¬
«      }t        ddgi«      }t        j                  ||«       y # 1 sw Y   Œ;xY w)Nr    r]   r=   zlocale.getpreferredencodingc                  ó   — y)NÚcp949© )Údo_setlocales    r   ú<lambda>z'test_readjson_unicode.<locals>.<lambda>)  s   � r   Úwzutf-8)rˆ   u6   {"Â£Â©ÂµÃ€Ã†Ã–ÃžÃŸÃ©Ã¶Ã¿":["Ð�Ð‘Ð’Ð“Ð”Ð°Ð±Ð²Ð³Ð´ê°€"]}rF   u   Â£Â©ÂµÃ€Ã†Ã–ÃžÃŸÃ©Ã¶Ã¿u   Ð�Ð‘Ð’Ð“Ð”Ð°Ð±Ð²Ð³Ð´ê°€)rG   r$   rH   rI   rJ   ÚsetattrÚopenÚwriter   r   r.   r/   )r&   Úmonkeypatchr'   r~   r>   Úfr0   r1   s           r   Útest_readjson_unicoder¦      s°   € Ø�Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPà×ÑÐ5Ñ7SÔTÜ	ˆi˜ wÔ	/ð J°1Ø	�‰ÐHÔI÷Jô �y¨Ô0€FÜÐ2Ð5NÐ4OÐPÓQ€HÜ×Ñ˜& (Õ+÷Jð Jús   ÁB)Â)B2rŠ   r   c                 ó    — d}t        t        |«      d| ¬«      }t        g d¢g d¢dœ«      j                  d |  }t	        j
                  ||«       y )Nú[{"a": 1, "b": 2}
        {"a": 3, "b": 4}
        {"a": 5, "b": 6}
        {"a": 7, "b": 8}T)r   rŠ   ©r   r   r   é   ©r   r   r   é   r9   )r   r   r   Úilocr.   r/   )rŠ   r'   Újsonlr0   r1   s        r   Útest_readjson_nrowsr¯   2  sI   € ð€Eô ”x “¨d¸%Ô@€FÜš|²,Ñ?Ó@×EÑEÀfÀuÐM€HÜ×Ñ˜& (Õ+r   znrows,chunksizerx   )r   r   c                 óî  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       d}|dk7  r8t        t        |«      d|||¬«      5 }t        j                  |«      }d d d «       n.t        |d|||¬«      5 }t        j                  |«      }d d d «       t        g d¢g d¢d	œ«      j                  d | }t        j                  |«       y # 1 sw Y   Œ?xY w# 1 sw Y   ŒKxY w)
Nr    r]   r=   r¨   T)r   rŠ   rZ   r'   r©   r«   r9   )rG   r$   rH   rI   rJ   r   r   r`   ra   r   r­   r.   r/   )	r&   rŠ   rZ   r'   r>   r®   rd   re   r1   s	            r   Útest_readjson_nrows_chunksr±   ?  s÷   € ð �Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPð€Eð
 �ÒÜÜ�U‹O 4¨uÀ	ÐRXô
ð 	(àÜ—i‘i Ó'ˆG÷	(ð 	(ô
 Ø˜ U°iÈô
ð 	(àÜ—i‘i Ó'ˆG÷	(ô š|²,Ñ?Ó@×EÑEÀfÀuÐM€HÜ×Ñ˜' 8Õ,÷	(ð 	(ú÷
	(ð 	(ús   ÁCÂC+ÃC(Ã+C4c                 óŠ   — d}d}t        j                  t        |¬«      5  t        |dd| ¬«       d d d «       y # 1 sw Y   y xY w)Nr¨   z&nrows can only be passed if lines=Truerh   Fr   )r   rŠ   r'   )r$   r?   rJ   r   )r'   r®   rk   s      r   Ú"test_readjson_nrows_requires_linesr³   ^  sA   € ð€Eð 3€CÜ	�‰”z¨Ô	-ñ >Ü�%˜u¨A°fÕ=÷>÷ >ñ >ús	    9¹Ac                 óÚ  — |dk(  r6d}| j                  t        j                  j                  |t        ¬«      «       t        ddggddgdg¬	«      t        d
dggddgdg¬	«      t        ddggddgdg¬	«      g} |dddd«      }t        |«      j                  «       }t        |dd|¬«      5 }t        |«      D ]  \  }}	t        j                  |	||   «       Œ  	 d d d «       y # 1 sw Y   y xY w)Nr    r]   r=   r   r   r*   r+   r   )r-   Úindexr   r   r   r   r4   r5   r6   r7   Tr^   )rG   r$   rH   rI   rJ   r   r   Úas_urir   Ú	enumerater.   r/   )
r&   r:   r'   r>   Údf_list_expectedÚos_pathÚfile_urlÚ
url_readerrµ   Úchucks
             r   Ú"test_readjson_lines_chunks_fileurlr½   j  s
  € ð �Òð7ð 	ð 	×ÑœFŸK™K×-Ñ-°VÄJÐ-ÓOÔPô 	�A�q�6�( S¨# J°q°cÔ:Ü�A�q�6�( S¨# J°q°cÔ:Ü�A�q�6�( S¨# J°q°cÔ:ðÐñ
 �t˜V VÐ-BÓC€GÜ�G‹}×#Ñ#Ó%€HÜ	�8 4°1¸VÔ	Dð BÈ
Ü% jÓ1ò 	B‰LˆE�5Ü×!Ñ! %Ð)9¸%Ñ)@ÕAñ	B÷B÷ Bñ Bús   Â*-C!Ã!C*c            	      óž   — ddz  }  G d„ d«      } || «      }t        t        t        |dd¬«      «      «      dkD  sJ ‚|j                  d	kD  sJ ‚y )
Nz\{"a": 1, "b": 2}
        {"a": 3, "b": 4}
        {"a": 5, "b": 6}
        {"a": 7, "b": 8}
iè  c                   ó&   — e Zd Zdd„Zd„ Zdefd„Zy)ú/test_chunksize_is_incremental.<locals>.MyReaderÚreturnNc                 ó2   — d| _         t        |«      | _        y )Nr   )Ú
read_countr   Ústringio)ÚselfÚcontentss     r   Ú__init__z8test_chunksize_is_incremental.<locals>.MyReader.__init__Œ  s   € ØˆDŒOÜ$ XÓ.ˆD�Mr   c                 ó^   — | xj                   dz  c_          | j                  j                  |Ž S ©Nr   )rÃ   rÄ   r‹   )rÅ   Úargss     r   r‹   z4test_chunksize_is_incremental.<locals>.MyReader.read�  s'   € Ø�OŠO˜qÑ �OØ%�4—=‘=×%Ñ% tÐ,Ð,r   c                 óV   — | xj                   dz  c_         t        | j                  «      S rÉ   )rÃ   ÚiterrÄ   )rÅ   s    r   Ú__iter__z8test_chunksize_is_incremental.<locals>.MyReader.__iter__”  s   € Ø�OŠO˜qÑ �OÜ˜Ÿ™Ó&Ð&r   )rÁ   N)Ú__name__Ú
__module__Ú__qualname__rÇ   r‹   r   rÍ   r�   r   r   ÚMyReaderrÀ   ‹  s   „ ó	/ò	-ð	'˜hô 	'r   rÑ   Téd   r”   r   é
   )Úlenry   r   rÃ   )r®   rÑ   rd   s      r   Útest_chunksize_is_incrementalrÕ   �  s`   € ð	ð ñ		ð 
÷'ñ 'ñ �e‹_€FÜŒt”I˜f¨D¸CÔ@ÓAÓBÀQÒFÐFÐFØ×Ñ˜rÒ!Ð!Ñ!r   Úorient_)Úsplitrµ   Útablec                 ó²   — t        ddgddgdœ«      }d}t        j                  t        |¬«      5  |j	                  d| ¬«       d d d «       y # 1 sw Y   y xY w)	Nr   r   r*   r+   ©Úcol1Úcol2úPmode='a' \(append\) is only supported when lines is True and orient is 'records'rh   )Úmoder   ©r   r$   r?   rJ   r   )rÖ   r   rk   s      r   Útest_to_json_append_orientrà   �  sZ   € ô 
˜Q ˜F¨S°#¨JÑ7Ó	8€Bð	0ð ô 
�‰”z¨Ô	-ñ -Ø
�
‰
˜ Gˆ
Ô,÷-÷ -ñ -ús   °AÁAc                  ó´   — t        ddgddgdœ«      } d}t        j                  t        |¬«      5  | j	                  ddd	¬
«       d d d «       y # 1 sw Y   y xY w)Nr   r   r*   r+   rÚ   rÝ   rh   Fr   ©rÞ   r   r   rß   )r   rk   s     r   Útest_to_json_append_linesrã   ª  s\   € ô 
˜Q ˜F¨S°#¨JÑ7Ó	8€Bð	0ð ô 
�‰”z¨Ô	-ñ <Ø
�
‰
˜ 5°ˆ
Ô;÷<÷ <ñ <ús   °AÁAÚmode_ÚrÚxc                 ó¼   — t        ddgddgdœ«      }d| › d�}t        j                  t        |¬«      5  |j	                  | d	d
¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   r*   r+   rÚ   zmode=z@ is not a valid option.Only 'w' and 'a' are currently supported.rh   Fr   râ   rß   )rä   r   rk   s      r   Útest_to_json_append_moderè   ¶  sd   € ô 
˜Q ˜F¨S°#¨JÑ7Ó	8€Bà
�ˆwÐVÐWð ô 
�‰”z¨Ô	-ñ >Ø
�
‰
˜ U°9ˆ
Ô=÷>÷ >ñ >ús   ´AÁAc                 ó  — t        ddgddgdœ«      }t        ddgdd	gdœ«      }t        g d
¢g d¢dœ«      }|j                  | dd¬«       |j                  | ddd¬«       t        | d¬«      }t        j                  ||«       y )Nr   r   r*   r+   rÚ   r   r   ÚcÚd)r   r   r   r   )r*   r+   rê   rë   Tr   r   râ   r)   )r   r   r   r.   r/   )r~   Údf1Údf2r1   r0   s        r   Ú-test_to_json_append_output_consistent_columnsrî   Â  s†   € ô ˜a ˜V¨c°3¨ZÑ8Ó
9€CÜ
˜a ˜V¨c°3¨ZÑ8Ó
9€Cä¢,Ò8LÑMÓN€Hà‡K�K�	 ¨i€KÔ8Ø‡K�K�	 ¨4¸	€KÔBô �y¨Ô-€FÜ×Ñ˜& (Õ+r   c                 óL  — t        ddgddgdœ«      }t        ddgdd	gd
œ«      }t        g d¢g d¢t        j                  t        j                  dd	gdœ«      }|j                  | ddd¬«       |j                  | ddd¬«       t	        | d¬«      }t        j                  ||«       y )Nr   r   r*   r+   rÚ   Úer¥   ú!ú#©rÜ   Úcol3)r   r   NN)r*   r+   rð   r¥   )rÛ   rÜ   rô   Tr   râ   r)   )r   ÚnpÚnanr   r   r.   r/   )r~   rì   Údf3r1   r0   s        r   Ú/test_to_json_append_output_inconsistent_columnsrø   Ó  s£   € ô ˜a ˜V¨c°3¨ZÑ8Ó
9€CÜ
˜c 3˜Z°#°s°Ñ<Ó
=€Cäâ&Ú(Ü—V‘VœRŸV™V S¨#Ð.ñ	
ó€Hð ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBô �y¨Ô-€FÜ×Ñ˜& (Õ+r   c                 óÆ  — t        ddgddgdœ«      }t        ddgdd	gdœ«      }t        d
dgddgdœ«      }t        dddgi«      }t        g d¢dddd	d
dt        j                  t        j                  gt        j                  t        j                  t        j                  t        j                  ddt        j                  t        j                  gg d¢dœ«      j                  ddi«      }|j	                  | ddd¬«       |j	                  | ddd¬«       |j	                  | ddd¬«       |j	                  | ddd¬«       t        | d¬«      }t        j                  ||«       y )Nr   r   r*   r+   rÚ   r   r   rê   rë   rð   r¥   rñ   rò   ró   Úcol4TF)r   r   r   r   NNNN)NNNNNNTF)rÛ   rÜ   rô   rú   Úfloatr   râ   r)   ©r   rõ   rö   Úastyper   r   r.   r/   ©r~   rì   rí   r÷   Údf4r1   r0   s          r   Ú,test_to_json_append_output_different_columnsr   ê  s=  € ô ˜a ˜V¨c°3¨ZÑ8Ó
9€CÜ
˜a ˜V¨c°3¨ZÑ8Ó
9€CÜ
˜c 3˜Z°#°s°Ñ<Ó
=€CÜ
�V˜d E˜]Ð+Ó
,€Cäâ8Ø˜#˜s C¨¨c´2·6±6¼2¿6¹6ÐBÜ—V‘VœRŸV™V¤R§V¡V¬R¯V©V°S¸#¼r¿v¹vÄrÇvÁvÐNÚEñ		
ó÷ �fˆf�gÐÓð ð ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBô �y¨Ô-€FÜ×Ñ˜& (Õ+r   c                 óÆ  — t        ddgddgdœ«      }t        ddgdd	gdœ«      }t        d
dgddgdœ«      }t        dddgi«      }t        g d¢t        j                  t        j                  d
ddd	ddgt        j                  t        j                  ddt        j                  t        j                  t        j                  t        j                  gg d¢dœ«      j                  ddi«      }|j	                  | ddd¬«       |j	                  | ddd¬«       |j	                  | ddd¬«       |j	                  | ddd¬«       t        | d¬«      }t        j                  ||«       y )Nr   r   r*   r+   rÚ   r   r   rê   rë   rð   r¥   rñ   rò   ró   rú   TF)TFNNNNNN)NNNNr   r   r   r   )rú   rÜ   rô   rÛ   rû   r   râ   r)   rü   rþ   s          r   Ú6test_to_json_append_output_different_columns_reorderedr    s?  € ô ˜a ˜V¨c°3¨ZÑ8Ó
9€CÜ
˜a ˜V¨c°3¨ZÑ8Ó
9€CÜ
˜c 3˜Z°#°s°Ñ<Ó
=€CÜ
�V˜d E˜]Ð+Ó
,€Cô âEÜ—V‘VœRŸV™V S¨#¨s°C¸¸cÐBÜ—V‘VœRŸV™V S¨#¬r¯v©v´r·v±v¼r¿v¹vÄrÇvÁvÐNÚ8ñ		
ó÷ �fˆf�gÐÓð ð ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBØ‡K�K�	 ¨4¸	€KÔBô �y¨Ô-€FÜ×Ñ˜& (Õ+r   )5Úcollections.abcr   r4   r   r   Úpathlibr   Únumpyrõ   r$   Úpandasr`   r   r   Úpandas._testingÚ_testingr.   Úpandas.io.json._jsonr	   rH   ÚfilterwarningsÚ
pytestmarkÚfixturer   r'   r2   r;   rL   rP   rS   rY   Úparametrizerf   rm   rv   r|   r   r�   r’   r™   r¦   r¯   r±   r³   r½   rÕ   rà   rã   rè   rî   rø   r   r  r�   r   r   ú<module>r     s=  ðÝ $÷õ ã Û ã ÷õ å +à�[‰[×'Ñ'ØCó€
ð
 ‡�ñ4ó ð4ð
 €‡�˜ Ð+Ô,ñó -ðò,ò,ò,ò0,ò$Gò*>ð ‡�×Ñ˜ q¨# hÓ/Ø‡�×Ñ˜ G¨XÐ#6Ó7ñ.ó 8ó 0ð.ò6ò/ò0%ò&.ð" ‡�×Ñ˜ t¨Q iÓ0ñó 1ðð4 ‡�×Ñ˜Ò&9Ó:ñó ;ðð ‡�×Ñ˜¢lÓ3ñEó 4ðEò2,ð$ ‡�×Ñ˜ 1 a &Ó)ñ	,ó *ð	,ð ‡�×ÑÐ*¨V°VÐ,<Ó=ñ-ó >ð-ò<	>òBò."ð8 ‡�×Ñ˜Ò$?Ó@ñ	-ó Að	-ò	<ð ‡�×Ñ˜ 3¨ *Ó-ñ>ó .ð>ò,ò",ò.,ó8,r   