ó
    6lj  ã                   óB  • S r SSKrSSKJs  Jr  SSKrSSKJ	r	  SSK
Jr  SSKrSSKrSSKJrJr  SSKJrJrJrJrJrJr  S*S jrSS	S
SSSS.SS	SSSSS./rS r\" \" SS\" SS
\5      S9\" SS\" SS5      S9\" SSSSSS 0/ S!.S9\" S"S#S$S%9/5      rS& rS' rS( rS) rg)+a3  The export writers, asserted against the file read back. A cell's type
and number format are the thing under test and neither is visible in the
code that sets them, so the workbook is reopened and each cell inspected.
The text file is asserted on its raw lines, where quoting and prefixing are
the encoding.é    N)ÚDecimal)ÚBytesIO)ÚBatchRowÚRunState)ÚCOLUMNSÚNOT_IN_DOCUMENTÚ
build_rowsÚpercent_formatÚ	write_csvÚ
write_xlsxc                 ó*   • SU XSSS.U=(       d    / S.$ )NÚscalarÚpercentÚQ1)ÚvalueÚnumberÚunitÚperiod©ÚshapeÚanswerr   Ú
references© )Úprintedr   Úrefss      Ú6/home/mande/repo/quber/tests/playground/test_export.pyÚscalar_responser      s$   € àØØ"¸iÐSWÑXØ—j˜bñ	ð ó    zt1-2-3é   ú6.7Ú
reconciledF)Úref_idÚpageÚtextÚstatusÚnoteÚflaggedzt1-2-4z6.8Ú
unverifiedúcould not readTc                 óf   • [        SSS[        U 5      [        U 5      [        S U  5       5      SU S9$ )NÚjé   r   c              3   óJ   #   • U  H  oR                   (       d  M  S v •  M     g7f)r,   N)Úerror©Ú.0Úrs     r   Ú	<genexpr>Úrun_state.<locals>.<genexpr>=   s   é € Ð.šd˜§g¥g—1‘1šdùs   ‚#š	#F)Újob_idÚdoc_idÚwantÚtotalÚdoneÚfailedÚrunningÚrows)r   ÚlenÚsum)r;   s    r   Ú	run_stater>   6   s:   € ÜØØØÜ�$‹iÜ�‹YÜÑ.™dÓ.Ó.ØØñ	ð 	r   zcoupon?ú6.7 %)ÚindexÚquestionÚresponser,   zdistributions?ú
$ (10,550)z-10550é   ú=SUM(A1:A9)?Úunanswerablezn/aÚreasonúnot printedr   é   zwhy?ú529 overloaded)r@   rA   r.   c                  óà  • [        [        5      n U S   n/ o!R                  nSoCU:H  oUoe(       a1  UR                  nSn[	        U5      o—U	:H  oªoj(       a  UR
                  o»nU(       Gd…  [        R                  " SU4SX445      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nSS	U0-  oÒR                  U5        U(       Ga’  [        R                  " SW
4S
WW	45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      S[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OS[        R                  " W5      [        R                  " U	5      S.-  nSSU0-  oòR                  U5        U
(       aw  SS[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " W5      S.-  nUR                  U5        [        R                  " US5      0 -  nSSU0-  n[        [        R                  " U5      5      eS =n=n=n=n=n=n=n
=n=p›UR                   nSnUU:H  o3(       d»  [        R                  " SU4SUU45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=nnUR"                  nSnUU:H  o3(       d»  [        R                  " SU4SUU45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=nnUR$                  nSnUU:H  o3(       d»  [        R                  " SU4SUU45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=nnUR&                  nSnUU:H  o3(       d»  [        R                  " SU4SUU45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=nnUR(                  nSnUU:H  o3(       d»  [        R                  " SU4SUU45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=nnUR*                  nS nUUL o3(       d»  [        R                  " S!U4S"UU45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS[        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=nn/ o S#   nUR                  nU[,        :H  oDod(       a  U S#   nUR(                  nS$nUU:H  nUnU(       Gdu  [        R                  " SU4S%U[,        45      [        R                  " U5      [        R                  " U5      S&[        R                  " 5       ;   d  [        R                  " [,        5      (       a  [        R                  " [,        5      OS&S'.-  nSS	U0-  oÒR                  U5        U(       av  [        R                  " SW4S(WU45      [        R                  " W5      [        R                  " U5      [        R                  " U5      S).-  nS*S+U0-  oâR                  U5        [        R                  " US5      0 -  nS,S-U0-  n[        [        R                  " U5      5      eS =n=n=n=n=n=n=n=nn/ o S.   nUR.                  nS/nUU:H  oDod(       a  U S.   owR                  n
S0nU
U:H  oˆnU(       Gd5  [        R                  " SU4S1UU45      [        R                  " U5      [        R                  " U5      [        R                  " U5      S2.-  nS3S4U0-  nUR                  U5        U(       aw  [        R                  " SU4S5U
W45      [        R                  " U5      [        R                  " U
5      [        R                  " U5      S6.-  n S7S8U 0-  nUR                  U5        [        R                  " US5      0 -  nS9S:U0-  n![        [        R                  " U!5      5      eS =n=n=n=n=n=n=n=n
=nng );Nr   r?   r    ©ú==)z/%(py4)s
{%(py4)s = %(py2)s.printed
} == %(py7)sÚfirst©Úpy2Úpy4Úpy7ú%(py9)sÚpy9)zS%(py13)s
{%(py13)s = %(py11)s.number
} == %(py19)s
{%(py19)s = %(py15)s(%(py17)s)
}r   )Úpy11Úpy13Úpy15Úpy17Úpy19z%(py21)sÚpy21z'%(py25)s
{%(py25)s = %(py23)s.percent
})Úpy23Úpy25zassert %(py28)sÚpy28Ú21)z-%(py2)s
{%(py2)s = %(py0)s.pages
} == %(py5)s©Úpy0rP   Úpy5úassert %(py7)srR   zt1-2-3; t1-2-4)z1%(py2)s
{%(py2)s = %(py0)s.cited_ids
} == %(py5)sz6.7; 6.8)z1%(py2)s
{%(py2)s = %(py0)s.cell_text
} == %(py5)szreconciled; unverified)z.%(py2)s
{%(py2)s = %(py0)s.status
} == %(py5)sr)   )z,%(py2)s
{%(py2)s = %(py0)s.note
} == %(py5)sT©Úis)z.%(py2)s
{%(py2)s = %(py0)s.review
} is %(py5)srD   rH   )z/%(py5)s
{%(py5)s = %(py3)s.printed
} == %(py7)sr   )Úpy3ra   rR   )z0%(py14)s
{%(py14)s = %(py12)s.note
} == %(py17)s)Úpy12Úpy14rX   z%(py19)srY   zassert %(py22)sÚpy22rI   rJ   Ú )z-%(py5)s
{%(py5)s = %(py3)s.error
} == %(py8)s)re   ra   Úpy8z%(py10)sÚpy10)z3%(py15)s
{%(py15)s = %(py13)s.printed
} == %(py18)s)rV   rW   Úpy18z%(py20)sÚpy20zassert %(py23)sr[   )r	   ÚSTATEr   r   r   r   Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚappendÚ_format_boolopÚAssertionErrorÚ_format_explanationÚpagesÚ	cited_idsÚ	cell_textr%   r&   Úreviewr   r.   )"r;   rN   Ú@py_assert1Ú@py_assert3Ú@py_assert6Ú@py_assert5Ú@py_assert0Ú@py_assert12Ú@py_assert16Ú@py_assert18Ú@py_assert14Ú@py_assert24Ú@py_format8Ú@py_format10Ú@py_format20Ú@py_format22Ú@py_format26Ú@py_format27Ú@py_format29Ú@py_assert4Ú@py_format6Ú@py_assert2Ú@py_assert11Ú@py_assert13Ú@py_assert15Ú@py_format18Ú@py_format21Ú@py_format23Ú@py_assert7Ú@py_assert17Ú@py_format9Ú@py_format11Ú@py_format19Ú@py_format24s"                                     r   Ú*test_rows_carry_provenance_and_review_flagr�   V   s  € Ü”eÓ€DØ�‰G€EÙX�=‰=ÐX˜GÐX˜GÑ#×X¨¯©ÐXÀÐX¼À»ÐX¸Ñ(F×XÈ5Ï=É=×X×X×XÕXˆ=×X×X×X×X×XÕXˆ5×X×X×XÑXˆ5×X×XÕXˆ=×X×XÓX˜G×X×X×X×X×X×X×XÓX¨¸×X×X×X×X×XÕX¨×X×X×XÑX¨×X×XÕX¨×X×X×X×X×XÔX¼×X×X×XÑX¼×X×XÕXÀ×X×XÓX¸×X×X×X×X×X×X×X×X×X×XÐXÈ5×X×X×XÑXÈ5×X×XÕXÈ=×X×X×X×X×X×X×X×X×X×X×X×X×XÔXØ�;‰;Ð˜$Ðˆ;˜$Ñ×××Òˆ;˜$×××××Õˆ5×××Ñˆ5××Õˆ;××Ó˜$××××××ÔØ�?‰?Ð.Ð.Ð.ˆ?Ð.Ñ.×.×.×.Ò.ˆ?Ð.×.×.×.×.×.Õ.ˆ5×.×.×.Ñ.ˆ5×.×.Õ.ˆ?×.×.Ó.Ð.×.×.×.×.×.×.Ô.Ø�?‰?Ð(˜jÐ(ˆ?˜jÑ(×(×(×(Ò(ˆ?˜j×(×(×(×(×(Õ(ˆ5×(×(×(Ñ(ˆ5×(×(Õ(ˆ?×(×(Ó(˜j×(×(×(×(×(×(Ô(Ø�<‰<Ð3Ð3Ð3ˆ<Ð3Ñ3×3×3×3Ò3ˆ<Ð3×3×3×3×3×3Õ3ˆ5×3×3×3Ñ3ˆ5×3×3Õ3ˆ<×3×3Ó3Ð3×3×3×3×3×3×3Ô3Ø�:‰:Ð)Ð)Ð)ˆ:Ð)Ñ)×)×)×)Ò)ˆ:Ð)×)×)×)×)×)Õ)ˆ5×)×)×)Ñ)ˆ5×)×)Õ)ˆ:×)×)Ó)Ð)×)×)×)×)×)×)Ô)Ø�<‰<Ð˜4Ðˆ<˜4Ð×××Òˆ<˜4×××××Õˆ5×××Ñˆ5××Õˆ<××Ó˜4××××××ÔÙO�‰7ÐOˆ7�?‰?ÐOˆ?œoÑ-×O°$°q±'ÐO°'·,±,ÐOÀ-ÐO°,À-Ñ2O×O×O×OÖOˆ?œo×O×OÔOˆ7×O×OÓOˆ?×O×O×O×O×OÔOœo×O×O×OÑOœo×O×O×O×O×O×O×OÔO°,À-×O×OÔO°'×O×OÓO°,×O×OÓOÀ-×O×O×O×O×O×O×O×O×O×O×O×O×O×OÑOÙF�‰7ÐFˆ7�=‰=ÐFÐ,ÐFˆ=Ð,Ñ,×F°°a±ÐF·±ÐFÀBÐF°ÀBÑ1F×F×F×FÕFˆ=Ð,×F×FÔFˆ7×F×FÓFˆ=×F×FÓFÐ,×F×F×F×F×F×F×FÓF°ÀB×F×FÔF°×F×FÓF°×F×FÓFÀB×F×F×F×F×F×F×F×F×F×F×F×F×F×FÕFr   c                  óÎ  • Sn [        U 5      nSo!U:H  o3(       d×  [        R                  " SU4SX45      S[        R                  " 5       ;   d  [        R
                  " [         5      (       a  [        R                  " [         5      OS[        R                  " U 5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n =n=p2S	n [        U 5      nS
o!U:H  o3(       d×  [        R                  " SU4SX45      S[        R                  " 5       ;   d  [        R
                  " [         5      (       a  [        R                  " [         5      OS[        R                  " U 5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n =n=p2Sn [        U 5      nSo!U:H  o3(       d×  [        R                  " SU4SX45      S[        R                  " 5       ;   d  [        R
                  " [         5      (       a  [        R                  " [         5      OS[        R                  " U 5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n =n=p2g )Nr?   ú0.0%rL   )z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)sr
   )r`   rP   rQ   rR   zassert %(py9)srT   z7.84%z0.00%z65%z0%)	r
   ro   rp   rq   rr   rs   rt   rw   rx   )r}   r~   r   r€   r‡   rˆ   s         r   Ú-test_percent_format_mirrors_printed_precisionr    d   sˆ  € Ø!Ð,Œ>˜'Ó"Ð, fÐ, fÑ,×,×,×,Ò,Ð"×,×,×,×,×,Õ,Œ>×,×,×,Ñ,Œ>×,×,Õ,˜'×,×,Ó,Ð"×,×,Ó, f×,×,×,×,×,×,Õ,Ø!Ð-Œ>˜'Ó"Ð- gÐ- gÑ-×-×-×-Ò-Ð"×-×-×-×-×-Õ-Œ>×-×-×-Ñ-Œ>×-×-Õ-˜'×-×-Ó-Ð"×-×-Ó- g×-×-×-×-×-×-Õ-ØÐ(Œ>˜%Ó Ð( DÐ( DÑ(×(×(×(Ò(Ð ×(×(×(×(×(Õ(Œ>×(×(×(Ñ(Œ>×(×(Õ(˜%×(×(Ó(Ð ×(×(Ó( D×(×(×(×(×(×(Ö(r   c            
      ó°  • [         R                  " [        [        [        5      5      5      R
                  S   n U S    Vs/ s H  oR                  PM     nnU[        :H  o3(       dè  [        R                  " SU4SU[        45      S[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OSS[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OSS.-  nSS	U0-  n[        [        R                  " U5      5      eS n[!        S
S5       Vs/ s H  o`R#                  US
S9PM     nnS U 5       n[%        U5      oˆ(       d¢  SS[        R                  " 5       ;   d  [        R                  " [$        5      (       a  [        R                  " [$        5      OS[        R                  " U5      [        R                  " U5      S.-  n[        [        R                  " U5      5      eS =p8US   o™R                  n
SoºU:H  oÌ(       d„  [        R                  " SU4SX«45      [        R                  " U	5      [        R                  " U
5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n	=n
=pËUS   o™R                  n
SoºU:H  oÌ(       d„  [        R                  " SU4SX«45      [        R                  " U	5      [        R                  " U
5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n	=n
=pËU R"                  nSnS
o³" X‹S9oÿR                  nS nUUL nU(       Gd  [        R                  " SU4SUU45      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R                  " U 5      OS[        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=n=n=n=nnU R#                  S
SS9nUR                  n[&        R(                  nSoû" U5      nUU:H  oˆ(       Gd8  [        R                  " SU4SUU45      S [        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS [        R                  " U5      S![        R                  " 5       ;   d  [        R                  " [&        5      (       a  [        R                  " [&        5      OS![        R                  " U5      [        R                  " U5      [        R                  " U5      S".-  nS#S$U0-  n[        [        R                  " U5      5      eS =n=n=n=nnUR*                  nS%oÃU:H  oˆ(       dº  [        R                  " SU4S&X<45      S [        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS [        R                  " U5      [        R                  " U5      S'.-  nS(S)U0-  n[        [        R                  " U5      5      eS =n=pŒU R#                  SSS9nUR                  nS*oÌ* nUU:H  oˆ(       d»  [        R                  " SU4S+UU45      S,[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS,[        R                  " U5      [        R                  " U5      S'.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=nnUR*                  nS-oÃU:H  oˆ(       dº  [        R                  " SU4S&X<45      S,[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS,[        R                  " U5      [        R                  " U5      S'.-  nS(S)U0-  n[        [        R                  " U5      5      eS =n=pŒU R"                  nS.nSo³" X‹S9oÿR                  nS nUUL nU(       Gd  [        R                  " SU4SUU45      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R                  " U 5      OS[        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=n=n=n=nnU R#                  S.SS9n/ nUR                  nS/nUU:H  o»o›(       a  UR,                  nS0nUU:H  nUn	U	(       Gd¡  [        R                  " SU4S1UU45      S2[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS2[        R                  " U5      [        R                  " U5      S3.-  nS4S5U0-  nUR/                  U5        U(       a­  [        R                  " SW4S6UW45      S2[        R                  " 5       ;   d  [        R                  " U5      (       a  [        R                  " U5      OS2[        R                  " U5      [        R                  " U5      S7.-  n S8S9U 0-  n!UR/                  U!5        [        R0                  " US5      0 -  n"S:S;U"0-  n#[        [        R                  " U#5      5      eS =n	=n=n=n=n=n=nnU R"                  nS
nS<o³" X‹S9oÿR                  nS=nUU:H  nU(       Gd  [        R                  " SU4S>UU45      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R                  " U 5      OS[        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=n=n=n=nnU R"                  nSnS<o³" X‹S9oÿR                  nS nUUL nU(       Gd  [        R                  " SU4SUU45      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R                  " U 5      OS[        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=n=n=n=n=nng s  snf s  snf )?Nr   r,   rL   )z%(py0)s == %(py2)sÚheaderr   )r`   rP   zassert %(py4)srQ   rD   é   )ÚrowÚcolumnc              3   ój   #   • U  H)  oR                   S :H  =(       a    UR                  S:H  v •  M+     g7f)ÚsÚ@N)Ú	data_typeÚnumber_format)r0   Úcs     r   r2   Ú&test_xlsx_read_back.<locals>.<genexpr>r   s(   é € ÐNÂgÀ�{‰{˜cÑ!×< a§o¡o¸Ñ&<Ô<Âgùs   ‚13ú,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}Úall©r`   rP   rQ   r?   )z-%(py3)s
{%(py3)s = %(py1)s.value
} == %(py6)s)Úpy1re   Úpy6zassert %(py8)srj   rC   rc   )z|%(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.cell
}(row=%(py4)s, column=%(py6)s)
}.value
} is %(py13)sÚws)r`   rP   rQ   r±   rj   rk   rV   zassert %(py15)srW   rI   gôýÔxé&±?)zi%(py2)s
{%(py2)s = %(py0)s.value
} == %(py10)s
{%(py10)s = %(py6)s
{%(py6)s = %(py4)s.approx
}(%(py8)s)
}Úpercent_cellÚpytest)r`   rP   rQ   r±   rj   rk   zassert %(py12)srf   rŸ   )z5%(py2)s
{%(py2)s = %(py0)s.number_format
} == %(py5)sr_   rb   rR   i6)  )z.%(py2)s
{%(py2)s = %(py0)s.value
} == -%(py5)sÚnegative_cellÚGeneralé   rE   r§   )z-%(py4)s
{%(py4)s = %(py2)s.value
} == %(py7)sÚquestion_cellrO   rS   rT   )z5%(py13)s
{%(py13)s = %(py11)s.data_type
} == %(py16)s)rU   rV   Úpy16z%(py18)srl   zassert %(py21)srZ   é   r|   )z|%(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.cell
}(row=%(py4)s, column=%(py6)s)
}.value
} == %(py13)s)ÚopenpyxlÚload_workbookr   r   rn   Ú
worksheetsr   r   ro   rp   rq   rr   rs   rt   rw   rx   ÚrangeÚcellr®   r´   Úapproxrª   r©   ru   rv   )$r²   r«   r¢   r}   Ú@py_format3Ú@py_format5r1   r   r~   r�   r�   r€   rŽ   Ú@py_format7r™   r—   Ú@py_assert9r‚   r‘   Ú@py_format14Ú@py_format16r³   rš   Ú@py_format13r�   r‡   rµ   r   r¸   r“   r…   rˆ   Ú@py_format17r›   r‰   rŠ   s$                                       r   Útest_xlsx_read_backrÉ   j   s†  € Ü	×	Ò	¤¬
´5Ó(9Ó :Ó	;×	FÑ	FÀqÑ	I€BØ! !šuÓ%šu˜!�gŒg™u€FÐ%Ø”WÑ×××Òˆ6”W×××××Õˆ6×××Ñˆ6×××××Ö”W×××Ñ”W××××××Òä16°q¸!´Ó=²¨A�w‰w˜1 QˆwÓ'±€GÐ=ñ OÁgÓNÐNŒ3ÐNÓNÐNÕN×N×N×N×N×NÑNŒ3×N×N×NÑNŒ3×N×NÕNÐN×N×NÓNÐN×N×N×N×N×NÒNØ�1‰:Ð&×ÑÐ&˜wÐ&˜wÑ&×&×&×&Ò&Ð×&×&Ô&ˆ:×&×&Ó&Ð×&×&Ó&˜w×&×&×&×&×&×&Õ&Ø�1‰:Ð+×ÑÐ+˜|Ð+˜|Ñ+×+×+×+Ò+Ð×+×+Ô+ˆ:×+×+Ó+Ð×+×+Ó+˜|×+×+×+×+×+×+Õ+Ø�7‰7Ð1�qÐ1 Ð1ˆ7�qÑ#Ð1×)Ñ)Ð1¨TÐ1Ð)¨TÐ1×1×1×1Ô1Ð)¨T×1×1×1×1×1Õ1ˆ2×1×1×1Ñ1ˆ2×1×1Õ1ˆ7×1×1Ó1�q×1×1Ó1 ×1×1Ó1Ð#×1×1Ó1Ð)×1×1Ó1¨T×1×1×1×1×1×1×1Ô1ð —7‘7˜q¨�7Ð+€LØ×ÑÐ5¤§¡Ð5¨uÐ5 ¨uÓ!5Ð5ÐÐ!5Ñ5×5×5×5Ó5ÐÐ!5×5×5×5×5×5Õ5ˆ<×5×5×5Ñ5ˆ<×5×5Õ5Ð×5×5×5×5×5Ô5¤×5×5×5Ñ5¤×5×5Õ5 ×5×5Ó5¨u×5×5Ó5Ð!5×5×5×5×5×5×5×5Ð5Ø×%Ñ%Ð/¨Ð/¨Ñ/×/×/×/Ò/Ð%×/×/×/×/×/Õ/ˆ<×/×/×/Ñ/ˆ<×/×/Õ/Ð%×/×/Ó/¨×/×/×/×/×/×/Ó/Ø—G‘G ¨!�GÐ,€MØ×ÑÐ( 5Ð( &Ð(Ð &Ñ(×(×(×(Ò(Ð &×(×(×(×(×(Õ(ˆ=×(×(×(Ñ(ˆ=×(×(Õ(Ð×(×(Ó( 5×(×(×(×(×(×(Ö(Ø×&Ñ&Ð3¨)Ð3¨)Ñ3×3×3×3Ò3Ð&×3×3×3×3×3Õ3ˆ=×3×3×3Ñ3ˆ=×3×3Õ3Ð&×3×3Ó3¨)×3×3×3×3×3×3Ó3Ø�7‰7Ð1�qÐ1 Ð1ˆ7�qÑ#Ð1×)Ñ)Ð1¨TÐ1Ð)¨TÐ1×1×1×1Ô1Ð)¨T×1×1×1×1×1Õ1ˆ2×1×1×1Ñ1ˆ2×1×1Õ1ˆ7×1×1Ó1�q×1×1Ó1 ×1×1Ó1Ð#×1×1Ó1Ð)×1×1Ó1¨T×1×1×1×1×1×1×1Ô1à—G‘G ¨!�GÐ,€MÙSˆ=×ÑÐS .ÐSÐ .Ñ0×S°]×5LÑ5LÐSÐPSÐSÐ5LÐPSÑ5S×S×S×SÖSÐ .×S×S×S×S×SÕSˆ=×S×S×SÑSˆ=×S×SÕSÐ×S×SÓS .×S×S×S×S×S×S×SÓSÐ5LÐPS×S×S×S×S×SÕS°]×S×S×SÑS°]×S×SÕSÐ5L×S×SÓSÐPS×S×S×S×S×S×S×S×S×S×S×S×S×S×SÐSà�7‰7Ð6�qÐ6 Ð6ˆ7�qÑ$Ð6×*Ñ*Ð6¨hÐ6Ð*¨hÑ6×6×6×6Ô6Ð*¨h×6×6×6×6×6Õ6ˆ2×6×6×6Ñ6ˆ2×6×6Õ6ˆ7×6×6Ó6�q×6×6Ó6 ×6×6Ó6Ð$×6×6Ó6Ð*×6×6Ó6¨h×6×6×6×6×6×6×6Ô6Ø�7‰7Ð2�qÐ2 Ð2ˆ7�qÑ$Ð2×*Ñ*Ð2¨dÐ2Ð*¨dÐ2×2×2×2Ô2Ð*¨d×2×2×2×2×2Õ2ˆ2×2×2×2Ñ2ˆ2×2×2Õ2ˆ7×2×2Ó2�q×2×2Ó2 ×2×2Ó2Ð$×2×2Ó2Ð*×2×2Ó2¨d×2×2×2×2×2×2×2Õ2ùò3 &ùò >s   Á{Å{c                  óh  • [        [        5      n U R                  S5      nUS   nSo3R                  oD" [        5      oRU:H  of(       dì  [
        R                  " SU4SX%45      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S[        R                  " 5       ;   d  [
        R                  " [        5      (       a  [
        R                  " [        5      OS[
        R                  " U5      S.-  nSS	U0-  n[        [
        R                  " U5      5      eS =n=n=n=pES
o!S   o2U;   of(       do  [
        R                  " SU4SX#45      [
        R                  " U5      [
        R                  " U5      S.-  n	SSU	0-  n
[        [
        R                  " U
5      5      eS =n=pcSo!S   o2U;   of(       do  [
        R                  " SU4SX#45      [
        R                  " U5      [
        R                  " U5      S.-  n	SSU	0-  n
[        [
        R                  " U
5      5      eS =n=pcUS   o"R                  nSo¶" U5      oÌ(       dy  S[
        R                  " U5      [
        R                  " U5      [
        R                  " U5      [
        R                  " U5      S.-  n[        [
        R                  " U5      5      eS =n=n=p¼[        [        R                   " U Vs/ s H  oî(       d  M  UPM     sn5      5      nS U 5       n[#        U5      o3(       d¢  SS[        R                  " 5       ;   d  [
        R                  " ["        5      (       a  [
        R                  " ["        5      OS[
        R                  " U5      [
        R                  " U5      S.-  n	[        [
        R                  " U	5      5      eS =nn/ nUS   S   nSoFU:H  o»o+(       a  US   S   nSnUU:H  nUnU(       Gd
  [
        R                  " SU4SXd45      [
        R                  " U5      [
        R                  " U5      S.-  n
S S!U
0-  nUR%                  U5        U(       ab  [
        R                  " SW4S"WW45      [
        R                  " U5      [
        R                  " U5      S#.-  nS$S%U0-  nUR%                  U5        [
        R&                  " US5      0 -  nS&S'U0-  n[        [
        R                  " U5      5      eS =n=n=n=n=n=n=nnUS(   S)   nS*o2U:H  of(       do  [
        R                  " SU4S+X#45      [
        R                  " U5      [
        R                  " U5      S.-  n	SSU	0-  n
[        [
        R                  " U
5      5      eS =n=pcg s  snf ),Nz
r   Ú,rL   )zJ%(py1)s == %(py9)s
{%(py9)s = %(py6)s
{%(py6)s = %(py4)s.join
}(%(py7)s)
}r   )r°   rQ   r±   rR   rT   zassert %(py11)srU   z"6.7 %",6.7%,r,   )Úin)z%(py1)s in %(py4)s)r°   rQ   zassert %(py6)sr±   z"$ (10,550)",-10550,rD   rI   z"'=SUM(A1:A9)?"zLassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
})r°   re   ra   rR   c              3   óX   #   • U  H   n[        U5      [        [        5      :H  v •  M"     g 7f©N)r<   r   r/   s     r   r2   Ú1test_csv_quoting_and_prefixing.<locals>.<genexpr>—   s   é € Ð4ªt¨!Œs�1‹vœœW›Ö%ªtùs   ‚(*r­   r®   r¯   é
   r|   ri   )z%(py3)s == %(py6)s)re   r±   z%(py8)srj   )z%(py11)s == %(py14)s)rU   rg   z%(py16)sr¹   zassert %(py19)srY   r·   rº   rJ   )z%(py1)s == %(py4)s)r   rn   ÚsplitÚjoinr   ro   rp   rt   rq   rr   rs   rw   rx   Ú
startswithÚlistÚcsvÚreaderr®   ru   rv   )r$   Úlinesr�   r~   r€   Ú@py_assert8r�   rˆ   Ú@py_format12rÂ   rÃ   rŽ   r   r‡   Úliner;   r}   Ú@py_assert10r’   r‚   r™   Ú@py_format15rÈ   r”   r‰   s                            r   Útest_csv_quoting_and_prefixingrÝ   ˆ   sT  € Ü”UÓ€DØ�J‰J�vÓ€EØ�‰8Ð(�sÐ(—x‘xÐ(�x¤Ó(Ð(Ð(Ñ(×(×(×(Ò(ˆ8×(×(Ô(ˆ8×(×(Ó(�s×(×(Ó(�x×(×(×(×(×(Ô(¤×(×(×(Ñ(¤×(×(Õ(Ð(×(×(×(×(×(×(×(ð Ð& A™hÐ&˜hÑ&×&×&×&Ò&ˆ?×&×&Ô&ˆ?×&×&Ó&˜h×&×&×&×&×&×&Ó&Ø!Ð-¨1¡XÐ- XÑ-×-×-×-Ò-Ð!×-×-Ô-Ð!×-×-Ó- X×-×-×-×-×-×-Ó-ð �‰8Ð2×ÑÐ2Ð1Ð2ÐÐ1Ó2Ð2Õ2×2×2Ð2ˆ8×2×2Ó2Ð×2×2Ó2Ð1×2×2Ó2Ð2×2×2×2×2×2Ö2ô ”—
’
©UÓ;ªU T³dŸD©UÑ;Ó<Ó=€DÙ4©tÓ4Ð4Œ3Ð4Ó4Ð4Õ4×4×4×4×4×4Ñ4Œ3×4×4×4Ñ4Œ3×4×4Õ4Ð4×4×4Ó4Ð4×4×4×4×4×4Ó4Ù8ˆ4�‰7�2‰;Ð8˜(Ð8˜(Ñ"×8 t¨A¡w¨r¡{Ð8°bÐ8 {°bÑ'8×8×8×8Ö8ˆ;×8×8Ô8ˆ;×8×8Ó8˜(×8×8×8×8×8×8×8Ó8 {°b×8×8Ô8 {×8×8Ó8°b×8×8×8×8×8×8×8×8×8×8×8×8×8×8Ð8Ø�‰7�2‰;Ð*Ð*Ð*Ð*Ñ*×*×*×*Ò*ˆ;×*×*Ô*ˆ;×*×*Ó*Ð*×*×*×*×*×*×*Ô*ùò <s   Ë=
V/ÌV/rÎ   ) Ú__doc__Úbuiltinsrq   Ú_pytest.assertion.rewriteÚ	assertionÚrewritero   rÕ   Údecimalr   Úior   r»   r´   Úquber.playground.batchr   r   Úquber.playground.exportr   r   r	   r
   r   r   r   ÚREFSr>   rn   r�   r    rÉ   rÝ   r   r   r   Ú<module>rè      sô   ðñ÷ „ ƒ
Ý Ý ã Û ç 5÷÷ ôð ØØØØØñð ØØØØ Øñð€ò(
ñ 	á�q 9±ÀwÐPUÐW[Ó7\Ñ]Ù�qÐ#3¹oÈlÐ\dÓ>eÑfÙØØ#à'ØØ" MÐ2Ø ñ	ñ		
ñ 	�q 6Ð1AÑBðó	€ò&Gò)ò3ó<+r   