Ë
    ¤eh‹  ã            
      ón  — d dl mZ d dlmZmZ d dlZd dlZd dlZd dl	m
c mZ d dlmZmZmZ d dlmZ d dlmZ d dlmZ ej0                  d„ «       Zej0                  d„ «       Zej0                  d	„ «       Zd
„ Z ej0                  ddg¬«      d„ «       Z ej0                   ej<                  d ej>                  d«      ¬«      dg¬«      d„ «       Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&ejN                  jQ                  d e) e*dd«      «       e*dd«      D � cg c]
  }  e+| «      ‘Œ c} g«      d„ «       Z,dZ-d„ Z.d„ Z/d „ Z0d!„ Z1d"„ Z2d#„ Z3d$„ Z4d%„ Z5d&„ Z6d'„ Z7d(„ Z8d)„ Z9d*„ Z:d+„ Z;d,„ Z<d-„ Z=d.„ Z>d/„ Z?d0„ Z@d1„ ZAd2ZBd3„ ZCd4„ ZDejN                  jQ                  d5g d6¢«      d7„ «       ZEd8„ ZFd9„ ZGd:„ ZHd;„ ZI ej”                  d«      d<„ «       ZKd=„ ZLd>ZMd?„ ZNd@„ ZOdA„ ZPdB„ ZQejN                  jQ                  dCdDdEg«      dF„ «       ZRdG„ ZSdH„ ZTdI„ ZUdJ„ ZVdK„ ZWdL„ ZXdM„ ZYdZZdN„ Z[dO„ Z\dP„ Z]dQ„ Z^ejN                  j¾                  dR„ «       Z`yc c} w )Sé    )Úannotations)ÚBytesIOÚStringION)ÚNAÚ	DataFrameÚIndex)Ú
get_handle)Úread_xmlc                 óJ   — t        g d¢g d¢dt        j                  dgdœ«      S )N)ÚsquareÚcircleÚtriangle)éh  r   é´   é   é   ©ÚshapeÚdegreesÚsides)r   ÚnpÚnan© ó    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/io/xml/test_to_xml.pyÚgeom_dfr   ;   s'   € äâ5Ú&ØœŸ™ �^ñ	
óð r   c                 ó2   — t        g d¢g d¢g d¢g d¢dœ«      S )N)ÚMercuryÚVenusÚEarthÚMarsÚJupiterÚSaturnÚUranusÚNeptune)Úterrestrialr&   r&   r&   ú	gas giantr'   ú	ice giantr(   )Úinnerr)   r)   r)   Úouterr*   r*   r*   )g`é|x– Õ?gcAJx@g2rö´ã@g�l®šçˆä?gh‘í|¿¨�@gÞ	ŠÂ�@gd]ÜF´U@g•Ô	hšY@)ÚplanetÚtypeÚlocationÚmass)r   r   r   r   Ú	planet_dfr/   F   s(   € äò	ò	ò	ò	ñ?)	
ó+ð +r   c                  ó   — y)Nac  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <index>0</index>
    <category>cooking</category>
    <title>Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.0</price>
  </row>
  <row>
    <index>1</index>
    <category>children</category>
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </row>
  <row>
    <index>2</index>
    <category>web</category>
    <title>Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </row>
</data>r   r   r   r   Úfrom_file_expectedr1   v   s   € ðr   c                ó.   — | �| j                  dd«      } | S )Nz%<?xml version="1.0" encoding="utf-8"?z%<?xml version='1.0' encoding='utf-8'?)Úreplace)Údocs    r   Úequalize_declr5   –   s"   € à
€Ø�k‰kØ3Ø3ó
ˆð €Jr   ÚrbÚr)Úparamsc                ó   — | j                   S ©N©Úparam©Úrequests    r   Úmoder?       ó   € à�=‰=Ðr   Úlxml)ÚmarksÚetreec                ó   — | j                   S r:   r;   r=   s    r   ÚparserrE   ¥   r@   r   c                óZ  — t        | |¬«      }t        j                  d«      5 }|j                  ||¬«       t	        |d«      5 }|j                  «       j                  d«      j                  «       }d d d «       t        «      }||k(  sJ ‚	 d d d «       y # 1 sw Y   Œ%xY w# 1 sw Y   y xY w©N©rE   útest.xmlr6   úutf-8©	r
   ÚtmÚensure_cleanÚto_xmlÚopenÚreadÚdecodeÚstripr5   ©Ú	xml_booksrE   r1   Údf_fileÚpathÚfÚoutputs          r   Útest_file_output_str_readrY   ­   óŸ   € Ü�y¨Ô0€Gä	�‰˜Ó	$ð ,¨Ø�‰�t FˆÔ+Ü�$˜Óð 	6 Ø—V‘V“X—_‘_ WÓ-×3Ñ3Ó5ˆF÷	6ô ˜vÓ&ˆàÐ+Ò+Ð+Ñ+÷,ð ,÷	6ð 	6ú÷,ð ,úó#   £ B!Á.BÁ1B!ÂB	ÂB!Â!B*c                óZ  — t        | |¬«      }t        j                  d«      5 }|j                  ||¬«       t	        |d«      5 }|j                  «       j                  d«      j                  «       }d d d «       t        «      }||k(  sJ ‚	 d d d «       y # 1 sw Y   Œ%xY w# 1 sw Y   y xY wrG   rK   rS   s          r   Útest_file_output_bytes_readr]   º   rZ   r[   c                óf   — t        | |¬«      }|j                  |¬«      }t        |«      }||k(  sJ ‚y ©NrH   )r
   rN   r5   )rT   rE   r1   rU   rX   s        r   Útest_str_outputr`   Ç   s7   € Ü�y¨Ô0€Gà�^‰^ 6ˆ^Ó*€FÜ˜6Ó"€FàÐ'Ò'Ð'Ñ'r   c                óŽ   — d}t        j                  t        d¬«      5  |j                  || ¬«       d d d «       y # 1 sw Y   y xY w)Nz/my/fake/path/output.xmlz6Cannot save file into a non-existent directory: .*path©ÚmatchrH   )ÚpytestÚraisesÚOSErrorrN   ©rE   r   rV   s      r   Útest_wrong_file_pathrh   Ð   s@   € Ø%€Dä	�‰ÜØHô
ñ ,ð 	�‰�t FˆÔ+÷	,÷ ,ñ ,úó	   ž;»Ac                ó`  — d}t        | |¬«      }t        j                  d«      5 }|j                  |d|¬«       t	        |d«      5 }|j                  «       j                  d«      j                  «       }d d d «       t        «      }||k(  sJ ‚	 d d d «       y # 1 sw Y   Œ%xY w# 1 sw Y   y xY w)Na$  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <category>cooking</category>
    <title>Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.0</price>
  </row>
  <row>
    <category>children</category>
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </row>
  <row>
    <category>web</category>
    <title>Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </row>
</data>rH   rI   F©ÚindexrE   r6   rJ   rK   ©rT   rE   ÚexpectedrU   rV   rW   rX   s          r   Útest_index_falsero   Ý   s©   € ð€Hô4 �y¨Ô0€Gä	�‰˜Ó	$ð "¨Ø�‰�t 5°ˆÔ8Ü�$˜Óð 	6 Ø—V‘V“X—_‘_ WÓ-×3Ñ3Ó5ˆF÷	6ô ˜vÓ&ˆà˜Ò!Ð!Ñ!÷"ð "÷	6ð 	6ú÷"ð "ús#   ¥!B$Á.BÁ4B$ÂB!	ÂB$Â$B-c                ód  — d}t        | |¬«      }t        j                  d«      5 }|j                  |ddd|¬«       t	        |d«      5 }|j                  «       j                  d	«      j                  «       }d d d «       t        «      }||k(  sJ ‚	 d d d «       y # 1 sw Y   Œ%xY w# 1 sw Y   y xY w)
Na,  <?xml version='1.0' encoding='utf-8'?>
<books>
  <book>
    <category>cooking</category>
    <title>Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.0</price>
  </book>
  <book>
    <category>children</category>
    <title>Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book>
    <category>web</category>
    <title>Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</books>rH   rI   FÚbooksÚbook)rl   Ú	root_nameÚrow_namerE   r6   rJ   rK   rm   s          r   Ú test_index_false_rename_row_rootru     sµ   € ð€Hô4 �y¨Ô0€Gä	�‰˜Ó	$ð 	"¨Ø�‰Ø˜¨¸6È&ð 	ô 	
ô �$˜Óð 	6 Ø—V‘V“X—_‘_ WÓ-×3Ñ3Ó5ˆF÷	6ô ˜vÓ&ˆà˜Ò!Ð!Ñ!÷	"ð 	"÷	6ð 	6ú÷		"ð 	"ús#   ¥#B&Á.BÁ6B&ÂB#	ÂB&Â&B/Úoffset_indexé
   é   c                ó’   — d}|j                  «       }t        |«      |_        |j                  d| ¬«      }t	        |«      }||k(  sJ ‚y)z®
    Tests that the output does not contain the `<index>` field when the index of the
    input Dataframe has an offset.

    This is a regression test for issue #42458.
    aD  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>Frk   N)Úcopyr   rl   rN   r5   )rE   rv   r   rn   Úoffset_geom_dfrX   s         r   Ú(test_index_false_with_offset_input_indexr|   -  sP   € ð€Hð( —\‘\“^€NÜ  Ó.€NÔØ×"Ñ"¨°vÐ"Ó>€FÜ˜6Ó"€Fà�XÒÐÑr   aƒ  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>c                óT   — |j                  | ¬«      }t        |«      }|t        k(  sJ ‚y r_   ©rN   r5   Úna_expected©rE   r   rX   s      r   Útest_na_elem_outputr�   n  s*   € Ø�^‰^ 6ˆ^Ó*€FÜ˜6Ó"€Fà”[Ò Ð Ñ r   c                óV   — |j                  d| ¬«      }t        |«      }|t        k(  sJ ‚y )NÚ ©Úna_reprE   r~   r€   s      r   Útest_na_empty_str_elem_optionr†   u  s,   € Ø�^‰^ 2¨fˆ^Ó5€FÜ˜6Ó"€Fà”[Ò Ð Ñ r   c                óR   — d}|j                  d| ¬«      }t        |«      }||k(  sJ ‚y )Na�  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides>0.0</sides>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>z0.0r„   ©rN   r5   ©rE   r   rn   rX   s       r   Útest_na_empty_elem_optionrŠ   |  s5   € ð€Hð. �^‰^ 5°ˆ^Ó8€FÜ˜6Ó"€Fà�XÒÐÑr   c                óV   — d}|j                  g d¢| ¬«      }t        |«      }||k(  sJ ‚y )Nzß<?xml version='1.0' encoding='utf-8'?>
<data>
  <row index="0" shape="square" degrees="360" sides="4.0"/>
  <row index="1" shape="circle" degrees="360"/>
  <row index="2" shape="triangle" degrees="180" sides="3.0"/>
</data>r   ©Ú	attr_colsrE   rˆ   r‰   s       r   Útest_attrs_cols_nan_outputrŽ   �  s6   € ð€Hð �^‰^Ò&CÈFˆ^ÓS€FÜ˜6Ó"€Fà�XÒÐÑr   c                ó^   — d}|j                  g d¢ddid| ¬«      }t        |«      }||k(  sJ ‚y )Na>  <?xml version='1.0' encoding='utf-8'?>
<doc:data xmlns:doc="http://example.xom">
  <doc:row doc:index="0" doc:shape="square" doc:degrees="360" doc:sides="4.0"/>
  <doc:row doc:index="1" doc:shape="circle" doc:degrees="360"/>
  <doc:row doc:index="2" doc:shape="triangle" doc:degrees="180" doc:sides="3.0"/>
</doc:data>)rl   r   r   r   r4   zhttp://example.xom)r�   Ú
namespacesÚprefixrE   rˆ   r‰   s       r   Útest_attrs_cols_prefixr’   ¬  sJ   € ð	€Hð �^‰^Ú8ØÐ/Ð0ØØð	 ó €Fô ˜6Ó"€Fà�XÒÐÑr   c                óŽ   — t        j                  t        d¬«      5  |j                  g d¢| ¬«       d d d «       y # 1 sw Y   y xY w)Núno valid columnrb   ©r   Údegreer   rŒ   ©rd   re   ÚKeyErrorrN   ©rE   r   s     r   Útest_attrs_unknown_columnrš   Ã  ó;   € Ü	�‰”xÐ(9Ô	;ñ NØ�‰Ò!=ÀfˆÔM÷N÷ Nñ Núó	   œ;»Ac                óŠ   — t        j                  t        d¬«      5  |j                  d| ¬«       d d d «       y # 1 sw Y   y xY w)Nz!is not a valid type for attr_colsrb   ú"shape", "degree", "sides"rŒ   ©rd   re   Ú	TypeErrorrN   r™   s     r   Útest_attrs_wrong_typer¡   È  ó;   € Ü	�‰”yÐ)LÔ	Nñ NØ�‰Ð!=ÀfˆÔM÷N÷ Nñ Núó	   œ9¹Ac                óX   — d}|j                  dg d¢| ¬«      }t        |«      }||k(  sJ ‚y )NaD  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <degrees>360</degrees>
    <sides>4.0</sides>
    <shape>square</shape>
  </row>
  <row>
    <degrees>360</degrees>
    <sides/>
    <shape>circle</shape>
  </row>
  <row>
    <degrees>180</degrees>
    <sides>3.0</sides>
    <shape>triangle</shape>
  </row>
</data>F)r   r   r   )rl   Ú	elem_colsrE   rˆ   ©rE   r   Úelems_cols_expectedrX   s       r   Útest_elems_cols_nan_outputr¨   Ð  sB   € ðÐð( �^‰^ØÒ<ÀVð ó €Fô ˜6Ó"€FàÐ(Ò(Ð(Ñ(r   c                óŽ   — t        j                  t        d¬«      5  |j                  g d¢| ¬«       d d d «       y # 1 sw Y   y xY w)Nr”   rb   r•   ©r¥   rE   r—   r™   s     r   Útest_elems_unknown_columnr«   í  r›   rœ   c                óŠ   — t        j                  t        d¬«      5  |j                  d| ¬«       d d d «       y # 1 sw Y   y xY w)Nz!is not a valid type for elem_colsrb   rž   rª   rŸ   r™   s     r   Útest_elems_wrong_typer­   ò  r¢   r£   c                ó\   — d}|j                  dddgdg| ¬«      }t        |«      }||k(  sJ ‚y )Na#  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row shape="square">
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row shape="circle">
    <degrees>360</degrees>
    <sides/>
  </row>
  <row shape="triangle">
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>Fr   r   r   )rl   r¥   r�   rE   rˆ   r¦   s       r   Útest_elems_and_attrs_colsr¯   ÷  sM   € ðÐð" �^‰^ØØ˜gÐ&Ø�)Øð	 ó €Fô ˜6Ó"€FàÐ(Ò(Ð(Ñ(r   c                ó    — d}|j                  ddgdg d¢d¬«      j                  d«      }|j                  | ¬	«      }t        |«      }||k(  sJ ‚y )
NaÔ  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <location>inner</location>
    <type>terrestrial</type>
    <count_mass>4</count_mass>
    <sum_mass>11.81</sum_mass>
    <mean_mass>2.95</mean_mass>
  </row>
  <row>
    <location>outer</location>
    <type>gas giant</type>
    <count_mass>2</count_mass>
    <sum_mass>2466.5</sum_mass>
    <mean_mass>1233.25</mean_mass>
  </row>
  <row>
    <location>outer</location>
    <type>ice giant</type>
    <count_mass>2</count_mass>
    <sum_mass>189.23</sum_mass>
    <mean_mass>94.61</mean_mass>
  </row>
  <row>
    <location>All</location>
    <type/>
    <count_mass>8</count_mass>
    <sum_mass>2667.54</sum_mass>
    <mean_mass>333.44</mean_mass>
  </row>
</data>r-   r,   r.   ©ÚcountÚsumÚmeanT©rl   ÚvaluesÚaggfuncÚmarginsé   rH   )Úpivot_tableÚroundrN   r5   ©rE   r/   rn   ÚpvtrX   s        r   Útest_hierarchical_columnsr¾     sj   € ð€HðB ×
Ñ
Ø˜6Ð"ØÚ(Øð	  ó ÷
 �eˆAƒhð ð �Z‰Z˜vˆZÓ&€FÜ˜6Ó"€Fà�XÒÐÑr   c                óø   — d}|j                  ddgdg d¢d¬«      j                  d«      }|j                  t        |j	                  «       j
                  j                  «      | ¬	«      }t        |«      }||k(  sJ ‚y )
Na¦  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row location="inner" type="terrestrial" count_mass="4" sum_mass="11.81" mean_mass="2.95"/>
  <row location="outer" type="gas giant" count_mass="2" sum_mass="2466.5" mean_mass="1233.25"/>
  <row location="outer" type="ice giant" count_mass="2" sum_mass="189.23" mean_mass="94.61"/>
  <row location="All" type="" count_mass="8" sum_mass="2667.54" mean_mass="333.44"/>
</data>r-   r,   r.   r±   Trµ   r¹   rŒ   )rº   r»   rN   ÚlistÚreset_indexÚcolumnsr¶   r5   r¼   s        r   Útest_hierarchical_attrs_columnsrÃ   F  s„   € ð€Hð ×
Ñ
Ø˜6Ð"ØÚ(Øð	  ó ÷
 �eˆAƒhð ð �Z‰Z¤$ s§¡Ó'8×'@Ñ'@×'GÑ'GÓ"HÐQWˆZÓX€FÜ˜6Ó"€Fà�XÒÐÑr   c                ó¼   — d}|j                  ddg«      d   j                  g d¢«      j                  d«      }|j                  | ¬«      }t	        |«      }||k(  sJ ‚y )NaÞ  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <location>inner</location>
    <type>terrestrial</type>
    <count>4</count>
    <sum>11.81</sum>
    <mean>2.95</mean>
  </row>
  <row>
    <location>outer</location>
    <type>gas giant</type>
    <count>2</count>
    <sum>2466.5</sum>
    <mean>1233.25</mean>
  </row>
  <row>
    <location>outer</location>
    <type>ice giant</type>
    <count>2</count>
    <sum>189.23</sum>
    <mean>94.61</mean>
  </row>
</data>r-   r,   r.   r±   r¹   rH   )ÚgroupbyÚaggr»   rN   r5   ©rE   r/   rn   rÆ   rX   s        r   Útest_multi_indexrÈ   d  sf   € ð€Hð6 	×Ñ˜: vÐ.Ó/°Ñ7ß	‰Ò%Ó	&ß	‰ˆq‹ð ð �Z‰Z˜vˆZÓ&€FÜ˜6Ó"€Fà�XÒÐÑr   c                ó  — d}|j                  ddg«      d   j                  g d¢«      j                  d«      }|j                  t	        |j                  «       j                  j                  «      | ¬«      }t        |«      }||k(  sJ ‚y )Na$  <?xml version='1.0' encoding='utf-8'?>
<data>
  <row location="inner" type="terrestrial" count="4" sum="11.81" mean="2.95"/>
  <row location="outer" type="gas giant" count="2" sum="2466.5" mean="1233.25"/>
  <row location="outer" type="ice giant" count="2" sum="189.23" mean="94.61"/>
</data>r-   r,   r.   r±   r¹   rŒ   )	rÅ   rÆ   r»   rN   rÀ   rÁ   rÂ   r¶   r5   rÇ   s        r   Útest_multi_index_attrs_colsrÊ   ‹  s�   € ð	€Hð 	×Ñ˜: vÐ.Ó/°Ñ7ß	‰Ò%Ó	&ß	‰ˆq‹ð ð
 �Z‰Z¤$ s§¡Ó'8×'@Ñ'@×'GÑ'GÓ"HÐQWˆZÓX€FÜ˜6Ó"€Fà�XÒÐÑr   c                óV   — d}|j                  ddi| ¬«      }t        |«      }||k(  sJ ‚y )Naž  <?xml version='1.0' encoding='utf-8'?>
<data xmlns="http://example.com">
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>rƒ   úhttp://example.com©r�   rE   rˆ   r‰   s       r   Útest_default_namespacerÎ   ¥  s;   € ð€Hð. �^‰^¨Ð,@Ð'AÈ&ˆ^ÓQ€FÜ˜6Ó"€Fà�XÒÐÑr   c                óX   — d}|j                  dddœ| ¬«      }t        |«      }||k(  sJ ‚y )Na¾  <?xml version='1.0' encoding='utf-8'?>
<data xmlns:oth="http://other.org" xmlns:ex="http://example.com">
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>úhttp://other.orgrÌ   )ÚothÚexrÍ   rˆ   r‰   s       r   Útest_unused_namespacesrÓ   Ã  sD   € ð€Hð. �^‰^Ø-Ð5IÑJØð ó €Fô ˜6Ó"€Fà�XÒÐÑr   c                óX   — d}|j                  ddid| ¬«      }t        |«      }||k(  sJ ‚y )Na  <?xml version='1.0' encoding='utf-8'?>
<doc:data xmlns:doc="http://example.com">
  <doc:row>
    <doc:index>0</doc:index>
    <doc:shape>square</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides>4.0</doc:sides>
  </doc:row>
  <doc:row>
    <doc:index>1</doc:index>
    <doc:shape>circle</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides/>
  </doc:row>
  <doc:row>
    <doc:index>2</doc:index>
    <doc:shape>triangle</doc:shape>
    <doc:degrees>180</doc:degrees>
    <doc:sides>3.0</doc:sides>
  </doc:row>
</doc:data>r4   rÌ   ©r�   r‘   rE   rˆ   r‰   s       r   Útest_namespace_prefixrÖ   ç  sE   € ð€Hð. �^‰^ØÐ/Ð0¸Àvð ó €Fô ˜6Ó"€Fà�XÒÐÑr   c                ó�   — t        j                  t        d¬«      5  |j                  ddid| ¬«       d d d «       y # 1 sw Y   y xY w)Nz!doc is not included in namespacesrb   rƒ   rÌ   r4   rÕ   r—   r™   s     r   Útest_missing_prefix_in_nmsprØ     sD   € Ü	�‰”xÐ(KÔ	Mñ 
Ø�‰ØÐ0Ð1¸%Èð 	ô 	
÷
÷ 
ñ 
ús	   œ<¼Ac                óZ   — d}|j                  dddœd| ¬«      }t        |«      }||k(  sJ ‚y )Na7  <?xml version='1.0' encoding='utf-8'?>
<doc:data xmlns:doc="http://other.org" xmlns="http://example.com">
  <doc:row>
    <doc:index>0</doc:index>
    <doc:shape>square</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides>4.0</doc:sides>
  </doc:row>
  <doc:row>
    <doc:index>1</doc:index>
    <doc:shape>circle</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides/>
  </doc:row>
  <doc:row>
    <doc:index>2</doc:index>
    <doc:shape>triangle</doc:shape>
    <doc:degrees>180</doc:degrees>
    <doc:sides>3.0</doc:sides>
  </doc:row>
</doc:data>rÌ   rÐ   )rƒ   r4   r4   rÕ   rˆ   r‰   s       r   Ú!test_namespace_prefix_and_defaultrÚ     sG   € ð€Hð. �^‰^Ø,Ð5GÑHØØð ó €Fô
 ˜6Ó"€Fà�XÒÐÑr   u«  <?xml version='1.0' encoding='ISO-8859-1'?>
<data>
  <row>
    <index>0</index>
    <rank>1</rank>
    <malename>JosÃ©</malename>
    <femalename>SofÃ­a</femalename>
  </row>
  <row>
    <index>1</index>
    <rank>2</rank>
    <malename>Luis</malename>
    <femalename>Valentina</femalename>
  </row>
  <row>
    <index>2</index>
    <rank>3</rank>
    <malename>Carlos</malename>
    <femalename>Isabella</femalename>
  </row>
  <row>
    <index>3</index>
    <rank>4</rank>
    <malename>Juan</malename>
    <femalename>Camila</femalename>
  </row>
  <row>
    <index>4</index>
    <rank>5</rank>
    <malename>Jorge</malename>
    <femalename>Valeria</femalename>
  </row>
</data>c                ó¢   — t        | |d¬«      j                  d«      }|j                  d|¬«      }|�|j                  dd«      }|t        k(  sJ ‚y )Nú
ISO-8859-1)rE   Úencodingé   ©rÝ   rE   z*<?xml version="1.0" encoding="ISO-8859-1"?z*<?xml version='1.0' encoding='ISO-8859-1'?)r
   ÚheadrN   r3   Úencoding_expected)Úxml_baby_namesrE   rU   rX   s       r   Útest_encoding_option_strrã   V  sY   € Ü�~¨f¸|ÔL×QÑQÐRSÓT€Gà�^‰^ \¸&ˆ^ÓA€FàÐà—‘Ø8Ø8ó
ˆð
 Ô&Ò&Ð&Ñ&r   c                óÈ   — t        j                  d«       t        | dd¬«      }t        j                  d«      5 }|j                  |ddd¬«       d d d «       y # 1 sw Y   y xY w©NrA   rÜ   rß   rI   F)rl   rÝ   rE   ©rd   Úimportorskipr
   rL   rM   rN   )râ   rU   rV   s      r   Útest_correct_encoding_filerè   e  sY   € Ü
×Ñ˜ÔÜ�~°ÀVÔL€Gä	�‰˜Ó	$ð P¨Ø�‰�t 5°<ÈˆÔO÷P÷ Pñ Púó   ¹AÁA!rÝ   )zUTF-8zUTF-16rÜ   c                óÈ   — t        j                  d«       t        | dd¬«      }t        j                  d«      5 }|j                  |d||¬«       d d d «       y # 1 sw Y   y xY wrå   ræ   )râ   rE   rÝ   rU   rV   s        r   Útest_wrong_encoding_option_lxmlrë   m  sY   € ä
×Ñ˜ÔÜ�~°ÀVÔL€Gä	�‰˜Ó	$ð L¨Ø�‰�t 5°8ÀFˆÔK÷L÷ Lñ Lúré   c                óŠ   — t        j                  t        d¬«      5  |j                  d| ¬«       d d d «       y # 1 sw Y   y xY w)Nzunknown encodingrb   zuft-8rß   )rd   re   ÚLookupErrorrN   r™   s     r   Útest_misspelled_encodingrî   v  s6   € Ü	�‰”{Ð+=Ô	?ñ 8Ø�‰ °ˆÔ7÷8÷ 8ñ 8úr£   c                ód   — t        j                  d«       d}| j                  d¬«      }||k(  sJ ‚y )NrA   a\  <data>
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>F)Úxml_declaration)rd   rç   rN   )r   rn   rX   s      r   Ú!test_xml_declaration_pretty_printrñ   ~  s7   € Ü
×Ñ˜Ôð€Hð, �^‰^¨Eˆ^Ó2€Fà�XÒÐÑr   c                óz   — d}|j                  d| ¬«      }t        |«      }|�|j                  dd«      }||k(  sJ ‚y )Na4  <?xml version='1.0' encoding='utf-8'?>
<data><row><index>0</index><shape>square</shape><degrees>360</degrees><sides>4.0</sides></row><row><index>1</index><shape>circle</shape><degrees>360</degrees><sides/></row><row><index>2</index><shape>triangle</shape><degrees>180</degrees><sides>3.0</sides></row></data>F)Úpretty_printrE   ú />ú/>)rN   r5   r3   r‰   s       r   Útest_no_pretty_print_with_declrö   ›  sP   € ð	ð ð �^‰^¨°vˆ^Ó>€FÜ˜6Ó"€Fð ÐØ—‘  tÓ,ˆà�XÒÐÑr   c                óf   — d}|j                  dd| ¬«      }|�|j                  dd«      }||k(  sJ ‚y )Na  <data><row><index>0</index><shape>square</shape><degrees>360</degrees><sides>4.0</sides></row><row><index>1</index><shape>circle</shape><degrees>360</degrees><sides/></row><row><index>2</index><shape>triangle</shape><degrees>180</degrees><sides>3.0</sides></row></data>F)rð   ró   rE   rô   rõ   )rN   r3   r‰   s       r   Útest_no_pretty_print_no_declrø   °  sH   € ð	ð ð �^‰^¨EÀÈfˆ^ÓU€Fð ÐØ—‘  tÓ,ˆà�XÒÐÑr   c                ó„   — t        j                  t        d¬«      5  | j                  «        d d d «       y # 1 sw Y   y xY w)Nz7lxml not found, please install or use the etree parser.rb   )rd   re   ÚImportErrorrN   ©r   s    r   Útest_default_parser_no_lxmlrü   Æ  s5   € ä	�‰ÜÐUô
ñ ð 	�‰Ô÷÷ ñ ús   œ6¶?c                óˆ   — t        j                  t        d¬«      5  | j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nz,Values for parser can only be lxml or etree.rb   Úbs4rH   ©rd   re   Ú
ValueErrorrN   rû   s    r   Útest_unknown_parserr  Î  s9   € Ü	�‰ÜÐIô
ñ %ð 	�‰˜eˆÔ$÷%÷ %ñ %ús	   œ8¸Aa%  <?xml version="1.0" encoding="utf-8"?>
<data>
  <row>
    <field field="index">0</field>
    <field field="shape">square</field>
    <field field="degrees">360</field>
    <field field="sides">4.0</field>
  </row>
  <row>
    <field field="index">1</field>
    <field field="shape">circle</field>
    <field field="degrees">360</field>
    <field field="sides"/>
  </row>
  <row>
    <field field="index">2</field>
    <field field="shape">triangle</field>
    <field field="degrees">180</field>
    <field field="sides">3.0</field>
  </row>
</data>c                óº   — t        j                  d«       t        | ||dk(  rdnd ¬«      5 }|j                  |¬«      t        k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w©NrA   r7   rJ   ©rÝ   ©Ú
stylesheet)rd   rç   rO   rN   Úxsl_expected)Úxsl_row_field_outputr?   r   rW   s       r   Útest_stylesheet_file_liker	  ï  sX   € Ü
×Ñ˜ÔÜ	Ø˜d¸Àº©WÈô
ð <à	
Ø�~‰~¨ˆ~Ó+¬|Ò;Ð;Ñ;÷<÷ <ñ <ús   «AÁAc                ó,  — t        j                  d«       t        | ||dk(  rdnd ¬«      5 }|dk(  rt        |j	                  «       «      }nt        |j	                  «       «      }d d d «       |j                  ¬«      }|t        k(  sJ ‚y # 1 sw Y   Œ'xY w)NrA   r7   rJ   r  r6   r  )rd   rç   rO   r   rP   r   rN   r  ©r  r?   r   rW   Úxsl_objrX   s         r   Útest_stylesheet_ior  ÷  sŠ   € ô ×Ñ˜Ôô 
Ø˜d¸Àº©WÈô
ð )à	
Ø�4Š<Ü˜aŸf™f›hÓ'‰Gä˜qŸv™v›xÓ(ˆG÷)ð �^‰^ wˆ^Ó/€Fà”\Ò!Ð!Ñ!÷)ð )ús   «9B
Â
Bc                óÜ   — t        j                  d«       t        | ||dk(  rdnd ¬«      5 }|j                  «       }d d d «       |j	                  ¬«      }|t
        k(  sJ ‚y # 1 sw Y   Œ'xY wr  )rd   rç   rO   rP   rN   r  r  s         r   Útest_stylesheet_buffered_readerr  
  sj   € Ü
×Ñ˜ÔÜ	Ø˜d¸Àº©WÈô
ð à	
Ø—&‘&“(ˆ÷ð
 �^‰^ wˆ^Ó/€Fà”\Ò!Ð!Ñ!÷ð ús   «A"Á"A+c                ó   — t        j                  d«      }t        j                  j	                  ddd«      }t        j
                  |j                  d¬«      5  | j                  |¬«       d d d «       y # 1 sw Y   y xY w)Nú
lxml.etreeÚdataÚxmlzrow_field_output.xsltú!Start tag expected, '<' not foundrb   r  )rd   rç   ÚosrV   Újoinre   ÚXMLSyntaxErrorrN   ©r   Ú
lxml_etreeÚxsls      r   Útest_stylesheet_wrong_pathr    sf   € Ü×$Ñ$ \Ó2€Jä
�'‰'�,‰,�v˜uÐ&=Ó
>€Cä	�‰Ø×!Ñ!Ø2ô
ñ 'ð 	�‰ #ˆÔ&÷	'÷ 'ñ 'ús   ÁA4Á4A=Úvalrƒ   r   c                óä   — t        j                  d«      }dj                  g d¢«      }t        j                  |j                  |¬«      5  |j                  | ¬«       d d d «       y # 1 sw Y   y xY w)Nr  ú|)zDocument is emptyr  zNone \(line 0\)rb   r  )rd   rç   r  re   r  rN   )r  r   r  Úmsgs       r   Útest_empty_string_stylesheetr   "  s^   € ä×$Ñ$ \Ó2€Jà
�(‰(ò	
ó€Cô 
�‰�z×0Ñ0¸Ô	<ñ 'Ø�‰ #ˆÔ&÷'÷ 'ñ 'ús   Á
A&Á&A/c                óÂ   — t        j                  d«      }d}t        j                  |j                  d¬«      5  | j	                  |¬«       d d d «       y # 1 sw Y   y xY w)Nr  aR  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" >
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="row/*">
        <field>
            <xsl:attribute name="field">
                <xsl:value-of select="name()"/>
            </xsl:attribute>
            <xsl:value-of select="text()"/>
        </field>
    </xsl:template>
</xsl:stylesheet>zOpening and ending tag mismatchrb   r  )rd   rç   re   r  rN   r  s      r   Útest_incorrect_xsl_syntaxr"  3  sX   € Ü×$Ñ$ \Ó2€Jð€Cô* 
�‰Ø×!Ñ!Ð*Kô
ñ 'ð 	�‰ #ˆÔ&÷'÷ 'ñ 'úó   ¹AÁAc                óÂ   — t        j                  d«      }d}t        j                  |j                  d¬«      5  | j	                  |¬«       d d d «       y # 1 sw Y   y xY w)Nr  aT  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node(*)">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="row/*">
        <field>
            <xsl:attribute name="field">
                <xsl:value-of select="name()"/>
            </xsl:attribute>
            <xsl:value-of select="text()"/>
        </field>
    </xsl:template>
</xsl:stylesheet>zfailed to compilerb   r  )rd   rç   re   ÚXSLTParseErrorrN   r  s      r   Útest_incorrect_xsl_evalr&  Q  sS   € Ü×$Ñ$ \Ó2€Jð€Cô* 
�‰�z×0Ñ0Ð9LÔ	Nñ 'Ø�‰ #ˆÔ&÷'÷ 'ñ 'úr#  c                ó  — t        j                  d«      }d}t        j                  |j                  d¬«      5  t	        j
                  d«      5 }| j                  ||¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr  ag  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:copy-of select="document('non_existent.xml')/*"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>zCannot resolve URIrb   rI   r  )rd   rç   re   ÚXSLTApplyErrorrL   rM   rN   )r   r  r  rV   s       r   Útest_incorrect_xsl_applyr)  m  s}   € Ü×$Ñ$ \Ó2€Jð
€Cô 
�‰�z×0Ñ0Ð9MÔ	Oñ 1Ü�_‰_˜ZÓ(ð 	1¨DØ�N‰N˜4¨CˆNÔ0÷	1÷1ð 1÷	1ð 	1ú÷1ð 1ús#   ¹B ÁA4Á#B Á4A=	Á9B Â B	c                óŽ   — d}t        j                  t        d¬«      5  | j                  d|¬«       d d d «       y # 1 sw Y   y xY w)NaI  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="utf-8" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:template match="@*|node(*)">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>z*To use stylesheet, you need lxml installedrb   rC   )rE   r  rÿ   )r   r  s     r   Útest_stylesheet_with_etreer+  �  sD   € ð	€Cô 
�‰ÜÐGô
ñ 7ð 	�‰˜g°#ˆÔ6÷7÷ 7ñ 7úri   c                ó¬   — t        j                  d«       d}| j                  d¬«      }|�|j                  «       }| j	                  |¬«      }||k(  sJ ‚y )NrA   aQ  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:param name="delim">,</xsl:param>
    <xsl:template match="/data">
        <xsl:text>,shape,degrees,sides&#xa;</xsl:text>
        <xsl:apply-templates select="row"/>
    </xsl:template>

    <xsl:template match="row">
        <xsl:value-of select="concat(index, $delim, shape, $delim,
                                     degrees, $delim, sides)"/>
         <xsl:text>&#xa;</xsl:text>
    </xsl:template>
</xsl:stylesheet>ú
)Úlineterminatorr  )rd   rç   Úto_csvrR   rN   )r   r  Úout_csvÚout_xmls       r   Útest_style_to_csvr2  “  sX   € Ü
×Ñ˜Ôð€Cð$ �n‰n¨DˆnÓ1€GàÐØ—-‘-“/ˆØ�n‰n¨ˆnÓ,€Gà�gÒÐÑr   c                ó†   — t        j                  d«       d}| j                  «       }| j                  d|¬«      }||k(  sJ ‚y )NrA   a˜  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:param name="delim"><xsl:text>               </xsl:text></xsl:param>
    <xsl:template match="/data">
        <xsl:text>      shape  degrees  sides&#xa;</xsl:text>
        <xsl:apply-templates select="row"/>
    </xsl:template>

    <xsl:template match="row">
        <xsl:value-of select="concat(index, ' ',
                                     substring($delim, 1, string-length('triangle')
                                               - string-length(shape) + 1),
                                     shape,
                                     substring($delim, 1, string-length(name(degrees))
                                               - string-length(degrees) + 2),
                                     degrees,
                                     substring($delim, 1, string-length(name(sides))
                                               - string-length(sides) + 2),
                                     sides)"/>
         <xsl:text>&#xa;</xsl:text>
    </xsl:template>
</xsl:stylesheet>ÚNaN)r…   r  )rd   rç   Ú	to_stringrN   )r   r  Úout_strr1  s       r   Útest_style_to_stringr7  °  sG   € Ü
×Ñ˜Ôð€Cð4 ×ÑÓ!€GØ�n‰n E°cˆnÓ:€Gà�gÒÐÑr   c                ó„   — t        j                  d«       d}| j                  «       }| j                  |¬«      }||k(  sJ ‚y )NrA   a]  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" indent="yes" />
    <xsl:strip-space elements="*"/>

    <xsl:param name="quot">"</xsl:param>

    <xsl:template match="/data">
        <xsl:text>{"shape":{</xsl:text>
        <xsl:apply-templates select="descendant::row/shape"/>
        <xsl:text>},"degrees":{</xsl:text>
        <xsl:apply-templates select="descendant::row/degrees"/>
        <xsl:text>},"sides":{</xsl:text>
        <xsl:apply-templates select="descendant::row/sides"/>
        <xsl:text>}}</xsl:text>
    </xsl:template>

    <xsl:template match="shape|degrees|sides">
        <xsl:variable name="val">
            <xsl:if test = ".=''">
                <xsl:value-of select="'null'"/>
            </xsl:if>
            <xsl:if test = "number(text()) = text()">
                <xsl:value-of select="text()"/>
            </xsl:if>
            <xsl:if test = "number(text()) != text()">
                <xsl:value-of select="concat($quot, text(), $quot)"/>
            </xsl:if>
        </xsl:variable>
        <xsl:value-of select="concat($quot, preceding-sibling::index,
                                     $quot,':', $val)"/>
        <xsl:if test="preceding-sibling::index != //row[last()]/index">
            <xsl:text>,</xsl:text>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>r  )rd   rç   Úto_jsonrN   )r   r  Úout_jsonr1  s       r   Útest_style_to_jsonr;  Ò  sD   € Ü
×Ñ˜Ôð#€CðJ �‰Ó €HØ�n‰n¨ˆnÓ,€Gà�wÒÐÑr   c                ó@  — t        j                  «       5 }|j                  || |¬«       t        |d|¬«      5 }|j                  j                  «       }d d d «       d d d «       t        «      }t        |j                  «       k(  sJ ‚y # 1 sw Y   Œ6xY w# 1 sw Y   Œ:xY w)N©rE   Úcompressionr7   ©r>  ©	rL   rM   rN   r	   ÚhandlerP   r5   Úgeom_xmlrR   )rE   Úcompression_onlyr   rV   Ú
handle_objrX   s         r   Útest_compression_outputrE    s•   € Ü	�‰Ó	ð .˜dØ�‰�t FÐ8HˆÔIäØØØ(ô
ð 	.ð Ø×&Ñ&×+Ñ+Ó-ˆF÷	.÷.ô ˜6Ó"€Fä�v—|‘|“~Ò%Ð%Ñ%÷	.ð 	.ú÷.ð .ús"   •#B¸BÁBÂB	ÂBÂBc                óT  — d||   z   }t        j                  |¬«      5 }|j                  || |¬«       t        |d|¬«      5 }|j                  j                  «       }d d d «       d d d «       t        «      }t        |j                  «       k(  sJ ‚y # 1 sw Y   Œ6xY w# 1 sw Y   Œ:xY w)Nzxml.)Úfilenamer=  r7   r?  r@  )rE   rC  r   Úcompression_to_extensionÚcompfilerV   rD  rX   s           r   Útest_filename_and_suffix_comprJ  *  sª   € ð Ð0Ð1AÑBÑB€HÜ	�‰ (Ô	+ð .¨tØ�‰�t FÐ8HˆÔIäØØØ(ô
ð 	.ð Ø×&Ñ&×+Ñ+Ó-ˆF÷	.÷.ô ˜6Ó"€Fä�v—|‘|“~Ò%Ð%Ñ%÷	.ð 	.ú÷.ð .ús#   Ÿ#BÁBÁBÂB	ÂBÂB'c                óª   — d}t        dt        gi«      j                  | «      }|j                  |¬«      }t	        |«      j                  «       |k(  sJ ‚y )Nzd<?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <index>0</index>
    <a/>
  </row>
</data>ÚarH   )r   r   ÚastyperN   r5   rR   )Úany_numeric_ea_dtyperE   rn   ÚdfÚresults        r   Útest_ea_dtypesrQ  =  sS   € ð€Hô 
�Cœ"˜�;Ó	×	&Ñ	&Ð';Ó	<€BØ�Y‰Y˜fˆYÓ%€FÜ˜Ó ×&Ñ&Ó(¨HÒ4Ð4Ñ4r   c                óÞ   — t        j                  t        d¬«      5  t        j                  «       5 }|j                  || d¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NzUnrecognized compression typerb   Ú7zr=  )rd   re   r   rL   rM   rN   rg   s      r   Útest_unsuported_compressionrT  K  sg   € Ü	�‰”zÐ)HÔ	Iñ BÜ�_‰_Óð 	B $Ø�N‰N˜4¨¸DˆNÔA÷	B÷Bð B÷	Bð 	Bú÷Bð Bús"   œA#±AÁA#ÁA 	ÁA#Á#A,c                ó^  — t        j                  d«      }t        j                  d«       t        j                  t        t
        f«      5  |j                  d¬«      }|j                  |j                  «       |j                  d|j                  › d�d| ¬«       d d d «       y # 1 sw Y   y xY w)	NÚs3fsrA   T)Úanonzs3://z	/geom.xmlÚzip)r>  rE   )
rd   rç   rL   Úexternal_error_raisedÚPermissionErrorÚFileNotFoundErrorÚS3FileSystemÚlsÚnamerN   )rE   Ús3_public_bucketr   rV  Úfss        r   Útest_s3_permission_outputra  T  s™   € ä×Ñ˜vÓ&€DÜ
×Ñ˜Ôä	×	!Ñ	!¤?Ô4EÐ"FÓ	Gñ 
Ø×Ñ DÐÓ)ˆØ
�‰Ð×#Ñ#Ô$à�‰ØÐ$×)Ñ)Ð*¨)Ð4À%ÐPVð 	ô 	
÷	
÷ 
ñ 
ús   Á
AB#Â#B,)aÚ
__future__r   Úior   r   r  Únumpyr   rd   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr   r   r   Úpandas._testingÚ_testingrL   Úpandas.io.commonr	   Úpandas.io.xmlr
   Úfixturer   r/   r1   r5   r?   r<   Ú
skip_if_norE   rY   r]   r`   rh   ro   ru   ÚmarkÚparametrizerÀ   ÚrangeÚstrr|   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ø   Úskip_if_installedrü   r  r  r	  r  r  r  r   r"  r&  r)  r+  r2  r7  r;  rB  rE  rJ  rQ  rT  Ú
single_cpura  )Úis   0r   ú<module>rw     sç  ðÝ "÷ó 
ã Û ç )Ð )÷ñ õ
 å 'Ý "ðJ ‡�ñó ðð ‡�ñ,ó ð,ð^ ‡�ñó ðò>ð €‡�˜˜c�{Ô#ñó $ðð €‡�˜˜Ÿ™ V°=°2·=±=ÀÓ3HÔIÈ7ÐSÔTñó Uðò
,ò
,ò(ò,ò$"òN&"ðR ‡�×ÑØ‘T™%  B›-Ó(¹5ÀÀR»=Ö*I°a©3¨q­6Ò*IÐJóñ!óð!ðL€ò0!ò!òòBòò.Nò
Nò)ò:Nò
Nò
)ò@,ò^ò<$òNò4ò<òHò@
òðH!Ð òH'òPð ‡�×Ñ˜Ò%FÓGñLó HðLò8òò:ò*ð, €×Ñ�fÓñó ðò%ð€ò0<ò"ò&	"ò	'ð ‡�×Ñ˜  S 	Ó*ñ'ó +ð'ò 'ò<'ò81ò(7ò$ò:òD*ð`€ò0&ò &ò&5òBð ‡�×Ññ

ó ñ

ùòO! +Js   ÄH2