Ë
    ž…jì  ã                  óÆ  — d dl mZ d dlmZmZ d dlmZ d dlZd dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlZd dlZd d	lmZ d d
lmZ d dlmZmZ d dlmc mZ d dl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!g d¢g d¢dejT                  dgdœ«      Z+dZ,dZ- e!ddddddœddddddœddddddœd d d d d dœddddddœd d!d"d#d$dœd%œ e.d&«      ¬'«      Z/d(„ Z0 ejb                  d)d*g¬+«      d,„ «       Z2 ejb                   ejf                  d- ejh                  d-«      ¬.«      d/g¬+«      d0„ «       Z5d1„ Z6d2„ Z7d3„ Z8ejr                  jt                  ejr                  jv                  d4„ «       «       Z<d5„ Z=d6„ Z>d7„ Z?d8„ Z@d9„ ZAd:„ ZBd;„ ZCejr                  j‰                  d<d=d>g«      d?„ «       ZEejr                  j‰                  d<d=d>g«      d@„ «       ZFejr                  j�                  edA¬B«      dC„ «       ZHejr                  jt                  ejr                  jv                  dD„ «       «       ZIejr                  jt                  ejr                  jv                  dE„ «       «       ZJdF„ ZKdG„ ZLdH„ ZMdI„ ZNdJ„ ZOdK„ ZPdL„ ZQdM„ ZRdN„ ZSdO„ ZTdP„ ZUejr                  j‰                  dQd=dg«      dR„ «       ZVdS„ ZWdT„ ZXdU„ ZYdV„ ZZdW„ Z[dX„ Z\dY„ Z]dZ„ Z^d[„ Z_d\„ Z`d]„ Zad^„ Zbd_„ Zcd`„ Zdda„ Zedb„ Zfdc„ Zgdd„ Zhde„ Zidf„ Zj ejÖ                  d-«      dg„ «       Zldh„ Zmdi„ Zndj„ Zodk„ Zpdl„ Zqdm„ Zrdn„ Zsdo„ Ztdp„ Zudq„ Zvdr„ Zwds„ Zxdt„ Zyejr                  j‰                  d< ed=«       ed>«      g«      du„ «       Zzdv„ Z{dw„ Z|ejr                  jt                  ejr                  jv                  dx„ «       «       Z}dy„ Z~dz„ Zd{„ Z€d|„ Z�d}„ Z‚d~„ Zƒd„ Z„d€„ Z…d�„ Z†d‚„ Z‡dƒ„ Zˆd„„ Z‰d…„ ZŠejr                  jt                  ejr                  jv                  d†„ «       «       Z‹d‡„ ZŒdˆ„ Z�y)‰é    )Úannotations)ÚBytesIOÚStringIO)Ú	LZMAErrorN)Ú	ReadError)Ú	HTTPError)Ú
ParseError)Ú
BadZipFile)ÚWASM)Úimport_optional_dependency)ÚEmptyDataErrorÚParserError)ÚNAÚ	DataFrameÚSeries)Ú
get_handle)Úread_xml©ÚsquareÚcircleÚtriangle©éh  r   é´   é   é   ©ÚshapeÚdegreesÚsidesa[  <?xml version='1.0' encoding='utf-8'?>
<data xmlns="http://example.com">
  <row>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4</sides>
  </row>
  <row>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3</sides>
  </row>
</data>aÇ  <?xml version='1.0' encoding='utf-8'?>
<doc:data xmlns:doc="http://example.com">
  <doc:row>
    <doc:shape>square</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides>4.0</doc:sides>
  </doc:row>
  <doc:row>
    <doc:shape>circle</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides/>
  </doc:row>
  <doc:row>
    <doc:shape>triangle</doc:shape>
    <doc:degrees>180</doc:degrees>
    <doc:sides>3.0</doc:sides>
  </doc:row>
</doc:data>ÚID_00001ÚID_00002ÚID_00003ÚID_00004ÚID_00005©r   é   é   r   r   zBlue Line (Forest Park)zRed, Purple Linez#LineStyle01ÚclampedToGroundzæ-87.77678526964958,41.8708863930319,0 -87.77826234150609,41.87097820122218,0 -87.78251583439344,41.87130129991005,0 -87.78418294588424,41.87145055520308,0 -87.7872369165933,41.8717239119163,0 -87.79160214925886,41.87210797280065,0a\  -87.65758750947528,41.96427269188822,0 -87.65802133507393,41.96581929055245,0 -87.65819033925305,41.96621846093642,0 -87.6583189819129,41.96650362897086,0 -87.65835858701473,41.96669002089185,0 -87.65838428411853,41.96688150295095,0 -87.65842208882658,41.96745896091846,0 -87.65846556843937,41.9683761425439,0 -87.65849296214573,41.96913893870342,0a”  -87.65492939166126,41.95377494531437,0 -87.65557043199591,41.95376544118533,0 -87.65606302030132,41.95376391658746,0 -87.65623502146268,41.95377379126367,0 -87.65634748981634,41.95380103566435,0 -87.65646537904269,41.95387703994676,0 -87.65656532461145,41.95396622645799,0 -87.65664760856414,41.95404201996044,0 -87.65671750555913,41.95416647054043,0 -87.65673983607117,41.95429949810849,0 -87.65673866475777,41.95441024240925,0 -87.6567690255541,41.95490657227902,0 -87.65683672482363,41.95692259283837,0 -87.6568900886376,41.95861070983142,0 -87.65699865558875,41.96181418669004,0 -87.65756347177603,41.96397045777844,0 -87.65758750947528,41.96427269188822,0ah  -87.65362593118043,41.94742799535678,0 -87.65363554415794,41.94819886386848,0 -87.6536456393239,41.95059994675451,0 -87.65365831235026,41.95108288489359,0 -87.6536604873874,41.9519954657554,0 -87.65362592053201,41.95245597302328,0 -87.65367158496069,41.95311153649393,0 -87.65368468595476,41.9533202828916,0 -87.65369271253692,41.95343095587119,0 -87.65373335834569,41.95351536301472,0 -87.65378605844126,41.95358212680591,0 -87.65385067928185,41.95364452823767,0 -87.6539390793817,41.95370263886964,0 -87.6540786298351,41.95373403675265,0 -87.65430648647626,41.9537535411832,0 -87.65492939166126,41.95377494531437,0a   -87.65345391792157,41.94217681262115,0 -87.65342448305786,41.94237224420864,0 -87.65339745703922,41.94268217746244,0 -87.65337753982941,41.94288140770284,0 -87.65336256753105,41.94317369618263,0 -87.65338799707138,41.94357253961736,0 -87.65340240886648,41.94389158188269,0 -87.65341837392448,41.94406444407721,0 -87.65342275247338,41.94421065714904,0 -87.65347469646018,41.94434829382345,0 -87.65351486483024,41.94447699917548,0 -87.65353483605053,41.9453896864472,0 -87.65361975532807,41.94689193720703,0 -87.65362593118043,41.94742799535678,0©ÚidÚnameÚstyleUrlÚextrudeÚaltitudeModeÚcoordinatesé   ©Úindexc                 óÞ   — t        j                  d«       dj                  ddg«      } t        j                  t        t
        f| ¬«      5  t        t        «       d d d «       y # 1 sw Y   y xY w)NÚlxmlú|z.*No such file or directoryz.*Invalid argument©Úmatch)ÚpytestÚimportorskipÚjoinÚraisesÚFileNotFoundErrorÚOSErrorr   Úxml_default_nmsp©Úmsgs    ú]/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/io/xml/test_xml.pyÚtest_literal_xml_raisesrC   ÷   sW   € ä
×Ñ˜ÔØ
�(‰(Ð2Ð4IÐJÓ
K€Cä	�‰Ô)¬7Ð3¸3Ô	?ñ #ÜÔ!Ô"÷#÷ #ñ #ús   Á
A#Á#A,ÚrbÚr)Úparamsc                ó   — | j                   S ©N©Úparam©Úrequests    rB   ÚmoderM      ó   € à�=‰=Ðó    r5   )ÚmarksÚetreec                ó   — | j                   S rH   rI   rK   s    rB   ÚparserrS     rN   rO   c                ó@   — |j                  | d¬«       t        |fi |¤ŽS )Núutf-8©Úencoding)Ú
write_textr   )ÚdataÚ	temp_pathÚkwargss      rB   Úread_xml_iterparser\   
  s%   € Ø×Ñ˜¨ÐÔ0Ü�IÑ( Ñ(Ð(rO   c                ó¸   — t        | d|¬«      5 }|j                  |j                  j                  «       d¬«       t	        |fi |¤Žcd d d «       S # 1 sw Y   y xY w)NrE   )ÚcompressionrU   rV   )r   rX   ÚhandleÚreadr   )Ú	comp_pathÚcompression_onlyrZ   r[   Úhandless        rB   Úread_xml_iterparse_comprd     sS   € Ü	�I˜sÐ0@Ô	Að -ÀWØ×Ñ˜WŸ^™^×0Ñ0Ó2¸WÐÔEÜ˜	Ñ, VÑ,÷-÷ -ò -ús   �7AÁAc                ó.  — t        j                  d«       t        | d¬«      }t        | d¬«      }t        | ddg d¢i¬«      }t        | ddg d¢i¬«      }t        j                  ||«       t        j                  ||«       t        j                  ||«       y )Nr5   ©rS   rQ   Úbook©ÚcategoryÚtitleÚyearÚauthorÚprice©rS   Ú	iterparse©r9   r:   r   ÚtmÚassert_frame_equal)Ú	xml_booksÚdf_file_lxmlÚdf_file_etreeÚdf_iter_lxmlÚdf_iter_etrees        rB   Útest_parser_consistency_filerx     sŽ   € Ü
×Ñ˜ÔÜ˜I¨fÔ5€LÜ˜Y¨wÔ7€MäØØØÒKÐLô€Lô
 ØØØÒKÐLô€Mô ×Ñ˜,¨Ô6Ü×Ñ˜,¨Ô5Ü×Ñ˜,¨Õ6rO   c                óê   — |j                  t        ¬«       t        t        t        «      | ¬«      }t        t	        t        j                  «       «      | dg d¢i¬«      }t        j                  ||«       y )N©Úcontentrf   Úrowr   rn   )Úserve_contentr?   r   r   r   Úencoderq   rr   )rS   Ú
httpserverÚdf_xpathÚdf_iters       rB   Útest_parser_consistency_urlr‚   -  sb   € ð ×ÑÔ%5ÐÔ6äœÔ!1Ó2¸6ÔB€HÜÜÔ ×'Ñ'Ó)Ó*ØØÒ7Ð8ô€Gô ×Ñ˜( GÕ,rO   c                óÔ   — t        | ||dk(  rdnd ¬«      5 }t        ||¬«      }d d d «       t        g d¢g d¢g d¢g d¢g d	¢d
œ«      }t        j                  |«       y # 1 sw Y   Œ;xY w©NrE   rU   rV   rf   ©ÚcookingÚchildrenÚweb©zEveryday ItalianzHarry PotterzLearning XML©zGiada De LaurentiiszJ K. RowlingzErik T. Ray©éÕ  rŒ   iÓ  ©g      >@g=
×£pý=@gš™™™™ùC@©ri   rj   rl   rk   rm   )Úopenr   r   rq   rr   )rs   rS   rM   ÚfÚdf_fileÚdf_expecteds         rB   Útest_file_liker“   <  sk   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið -ÈQÜ˜1 VÔ,ˆ÷-ô â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜' ;Õ/÷-ð -ús   –AÁA'c                ó<  — t        | ||dk(  rdnd ¬«      5 }|j                  «       }d d d «       t        t        t        «      rt        |«      n
t        |«      |¬«      }t        g d¢g d¢g d¢g d¢g d	¢d
œ«      }t        j                  ||«       y # 1 sw Y   ŒlxY wr„   )
r�   r`   r   Ú
isinstanceÚbytesr   r   r   rq   rr   )rs   rS   rM   r�   Úxml_objÚdf_ior’   s          rB   Útest_file_ior™   M  s‘   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQØ—&‘&“(ˆ÷ô Ü'¨´Ô7Œ�Ô	¼XÀgÓ=NØô€Eô
 â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜% Õ-÷%ð ús   –BÂBc                óR  — t        | ||dk(  rdnd ¬«      5 }|j                  «       }d d d «       |dk(  rt        j                  «       «      }n|dk(  rt        «      }t	        |¬«      }t        g d¢g d¢g d¢g d	¢g d
¢dœ«      }t        j                  ||«       y # 1 sw Y   ŒwxY w©NrE   rU   rV   rD   rf   r…   r‰   rŠ   r‹   r�   rŽ   )r�   r`   r   Údecoder   r   rq   rr   ©rs   rS   rM   r�   r—   Údf_strr’   s          rB   Ú test_file_buffered_reader_stringrŸ   c  sŸ   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQØ—&‘&“(ˆ÷ð ˆt‚|Ü˜7Ÿ>™>Ó+Ó,‰Ø	�ŠÜ˜7Ó#ˆä�g fÔ-€Fäâ6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜& +Õ.÷)ð ús   –BÂB&c                óh  — t        | ||dk(  rdnd ¬«      5 }t        |«       |j                  «       }d d d «       |dk(  rt        j	                  «       «      }n|dk(  rt        «      }t        |¬«      }t        g d¢g d¢g d¢g d	¢g d
¢dœ«      }t        j                  ||«       y # 1 sw Y   ŒwxY wr›   )	r�   Únextr`   r   rœ   r   r   rq   rr   r�   s          rB   Ú,test_file_buffered_reader_no_xml_declarationr¢   {  s¦   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQÜˆQŒØ—&‘&“(ˆ÷ð ˆt‚|Ü˜7Ÿ>™>Ó+Ó,‰Ø	�ŠÜ˜7Ó#ˆä�g fÔ-€Fäâ6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜& +Õ.÷+ð ús   –B(Â(B1c                ó’   — d}t        t        |«      | ¬«      }t        dddœt        d«      ¬«      }t	        j
                  ||«       y )Nõ<   <ä¸­æ–‡æ¨™ç±¤><row><c1>1</c1><c2>2</c2></row></ä¸­æ–‡æ¨™ç±¤>rf   r'   r(   )Úc1Úc2r2   )r   r   r   Úrangerq   rr   )rS   Útxtrž   r’   s       rB   Útest_string_charsetr©   ”  s<   € Ø
H€Cä”h˜s“m¨FÔ3€Fä 1¨AÑ.´e¸A³hÔ?€Kä×Ñ˜& +Õ.rO   c                ó˜   — t        | |¬«      }t        g d¢dj                  ddg«      d dgg d¢dœ«      }t        j                  ||«       y )	Nrf   )uP   å•�  è‹¥ç®‡æ˜¯é‚ªè€Œè¨€ç ´é‚ª ä½•è€…æ˜¯æ­£è€Œé�“(Sorry, this is Big5 only)ç”³æ­£u;   å•� æ—¢ç ´æœ‰å¾—ç”³ç„¡å¾— äº¦æ‡‰ä½†ç ´æ€§åŸ·ç”³å�‡å��ä»¥ä¸�uO   å•� æ—¢ç ´æ€§ç”³å�‡ äº¦æ‡‰ä½†ç ´æœ‰ç”³ç„¡ è‹¥æœ‰ç„¡å…©æ´— äº¦æ‡‰æ€§å�‡é›™ç ´è€¶Ú u<   ç­”  é‚ªæ—¢ç„¡é‡� æ­£äº¦å¤šé€”  å¤§ç•¥ç‚ºè¨€ä¸�å‡ºäºŒç¨® è¬‚u;   æœ‰å¾—èˆ‡ç„¡å¾— æœ‰å¾—æ˜¯é‚ªé ˆç ´ ç„¡å¾—æ˜¯æ­£é ˆç”³
		æ•…uL   ç­”  ä¸�ä¾‹  æœ‰ç„¡çš†æ˜¯æ€§ æ‰€ä»¥é ˆé›™ç ´ æ—¢åˆ†æ€§å�‡ç•° æ•…æœ‰ç ´ä¸�ç ´)NuV   ç­” æ€§åŸ·æ˜¯æœ‰å¾— å�‡å��æ˜¯ç„¡å¾—  ä»Šç ´æœ‰å¾—ç”³ç„¡å¾— å�³æ˜¯ç ´æ€§åŸ·ç”³å�‡å��ä¹ŸN)u   å•�u   ç­”Úa)r   r   r;   rq   rr   )Úxml_doc_ch_utfrS   r‘   r’   s       rB   Útest_file_charsetr®   ž  s_   € Ü�~¨fÔ5€Gäòð —‘àVØXðóð Ø^ð	òñ!	
ó€Kô2 ×Ñ˜' ;Õ/rO   c                ó¬   — t        | d«      5 }t        t        |j                  «       «      |¬«       |j                  rJ ‚	 d d d «       y # 1 sw Y   y xY w)NrD   rf   )r�   r   r   r`   Úclosed)rs   rS   r�   s      rB   Útest_file_handle_closer±   ½  sF   € Ü	ˆi˜Ó	ð  !Ü”˜Ÿ™›Ó"¨6Õ2à—8’8Ðˆ|�8÷÷ ñ ús   �3A
Á
AÚvalr«   rO   c                ó(  — t        j                  d«      }dj                  ddg«      }t        | t        «      rt        | «      }nt        | «      }t        j                  |j                  |¬«      5  t        |d¬«       d d d «       y # 1 sw Y   y xY w)Nú
lxml.etreer6   zDocument is emptyzNone \(line 0\)r7   r5   rf   )
r9   r:   r;   r•   Ústrr   r   r<   ÚXMLSyntaxErrorr   )r²   Ú
lxml_etreerA   rY   s       rB   Útest_empty_string_lxmlr¸   Ä  s|   € ä×$Ñ$ \Ó2€Jà
�(‰(ààð	
ó€Cô �#”sÔÜ˜‹}‰ä�s‹|ˆÜ	�‰�z×0Ñ0¸Ô	<ñ &Ü�˜fÕ%÷&÷ &ñ &ús   Á1BÂBc                óÌ   — t        | t        «      rt        | «      }nt        | «      }t	        j
                  t        d¬«      5  t        |d¬«       d d d «       y # 1 sw Y   y xY w)Nzno element foundr7   rQ   rf   )r•   rµ   r   r   r9   r<   r	   r   )r²   rY   s     rB   Útest_empty_string_etreerº   ×  sL   € ä�#”sÔÜ˜‹}‰ä�s‹|ˆÜ	�‰”zÐ);Ô	<ñ 'Ü�˜gÕ&÷'÷ 'ñ 'ús   ÁAÁA#z"limited file system access on WASM)Úreasonc                óÂ   — t         j                  j                  dddd«      }t        j                  t
        d¬«      5  t        || ¬«       d d d «       y # 1 sw Y   y xY w)NÚdoesÚnotÚexistz	books.xmlú%\[Errno 2\] No such file or directoryr7   rf   )ÚosÚpathr;   r9   r<   r=   r   )rS   Úfilenames     rB   Útest_wrong_file_pathrÄ   á  sM   € ä�w‰w�|‰|˜F E¨7°KÓ@€Hä	�‰ÜÐ!Iô
ñ *ô 	� &Õ)÷*÷ *ñ *ús   ¾AÁAc                óB  — t        j                  d«       t        |d¬«      5 }| j                  |j	                  «       ¬«       t        | j                  d¬«      }d d d «       t        g d¢g d¢g d	¢g d
¢g d¢dœ«      }t        j                  |«       y # 1 sw Y   Œ;xY w)Nr5   rU   rV   rz   ú.//book[count(*)=4]©Úxpathr…   r‰   rŠ   r‹   r�   rŽ   )
r9   r:   r�   r}   r`   r   Úurlr   rq   rr   )r   Úxml_filer�   Údf_urlr’   s        rB   Útest_urlrÌ   ë  s‘   € ô ×Ñ˜ÔÜ	ˆh Ô	)ð G¨QØ× Ñ ¨¯©«Ð Ô2Ü˜*Ÿ.™.Ð0EÔFˆ÷Gô â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜& +Õ.÷Gð Gús   £8BÂBc                óš  — |j                  dd¬«       	 t        j                  t        d¬«      5 }t	        |j
                  d| ¬«       d d d «       t        j                  t        «      r|j                  j                  «        y y # 1 sw Y   Œ?xY w# t        j                  t        «      r|j                  j                  «        w w xY w)Nz	NOT FOUNDi”  )ÚcodezHTTP Error 404: NOT FOUNDr7   rÆ   ©rÈ   rS   )	r}   r9   r<   r   r   rÉ   r•   ÚvalueÚclose)rS   r   Úerrs      rB   Útest_wrong_urlrÓ      s¢   € ð ×Ñ˜[¨sÐÔ3ðÜ�]‰]œ9Ð-HÔJð 	QÈcÜ�Z—^‘^Ð+@ÈÕP÷	Qô �c—i‘i¤Ô+ð �I‰I�O‰OÕð ,÷	Qð 	Qûô �c—i‘i¤Ô+ð �I‰I�O‰OÕð ,ús"   •B °BÁ	B ÂBÂB Â7C
c                óä   — d}t        t        |«      | d¬«      }t        ||| dg d¢id¬«      }t        g d¢g d¢g d	¢dœd¬
«      }t	        j
                  ||«       t	        j
                  ||«       y )NaÍ  
      <data>
        <row sides=" 4 ">
          <shape>
              square
          </shape>
          <degrees>&#009;360&#009;</degrees>
        </row>
        <row sides=" 0 ">
          <shape>
              circle
          </shape>
          <degrees>&#009;360&#009;</degrees>
        </row>
        <row sides=" 3 ">
          <shape>
              triangle
          </shape>
          <degrees>&#009;180&#009;</degrees>
        </row>
      </data>Ústring)rS   Údtyper|   )r    r   r   )rS   ro   rÖ   )z 4 z 0 z 3 )z 
              square
          z 
              circle
          z"
              triangle
          )ú	360	r×   z	180	©rÖ   ©r   r   r\   r   rq   rr   ©rS   Ú	temp_fileÚxmlr€   r�   r’   s         rB   Útest_whitespacerÝ     s�   € ð€Cô, œ ›¨f¸HÔE€Hä ØØØØÒ7Ð8Øô€Gô â*òò
 9ñ	
ð ô€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rO   c                óª   — t        j                  d«       t        j                  t        d¬«      5  t	        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nr5   úxpath does not return any nodesr7   z	.//pythonrÏ   ©r9   r:   r<   Ú
ValueErrorr   ©rs   s    rB   Útest_empty_xpath_lxmlrã   F  s@   € Ü
×Ñ˜ÔÜ	�‰”zÐ*KÔ	Mñ >Ü� +°fÕ=÷>÷ >ñ >úó   ±A	Á	Ac                ó€   — t        j                  t        d¬«      5  t        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nz/You have used an incorrect or unsupported XPathr7   ú	.//[book]rQ   rÏ   ©r9   r<   ÚSyntaxErrorr   râ   s    rB   Útest_bad_xpath_etreeré   L  s7   € Ü	�‰ÜÐMô
ñ ?ô 	� +°gÕ>÷?÷ ?ñ ?úó   œ4´=c                ó¶   — t        j                  d«      }t        j                  |j                  d¬«      5  t	        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nr´   zInvalid expressionr7   ræ   r5   rÏ   ©r9   r:   r<   ÚXPathEvalErrorr   )rs   r·   s     rB   Útest_bad_xpath_lxmlrî   S  sH   € Ü×$Ñ$ \Ó2€Jä	�‰�z×0Ñ0Ð9MÔ	Oñ >Ü� +°fÕ=÷>÷ >ñ >úó   ·AÁAc                ó  — t        t        t        «      dddi| ¬«      }t        t        || dg d¢i¬«      }t	        g d¢g d	¢d
t        d«      dgdœ«      }t        j                  ||«       t        j                  ||«       y )Nú	.//ns:rowÚnsúhttp://example.com©rÈ   Ú
namespacesrS   r|   r   rn   r   r   ç      @Únanç      @)r   r   r?   r\   r   Úfloatrq   rr   ©rS   rÛ   Údf_nmspr�   r’   s        rB   Útest_default_namespacerü   ]  s‰   € ÜÜÔ!Ó"ØØÐ.Ð/Øô	€Gô !ÜØØØÒ7Ð8ô	€Gô â5Ú&Øœ5 ›<¨Ð-ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rO   c                ó  — t        t        t        «      dddi| ¬«      }t        t        || dg d¢i¬«      }t	        g d¢g d	¢d
t        d«      dgdœ«      }t        j                  ||«       t        j                  ||«       y )Nú
.//doc:rowÚdocró   rô   r|   r   rn   r   r   rö   r÷   rø   )r   r   Úxml_prefix_nmspr\   r   rù   rq   rr   rú   s        rB   Útest_prefix_namespacer  x  sˆ   € ÜÜ”Ó!ØØÐ/Ð0Øô	€Gô !ÜØØØÒ7Ð8ô	€Gô â5Ú&Øœ5 ›<¨Ð-ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rO   c                 óÒ   — t        j                  d«       t        t        t        «      dddid¬«      } t        t        t        «      dddid¬«      }t        j                  | |«       y )	Nr5   rñ   rò   ró   rô   rþ   rÿ   rQ   )r9   r:   r   r   r?   rq   rr   ©Údf_lxmlÚdf_etrees     rB   Ú"test_consistency_default_namespacer  ’  sh   € Ü
×Ñ˜ÔÜÜÔ!Ó"ØØÐ.Ð/Øô	€Gô ÜÔ!Ó"ØØÐ/Ð0Øô	€Hô ×Ñ˜' 8Õ,rO   c                 óÒ   — t        j                  d«       t        t        t        «      dddid¬«      } t        t        t        «      dddid¬«      }t        j                  | |«       y )Nr5   rþ   rÿ   ró   rô   rQ   )r9   r:   r   r   r   rq   rr   r  s     rB   Ú!test_consistency_prefix_namespacer  ¥  sf   € Ü
×Ñ˜ÔÜÜ”Ó!ØØÐ/Ð0Øô	€Gô Ü”Ó!ØØÐ/Ð0Øô	€Hô ×Ñ˜' 8Õ,rO   c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nrß   r7   z.//PlacemarkrÏ   ©r9   r<   rá   r   ©rs   rS   s     rB   Ú*test_missing_prefix_with_default_namespacer  »  s6   € Ü	�‰”zÐ*KÔ	Mñ AÜ� .¸Õ@÷A÷ Añ Aúrê   c                ó€   — t        j                  t        d¬«      5  t        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nz'you used an undeclared namespace prefixr7   ú.//kml:PlacemarkrQ   rÏ   rç   )Úkml_cta_rail_liness    rB   Ú$test_missing_prefix_definition_etreer  À  s8   € Ü	�‰”{Ð+TÔ	Vñ OÜÐ#Ð+=ÀgÕN÷O÷ Oñ Oúrê   c                ó¶   — t        j                  d«      }t        j                  |j                  d¬«      5  t	        | dd¬«       d d d «       y # 1 sw Y   y xY w)Nr´   zUndefined namespace prefixr7   r  r5   rÏ   rì   )r  r·   s     rB   Ú#test_missing_prefix_definition_lxmlr  Å  sN   € Ü×$Ñ$ \Ó2€Jä	�‰�z×0Ñ0Ð9UÔ	Wñ NÜÐ#Ð+=ÀfÕM÷N÷ Nñ Núrï   Úkeyc                óÊ   — t        j                  d«       t        j                  t        d¬«      5  t	        t        t        «      d| did¬«       d d d «       y # 1 sw Y   y xY w)Nr5   z0empty namespace prefix is not supported in XPathr7   r  úhttp://www.opengis.net/kml/2.2rô   )r9   r:   r<   Ú	TypeErrorr   r   r?   )r  s    rB   Útest_none_namespace_prefixr  Ì  sY   € ä
×Ñ˜ÔÜ	�‰ÜÐLô
ñ 
ô 	ÜÔ%Ó&Ø$ØÐ=Ð>Øõ		
÷
÷ 
ñ 
ús   ±AÁA"c                óÐ   — t        | |¬«      }t        | |dg d¢i¬«      }t        g d¢g d¢g d¢g d¢g d	¢dœ«      }t        j                  ||«       t        j                  ||«       y )
Nrf   rg   rŽ   rn   r…   r‰   rŠ   r‹   r�   ©r   r   rq   rr   ©rs   rS   r‘   r�   r’   s        rB   Útest_file_elems_and_attrsr  Ý  si   € Ü�y¨Ô0€GÜØØØÒKÐLô€Gô
 â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rO   c                ó¸   — t        | d|¬«      }t        | |ddgi¬«      }t        dg d¢i«      }t        j                  ||«       t        j                  ||«       y )NT)Ú
attrs_onlyrS   rg   ri   rn   r…   r  r  s        rB   Útest_file_only_attrsr  ò  sU   € Ü�y¨T¸&ÔA€GÜ�y¨¸FÀZÀLÐ;QÔR€GÜ˜ZÒ)GÐHÓI€Kä×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rO   c                óÌ   — t        | d|¬«      }t        | |dg d¢i¬«      }t        g d¢g d¢g d¢g d	¢dœ«      }t        j                  ||«       t        j                  ||«       y )
NT)Ú
elems_onlyrS   rg   )rj   rl   rk   rm   rn   r‰   rŠ   r‹   r�   r  r  s        rB   Útest_file_only_elemsr!  û  sh   € Ü�y¨T¸&ÔA€GÜØØØÒ?Ð@ô€Gô
 âIÚLÚ&Ú*ñ		
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rO   c                ó‚   — t        j                  t        d¬«      5  t        | dd|¬«       d d d «       y # 1 sw Y   y xY w)Nz3Either element or attributes can be parsed not bothr7   T)r   r  rS   r
  )r  rS   s     rB   Útest_elem_and_attrs_onlyr#    s>   € Ü	�‰ÜØDô
ñ Vô 	Ð#°ÀÈfÕU÷	V÷ Vñ Vús   œ5µ>c                ó˜   — d}t        j                  t        d¬«      5  t        t	        |«      dd| ¬«       d d d «       y # 1 sw Y   y xY w)NaU  
      <data>
        <row>
          <shape sides="4">square</shape>
          <degrees>360</degrees>
        </row>
        <row>
          <shape sides="0">circle</shape>
          <degrees>360</degrees>
        </row>
        <row>
          <shape sides="3">triangle</shape>
          <degrees>180</degrees>
        </row>
      </data>ú-xpath does not return any nodes or attributesr7   ú./rowT)rÈ   r  rS   ©r9   r<   rá   r   r   ©rS   rÜ   s     rB   Útest_empty_attrs_onlyr)    sJ   € ð€Cô  
�‰ÜØ>ô
ñ Oô 	”˜#“ g¸$ÀvÕN÷	O÷ Oñ Oúó   žA Á A	c                ó˜   — d}t        j                  t        d¬«      5  t        t	        |«      dd| ¬«       d d d «       y # 1 sw Y   y xY w)Nz¿
      <data>
        <row sides="4" shape="square" degrees="360"/>
        <row sides="0" shape="circle" degrees="360"/>
        <row sides="3" shape="triangle" degrees="180"/>
      </data>r%  r7   r&  T)rÈ   r   rS   r'  r(  s     rB   Útest_empty_elems_onlyr,  /  sJ   € ð€Cô 
�‰ÜØ>ô
ñ Oô 	”˜#“ g¸$ÀvÕN÷	O÷ Oñ Oúr*  c                ó.  — t        j                  d«       d}t        t        |«      d¬«      }t        t        |«      dd¬«      }t	        || ddd	gi¬
«      }t	        || dddd	gi¬«      }t        j                  ||«       t        j                  ||«       y )Nr5   aº  <?xml version="1.0" encoding="UTF-8"?>
<TrainSchedule>
      <Stations>
         <station Name="Manhattan" coords="31,460,195,498"/>
         <station Name="Laraway Road" coords="63,409,194,455"/>
         <station Name="179th St (Orland Park)" coords="0,364,110,395"/>
         <station Name="153rd St (Orland Park)" coords="7,333,113,362"/>
         <station Name="143rd St (Orland Park)" coords="17,297,115,330"/>
         <station Name="Palos Park" coords="128,281,239,303"/>
         <station Name="Palos Heights" coords="148,257,283,279"/>
         <station Name="Worth" coords="170,230,248,255"/>
         <station Name="Chicago Ridge" coords="70,187,208,214"/>
         <station Name="Oak Lawn" coords="166,159,266,185"/>
         <station Name="Ashburn" coords="197,133,336,157"/>
         <station Name="Wrightwood" coords="219,106,340,133"/>
         <station Name="Chicago Union Sta" coords="220,0,360,43"/>
      </Stations>
</TrainSchedule>z
.//stationrÇ   rQ   rÏ   ÚstationÚNameÚcoords©ro   rn   )r9   r:   r   r   r\   rq   rr   )rÛ   rÜ   r  r  Ú
df_iter_lxÚ
df_iter_ets         rB   Útest_attribute_centric_xmlr4  >  s—   € Ü
×Ñ˜Ôð€Cô( ”x “}¨LÔ9€GÜœ ›¨\À'ÔJ€Hä#ØˆY 9¨v°xÐ.@Ð"Aô€Jô $ØˆY˜w°9¸vÀxÐ>PÐ2Qô€Jô ×Ñ˜' 8Ô,Ü×Ñ˜* jÕ1rO   c                óÜ   — t        | g d¢|¬«      }t        | |g d¢dg d¢i¬«      }t        g d¢g d¢g d¢g d	¢g d
¢dœ«      }t        j                  ||«       t        j                  ||«       y )N)ÚCol1ÚCol2ÚCol3ÚCol4ÚCol5©ÚnamesrS   rg   rŽ   )rS   r<  ro   r…   r‰   rŠ   r‹   r�   r  r  s        rB   Útest_names_option_outputr=  e  st   € ÜØÒAÈ&ô€Gô ØØÚ6ØÒKÐLô	€Gô â2ÚHÚJÚ&Ú)ñ	
ó€Kô ×Ñ˜' ;Ô/Ü×Ñ˜' ;Õ/rO   c                óê   — d}t        t        |«      d| g d¢¬«      }t        ||| dg d¢ig d¢¬«      }t        dd	gd
dgddgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Nz°<shapes>
  <shape type="2D">
    <name>circle</name>
    <type>curved</type>
  </shape>
  <shape type="3D">
    <name>sphere</name>
    <type>curved</type>
  </shape>
</shapes>ú.//shape)Útype_dimr   Ú	type_edge©rÈ   rS   r<  r   )Útyper,   rC  ©rS   ro   r<  Ú2DÚ3Dr   ÚsphereÚcurvedrÙ   rÚ   s         rB   Útest_repeat_namesrI  ~  s�   € ð
€Cô Ü�‹ØØÚ0ô	€Hô !ØØØØÒ4Ð5Ú0ô€Gô à˜t˜Ø Ð)Ø" HÐ-ñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rO   c                óä   — d}t        t        |«      d| ddg¬«      }t        ||| dddgiddg¬«      }t        g d	¢g d
¢dœ«      }t	        j
                  ||«       t	        j
                  ||«       y )NaB  <shapes>
  <shape>
    <name>rectangle</name>
    <family>rectangle</family>
  </shape>
  <shape>
    <name>square</name>
    <family>rectangle</family>
  </shape>
  <shape>
    <name>ellipse</name>
    <family>ellipse</family>
  </shape>
  <shape>
    <name>circle</name>
    <family>ellipse</family>
  </shape>
</shapes>r?  r,   ÚgrouprB  r   ÚfamilyrD  )Ú	rectangler   Úellipser   )rM  rM  rN  rN  )r,   rK  rÙ   rÚ   s         rB   Útest_repeat_values_new_namesrO  ¥  sŠ   € ð€Cô& Ü�‹˜Z°¸vÀwÐ>Oô€Hô !ØØØØ˜V XÐ.Ð/Ø�wÐô€Gô â@ÚEñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rO   c                óð   — d}t        t        |«      d| g d¢¬«      }t        ||| dg d¢ig d¢¬«      }t        g d¢g d	¢g d
¢g d¢dœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Na  <shapes>
  <shape>
    <value item="name">circle</value>
    <value item="family">ellipse</value>
    <value item="degrees">360</value>
    <value item="sides">0</value>
  </shape>
  <shape>
    <value item="name">triangle</value>
    <value item="family">polygon</value>
    <value item="degrees">180</value>
    <value item="sides">3</value>
  </shape>
  <shape>
    <value item="name">square</value>
    <value item="family">polygon</value>
    <value item="degrees">360</value>
    <value item="sides">4</value>
  </shape>
</shapes>r?  )r,   rL  r   r    rB  r   )rÐ   rÐ   rÐ   rÐ   rD  )r   r   r   )rN  ÚpolygonrQ  )r   r   r   )r   r   r   rÙ   rÚ   s         rB   Útest_repeat_elementsrR  Ð  s…   € ð€Cô* Ü�‹ØØÚ4ô	€Hô !ØØØØÒ@ÐAÚ4ô€Gô â4Ú7Ú&Úñ		
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rO   c                ó„   — t        j                  t        d¬«      5  t        | g d¢|¬«       d d d «       y # 1 sw Y   y xY w)Nznames does not match lengthr7   )r6  r7  r8  r;  r
  r  s     rB   Útest_names_option_wrong_lengthrT    s7   € Ü	�‰”zÐ*GÔ	Iñ KÜ�Ò":À6ÕJ÷K÷ Kñ Kúó   œ6¶?c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nzis not a valid type for namesr7   zCol1, Col2, Col3r;  ©r9   r<   r  r   r  s     rB   Útest_names_option_wrong_typerX    s7   € Ü	�‰”yÐ)HÔ	Jñ EÜ�Ð"4¸VÕD÷E÷ Eñ Eúrê   c                ó~   — t        j                  t        d¬«      5  t        | |¬«       d d d «       y # 1 sw Y   y xY w)Nz'utf-8' codec can't decoder7   rf   ©r9   r<   ÚUnicodeDecodeErrorr   ©Úxml_baby_namesrS   s     rB   Útest_wrong_encodingr^    s1   € Ü	�‰Ô)Ð2NÔ	Pñ 0Ü�¨Õ/÷0÷ 0ñ 0úó   œ3³<c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)NzLUTF-16 stream does not start with BOM|'utf-16(-le)?' codec can't decode byter7   zUTF-16©rW   rS   )r9   r<   ÚUnicodeErrorr   r\  s     rB   Útest_utf16_encodingrc    s=   € Ü	�‰Üð5ô
ñ Cô 	�¨(¸6ÕB÷C÷ Cñ Cúrê   c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nzunknown encoding: UFT-8r7   zUFT-8ra  )r9   r<   ÚLookupErrorr   r\  s     rB   Útest_unknown_encodingrf    s6   € Ü	�‰”{Ð+DÔ	Fñ BÜ�¨'¸&ÕA÷B÷ Bñ Búrê   c                ó€   — t        j                  t        d¬«      5  t        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nz'ascii' codec can't decode byter7   Úasciira  rZ  r\  s     rB   Útest_ascii_encodingri  $  s7   € Ü	�‰Ô)Ð2SÔ	Uñ BÜ�¨'¸&ÕA÷B÷ Bñ Búrê   c                ó6  — t        j                  d«       t        | dd¬«      }t        | dd¬«      }t        | dddg d¢i¬«      }t        | dddg d¢i¬«      }t        j                  ||«       t        j                  ||«       t        j                  ||«       y )	Nr5   z
ISO-8859-1©rS   rW   rQ   z
iso-8859-1r|   )ÚrankÚmalenameÚ
femalename)rS   rW   ro   rp   )r]  Údf_xpath_lxmlÚdf_xpath_etreerv   rw   s        rB   Ú%test_parser_consistency_with_encodingrq  )  s˜   € Ü
×Ñ˜ÔÜ˜^°FÀ\ÔR€MÜ˜n°WÀ|ÔT€NäØØØØÒ<Ð=ô	€Lô ØØØØÒ<Ð=ô	€Mô ×Ñ˜-¨Ô8Ü×Ñ˜.¨-Ô8Ü×Ñ˜,¨Õ6rO   c                 óÀ   — t        j                  d«       d} t        j                  t        d¬«      5  t	        t        | «      dd ¬«       d d d «       y # 1 sw Y   y xY w)Nr5   ú-<data>
  <row>
    <a>c</a>
  </row>
</data>
zencoding Noner7   rk  )r9   r:   r<   r  r   r   )rY   s    rB   Útest_wrong_encoding_for_lxmlrt  @  sL   € Ü
×Ñ˜Ôð€Dô 
�‰”y¨Ô	8ñ ?Ü”˜$“¨¸Õ>÷?÷ ?ñ ?ús   ³AÁAc                 ó~   — d} t        t        | «      dd ¬«      }t        ddgi«      }t        j                  ||«       y )Nrs  rQ   rk  r¬   Úc)r   r   r   rq   rr   )rY   ÚresultÚexpecteds      rB   Útest_none_encoding_etreery  M  s=   € ð€Dô ”h˜t“n¨W¸tÔD€FÜ˜# ˜u˜Ó&€HÜ×Ñ˜& (Õ+rO   c                óz   — t        j                  t        d¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nz7lxml not found, please install or use the etree parser.r7   )r9   r<   ÚImportErrorr   râ   s    rB   Útest_default_parser_no_lxmlr|  ]  s3   € ä	�‰ÜÐUô
ñ ô 	�Ô÷÷ ñ ús   œ1±:c                ó~   — t        j                  t        d¬«      5  t        | d¬«       d d d «       y # 1 sw Y   y xY w)Nz,Values for parser can only be lxml or etree.r7   Úbs4rf   r
  râ   s    rB   Útest_wrong_parserr  e  s5   € Ü	�‰ÜÐIô
ñ *ô 	� 5Õ)÷*÷ *ñ *úr_  c                óÚ   — t        j                  d«       t        | dddi|¬«      }t        | dg d¢i¬«      }t        j                  t
        |«       t        j                  t
        |«       y )	Nr5   ú.//k:PlacemarkÚkr  ©rÈ   rõ   Ú
stylesheetÚ	Placemarkr*   r1  )r9   r:   r   rq   rr   Údf_kml)r  Úxsl_flatten_docÚdf_styler�   s       rB   Útest_stylesheet_filer‰  o  sj   € Ü
×Ñ˜ÔÜØØØÐ9Ð:Ø"ô	€Hô Øàò ð	
ô€Gô ×Ñœ& (Ô+Ü×Ñœ& 'Õ*rO   c                óØ   — t        j                  d«       t        |||dk(  rdnd ¬«      5 }t        | dddi|¬«      }d d d «       t	        j
                  t        «       y # 1 sw Y   Œ$xY w©	Nr5   rE   rU   rV   r�  r‚  r  rƒ  ©r9   r:   r�   r   rq   rr   r†  ©r  r‡  rM   r�   rˆ  s        rB   Útest_stylesheet_file_likerŽ  Š  ój   € Ü
×Ñ˜ÔÜ	ˆo˜t¸Àº©gÈ$Ô	Oð 
ÐSTÜØØ"ØÐ=Ð>Øô	
ˆ÷
ô ×Ñœ& (Õ+÷
ð 
úó   «A Á A)c                óH  — t        j                  d«       t        |||dk(  rdnd ¬«      5 }|dk(  rt        |j	                  «       «      }nt        |j	                  «       «      }d d d «       t        | dddi¬	«      }t        j                  t        |«       y # 1 sw Y   Œ5xY w)
Nr5   rE   rU   rV   rD   r�  r‚  r  rƒ  )
r9   r:   r�   r   r`   r   r   rq   rr   r†  )r  r‡  rM   r�   Úxsl_objrˆ  s         rB   Útest_stylesheet_ior“  —  s—   € ô ×Ñ˜Ôô 
ˆo˜t¸Àº©gÈ$Ô	Oð )ÐSTØ�4Š<Ü˜aŸf™f›hÓ'‰Gä˜qŸv™v›xÓ(ˆG÷	)ô ØØØÐ9Ð:Øô	€Hô ×Ñœ& (Õ+÷)ð )ús   «9BÂB!c                óØ   — t        j                  d«       t        |||dk(  rdnd ¬«      5 }t        | dddi|¬«      }d d d «       t	        j
                  t        «       y # 1 sw Y   Œ$xY wr‹  rŒ  r�  s        rB   Útest_stylesheet_buffered_readerr•  ­  r�  r�  c                 óÈ   — t        j                  d«       d} d}t        t        | «      «      }t        t        | «      t        |«      ¬«      }t	        j
                  ||«       y )Nr5   r¤   u­  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

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

 <xsl:template match="ä¸­æ–‡æ¨™ç±¤">
     <æ ¹>
       <xsl:apply-templates />
     </æ ¹>
 </xsl:template>

</xsl:stylesheet>©r„  )r9   r:   r   r   rq   rr   )rÜ   ÚxslÚdf_origrˆ  s       rB   Útest_style_charsetrš  º  sP   € Ü
×Ñ˜ÔØ
H€Cð€Cô& ”x “}Ó%€GÜœ ›´(¸3³-Ô@€Hä×Ñ˜' 8Õ,rO   c                ó´   — t        j                  d«      }t        j                  |j                  d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nr´   zdocument is not a stylesheetr7   r—  )r9   r:   r<   ÚXSLTParseErrorr   )r  rs   r·   s      rB   Útest_not_stylesheetr�  ×  sL   € Ü×$Ñ$ \Ó2€Jä	�‰Ø×!Ñ!Ð*Hô
ñ ;ô 	Ð#°	Õ:÷;÷ ;ñ ;ús   ·AÁAc                óÊ   — t        j                  d«      }d}t        j                  |j                  d¬«      5  t	        | t        |«      ¬«       d d d «       y # 1 sw Y   y xY w)Nr´   a‹  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                              xmlns:k="http://www.opengis.net/kml/2.2"/>
    <xsl:output method="xml" omit-xml-declaration="yes"
                cdata-section-elements="k:description" indent="yes"/>
    <xsl:strip-space elements="*"/>

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

    <xsl:template match="k:MultiGeometry|k:LineString">
        <xsl:apply-templates select='*'/>
    </xsl:template>

    <xsl:template match="k:description|k:Snippet|k:Style"/>
</xsl:stylesheet>z(Extra content at the end of the documentr7   r—  )r9   r:   r<   r¶   r   r   ©r  r·   r˜  s      rB   Útest_incorrect_xsl_syntaxr   à  sY   € Ü×$Ñ$ \Ó2€Jð€Cô( 
�‰Ø×!Ñ!Ð)Sô
ñ ?ô 	Ð#´¸³Õ>÷?÷ ?ñ ?úó   ¹AÁA"c                óÊ   — t        j                  d«      }d}t        j                  |j                  d¬«      5  t	        | t        |«      ¬«       d d d «       y # 1 sw Y   y xY w)Nr´   a‹  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                              xmlns:k="http://www.opengis.net/kml/2.2">
    <xsl:output method="xml" omit-xml-declaration="yes"
                cdata-section-elements="k:description" indent="yes"/>
    <xsl:strip-space elements="*"/>

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

    <xsl:template match="k:MultiGeometry|k:LineString">
        <xsl:apply-templates select='*'/>
    </xsl:template>

    <xsl:template match="k:description|k:Snippet|k:Style"/>
</xsl:stylesheet>zfailed to compiler7   r—  )r9   r:   r<   rœ  r   r   rŸ  s      rB   Útest_incorrect_xsl_evalr£  ý  sT   € Ü×$Ñ$ \Ó2€Jð€Cô( 
�‰�z×0Ñ0Ð8KÔ	Lñ ?ÜÐ#´¸³Õ>÷?÷ ?ñ ?úr¡  c                óÊ   — t        j                  d«      }d}t        j                  |j                  d¬«      5  t	        | t        |«      ¬«       d d d «       y # 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 URIr7   r—  )r9   r:   r<   ÚXSLTApplyErrorr   r   rŸ  s      rB   Útest_incorrect_xsl_applyr¦    sT   € Ü×$Ñ$ \Ó2€Jð
€Cô 
�‰�z×0Ñ0Ð8LÔ	Mñ ?ÜÐ#´¸³Õ>÷?÷ ?ñ ?úr¡  c                ó²   — t        j                  d«       |dz  }t        j                  t        d¬«      5  t	        | |¬«       d d d «       y # 1 sw Y   y xY w)Nr´   zflatten_doesnt_exist.xslrÀ   r7   r—  )r9   r:   r<   r=   r   )r  Úxml_data_pathr˜  s      rB   Útest_wrong_stylesheetr©  +  sO   € Ü
×Ñ˜Ô%à
Ð4Ñ
4€Cä	�‰ÜÐ!Iô
ñ 5ô 	Ð#°Õ4÷5÷ 5ñ 5ús   ¶AÁAc                ó*  — t        j                  d«       t        |||dk(  rdnd ¬«      5 }|dk(  rt        |j	                  «       «      }nt        |j	                  «       «      }t        | |¬«       |j                  rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr5   rE   rU   rV   rD   r—  )r9   r:   r�   r   r`   r   r   r°   )r  r‡  rM   r�   r’  s        rB   Útest_stylesheet_file_closer«  6  s€   € ô ×Ñ˜Ôô 
ˆo˜t¸Àº©gÈ$Ô	Oð ÐSTØ�4Š<Ü˜aŸf™f›hÓ'‰Gä˜qŸv™v›xÓ(ˆGäÐ#°Õ8à—8’8Ðˆ|�8÷÷ ñ ús   «AB	Â	Bc                óª   — t        j                  d«       t        j                  t        d¬«      5  t	        | d|¬«       d d d «       y # 1 sw Y   y xY w)Nr5   z*To use stylesheet, you need lxml installedr7   rQ   )rS   r„  rà   )r  r‡  s     rB   Útest_stylesheet_with_etreer­  G  sJ   € Ü
×Ñ˜ÔÜ	�‰ÜÐGô
ñ Qô 	Ð#¨GÀÕP÷Q÷ Qñ Qúrä   c                ó°   — t        j                  d«      }t        j                  |j                  «      5  t	        || ¬«       d d d «       y # 1 sw Y   y xY w)Nr´   r—  )r9   r:   r<   r¶   r   )r²   r  r·   s      rB   Útest_empty_stylesheetr¯  O  sD   € ä×$Ñ$ \Ó2€JÜ	�‰�z×0Ñ0Ó	1ñ 5ÜÐ#°Õ4÷5÷ 5ñ 5ús   µAÁAc           	     óŒ  — t        | ||dk(  rdnd ¬«      5 }|dk(  rE|dk(  r@t        j                  t        d¬«      5  t	        ||dg d¢i¬	«       d d d «       	 d d d «       y t	        ||dg d¢i¬	«      }	 d d d «       t        g d
¢g d¢g d¢g d¢g d¢dœ«      }t        j                  |«       y # 1 sw Y   Œ`xY w# 1 sw Y   ŒGxY w©NrE   rU   rV   r5   z.reading file objects must return bytes objectsr7   rg   rh   rn   r…   r‰   rŠ   r‹   r�   rŽ   )r�   r9   r<   r  r   r   rq   rr   )rs   rS   rM   r�   Údf_fileliker’   s         rB   Útest_file_like_iterparser³  W  sÙ   € Ü	ˆi˜°4¸3²;©ÀDÔ	Ið ÈQØ�3Š;˜6 VÒ+Ü—‘ÜÐ"Rôñ 	ô ØØ!àÒ Pðõ÷	ð ÷ð ô #ØØØ!Ò#SÐTô‰K÷ô( â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜+ {Õ3÷9	ð 	ú÷ð ús(   –&B:¼B.Á	B:Á!B:Â.B7	Â3B:Â:Cc           
     ó  — |dk(  rt         nt        }t        | ||dk(  rdnd ¬«      5 } ||j                  «       «      5 }|dk(  rM|dk(  rHt	        j
                  t        d¬«      5  t        ||dg d¢i¬	«       d d d «       	 d d d «       d d d «       y t        ||dg d¢i¬	«      }	 d d d «       d d d «       t        g d
¢g d¢g d¢g d¢g d¢dœ«      }t        j                  |«       y # 1 sw Y   ŒpxY w# 1 sw Y   ŒOxY w# 1 sw Y   ŒSxY wr±  )r   r   r�   r`   r9   r<   r  r   r   rq   rr   )rs   rS   rM   ÚfuncIOr�   ÚbÚ	df_fileior’   s           rB   Útest_file_io_iterparser¸  y  s  € Ø š�X¬'€FÜ	ØØØ  CšK‘¨Tô
ð ð 
Ù�A—F‘F“HÓð 	 Ø�sŠ{˜v¨Ò/Ü—]‘]ÜÐ&Vôñ 	ô ØØ%à"Ò$Tð#õ÷	ð ÷	÷ð ô& %ØØ!àÒ Pðô‘	÷	÷ô6 â6ÚIÚLÚ&Ú*ñ	
ó€Kô ×Ñ˜) [Õ1÷=	ð 	ú÷	ð 	ú÷ð úsF   §C>¾&C2Á$C&Á7	C2Â C>ÂC2Â$C>Ã&C/Ã+C2Ã2C;	Ã7C>Ã>Dc           	     ó   — t        |d¬«      5 }|j                  |j                  «       ¬«       t        j                  t
        d¬«      5  t        |j                  | dg d¢i¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)	NrU   rV   rz   ú)iterparse is designed for large XML filesr7   r|   ©r   r   r    Údatern   )r�   r}   r`   r9   r<   r   r   rÉ   )rS   r   rÊ   r�   s       rB   Útest_url_path_errorr½  £  s…   € ô 
ˆh Ô	)ð 	¨QØ× Ñ ¨¯©«Ð Ô2Ü�]‰]ÜÐ Kô
ñ 	ô Ø—‘ØØ Ò"GÐHõ÷	÷	ð 	÷	ð 	ú÷	ð 	ús#   Ž<BÁ
A8Á'BÁ8B	Á=BÂBc                óÄ   — |dz  }t         j                  || |¬«       t        j                  t        d¬«      5  t        || dg d¢i|¬«       d d d «       y # 1 sw Y   y xY w)Nzgeom_xml.zip©rS   r^   rº  r7   r|   r»  ©rS   ro   r^   )Úgeom_dfÚto_xmlr9   r<   r   r   )rS   rb   Útmp_pathrÂ   s       rB   Útest_compression_errorrÄ  ²  sb   € Ø�nÑ$€DÜ‡N�N�4 Ð4D€NÔEä	�‰ÜÐGô
ñ 
ô 	ØØØÒCÐDØ(õ		
÷
÷ 
ñ 
ús   ¹AÁAc                ó„   — t        j                  t        d¬«      5  t        | |g d¢¬«       d d d «       y # 1 sw Y   y xY w)Nz&list is not a valid type for iterparser7   rh   rn   rW  r  s     rB   Útest_wrong_dict_typerÆ  Á  s7   € Ü	�‰”yÐ(PÔ	Qñ 
ÜØØÚFõ	
÷
÷ 
ñ 
úrU  c                ó„   — t        j                  t        d¬«      5  t        | |ddi¬«       d d d «       y # 1 sw Y   y xY w)Nz8<class 'str'> is not a valid type for value in iterparser7   rg   ri   rn   rW  r  s     rB   Útest_wrong_dict_valuerÈ  Ê  s@   € Ü	�‰ÜÐSô
ñ Kô 	� 6°f¸jÐ5IÕJ÷K÷ Kñ KúrU  c           	     ó¶   — d}|j                  |d¬«       t        j                  t        d¬«      5  t	        || dgdg d¢i¬	«       d d d «       y # 1 sw Y   y xY w)
Na‘  <?xml version='1.0' encoding='utf-8'?>
  <row>
    <shape>square</shape>
    <degrees>00360</degrees>
    <sides>4.0</sides>
    <date>2020-01-01</date>
   </row>
  <row>
    <shape>circle</shape>
    <degrees>00360</degrees>
    <sides/>
    <date>2021-01-01</date>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>00180</degrees>
    <sides>3.0</sides>
    <date>2022-01-01</date>
  </row>
rU   rV   zDExtra content at the end of the document|junk after document elementr7   r¼  r|   r»  )rS   Úparse_datesro   )rX   r9   r<   rè   r   )rS   rÛ   Úbad_xmls      rB   Útest_bad_xmlrÌ  Ñ  sc   € ð€Gð* ×Ñ˜¨7ÐÔ3ä	�‰ÜØTô
ñ 	
ô 	ØØØ˜ØÒCÐDõ		
÷		
÷ 	
ñ 	
ús   ±AÁAc                óØ   — d}t        t        |«      d| ¬«      }t        ||| dddgi¬«      }t        dd	gd
dgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Na-  <!-- comment before root -->
<shapes>
  <!-- comment within root -->
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
    <!-- comment within child -->
  </shape>
  <!-- comment within root -->
</shapes>
<!-- comment after root -->r?  rÏ   r   r,   rC  rn   r   rG  rE  rF  ©r,   rC  rÙ   rÚ   s         rB   Útest_commentrÏ  õ  s|   € ð€Cô" œ ›¨ZÀÔG€Hä ØˆY˜v°'¸FÀFÐ;KÐ1Lô€Gô à˜xÐ(Ø˜4�Lñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rO   c                óØ   — d}t        t        |«      d| ¬«      }t        ||| dddgi¬«      }t        dd	gd
dgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Na8  <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE non-profits [
    <!ELEMENT shapes (shape*) >
    <!ELEMENT shape ( name, type )>
    <!ELEMENT name (#PCDATA)>
]>
<shapes>
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
  </shape>
</shapes>r?  rÏ   r   r,   rC  rn   r   rG  rE  rF  rÎ  rÙ   rÚ   s         rB   Útest_dtdrÑ    ó|   € ð€Cô$ œ ›¨ZÀÔG€Hä ØˆY˜v°'¸FÀFÐ;KÐ1Lô€Gô à˜xÐ(Ø˜4�Lñ	
ó€Kô ×Ñ˜( KÔ0Ü×Ñ˜' ;Õ/rO   c                óØ   — d}t        t        |«      d| ¬«      }t        ||| dddgi¬«      }t        dd	gd
dgdœ«      }t	        j
                  ||«       t	        j
                  ||«       y )Nam  <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<?display table-view?>
<?sort alpha-ascending?>
<?textinfo whitespace is allowed ?>
<?elementnames <shape>, <name>, <type> ?>
<shapes>
  <shape>
    <name>circle</name>
    <type>2D</type>
  </shape>
  <shape>
    <name>sphere</name>
    <type>3D</type>
  </shape>
</shapes>r?  rÏ   r   r,   rC  rn   r   rG  rE  rF  rÎ  rÙ   rÚ   s         rB   Útest_processing_instructionrÔ  <  rÒ  rO   c                óˆ   — t        j                  t        d¬«      5  t        | |dg d¢i¬«       d d d «       y # 1 sw Y   y xY w)Nz+No result from selected items in iterparse.r7   Únode©Úattr1Úelem1Úelem2Úelem3rn   )r9   r<   r   r   r  s     rB   Útest_no_resultrÜ  `  sB   € Ü	�‰ÜÐHô
ñ 
ô 	ØØØÒCÐDõ	
÷
÷ 
ñ 
úó	   œ8¸Ac                óˆ   — t        j                  t        d¬«      5  t        | |dg d¢i¬«       d d d «       y # 1 sw Y   y xY w)NzNo columns to parse from filer7   rg   r×  rn   )r9   r<   r   r   r  s     rB   Útest_empty_datarß  k  s=   € Ü	�‰”~Ð-LÔ	Mñ 
ÜØØØÒCÐDõ	
÷
÷ 
ñ 
úrÝ  c            	     óÜ   — t        j                  d«       d} d}t        t        | «      dddgt        |«      ¬«      }t	        dd	d
dddœddddddœdœ«      }t        j                  ||«       y )Nr5   a  <?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
  <cd>
    <title>Hide your heart</title>
    <artist>Bonnie Tyler</artist>
    <country>UK</country>
    <company>CBS Records</company>
    <price>9.90</price>
    <year>1988</year>
  </cd>
  <cd>
    <title>Greatest Hits</title>
    <artist>Dolly Parton</artist>
    <country>USA</country>
    <company>RCA</company>
    <price>9.90</price>
    <year>1982</year>
  </cd>
  <cd>
    <title>Still got the blues</title>
    <artist>Gary Moore</artist>
    <country>UK</country>
    <company>Virgin records</company>
    <price>10.20</price>
    <year>1990</year>
  </cd>
  <cd>
    <title>Eros</title>
    <artist>Eros Ramazzotti</artist>
    <country>EU</country>
    <company>BMG</company>
    <price>9.90</price>
    <year>1997</year>
  </cd>
  <cd>
    <title>One night only</title>
    <artist>Bee Gees</artist>
    <country>UK</country>
    <company>Polydor</company>
    <price>10.90</price>
    <year>1998</year>
  </cd>
  <cd>
    <title>Sylvias Mother</title>
    <artist>Dr.Hook</artist>
    <country>UK</country>
    <company>CBS</company>
    <price>8.10</price>
    <year>1973</year>
  </cd>
  <cd>
    <title>Maggie May</title>
    <artist>Rod Stewart</artist>
    <country>UK</country>
    <company>Pickwick</company>
    <price>8.50</price>
    <year>1990</year>
  </cd>
  <cd>
    <title>Romanza</title>
    <artist>Andrea Bocelli</artist>
    <country>EU</country>
    <company>Polydor</company>
    <price>10.80</price>
    <year>1996</year>
  </cd>
  <cd>
    <title>When a man loves a woman</title>
    <artist>Percy Sledge</artist>
    <country>USA</country>
    <company>Atlantic</company>
    <price>8.70</price>
    <year>1987</year>
  </cd>
  <cd>
    <title>Black angel</title>
    <artist>Savage Rose</artist>
    <country>EU</country>
    <company>Mega</company>
    <price>10.90</price>
    <year>1995</year>
  </cd>
  <cd>
    <title>1999 Grammy Nominees</title>
    <artist>Many</artist>
    <country>USA</country>
    <company>Grammy</company>
    <price>10.20</price>
    <year>1999</year>
  </cd>
  <cd>
    <title>For the good times</title>
    <artist>Kenny Rogers</artist>
    <country>UK</country>
    <company>Mucik Master</company>
    <price>8.70</price>
    <year>1995</year>
  </cd>
  <cd>
    <title>Big Willie style</title>
    <artist>Will Smith</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>9.90</price>
    <year>1997</year>
  </cd>
  <cd>
    <title>Tupelo Honey</title>
    <artist>Van Morrison</artist>
    <country>UK</country>
    <company>Polydor</company>
    <price>8.20</price>
    <year>1971</year>
  </cd>
  <cd>
    <title>Soulsville</title>
    <artist>Jorn Hoel</artist>
    <country>Norway</country>
    <company>WEA</company>
    <price>7.90</price>
    <year>1996</year>
  </cd>
  <cd>
    <title>The very best of</title>
    <artist>Cat Stevens</artist>
    <country>UK</country>
    <company>Island</company>
    <price>8.90</price>
    <year>1990</year>
  </cd>
  <cd>
    <title>Stop</title>
    <artist>Sam Brown</artist>
    <country>UK</country>
    <company>A and M</company>
    <price>8.90</price>
    <year>1988</year>
  </cd>
  <cd>
    <title>Bridge of Spies</title>
    <artist>T`Pau</artist>
    <country>UK</country>
    <company>Siren</company>
    <price>7.90</price>
    <year>1987</year>
  </cd>
  <cd>
    <title>Private Dancer</title>
    <artist>Tina Turner</artist>
    <country>UK</country>
    <company>Capitol</company>
    <price>8.90</price>
    <year>1983</year>
  </cd>
  <cd>
    <title>Midt om natten</title>
    <artist>Kim Larsen</artist>
    <country>EU</country>
    <company>Medley</company>
    <price>7.80</price>
    <year>1983</year>
  </cd>
  <cd>
    <title>Pavarotti Gala Concert</title>
    <artist>Luciano Pavarotti</artist>
    <country>UK</country>
    <company>DECCA</company>
    <price>9.90</price>
    <year>1991</year>
  </cd>
  <cd>
    <title>The dock of the bay</title>
    <artist>Otis Redding</artist>
    <country>USA</country>
    <COMPANY>Stax Records</COMPANY>
    <PRICE>7.90</PRICE>
    <YEAR>1968</YEAR>
  </cd>
  <cd>
    <title>Picture book</title>
    <artist>Simply Red</artist>
    <country>EU</country>
    <company>Elektra</company>
    <price>7.20</price>
    <year>1985</year>
  </cd>
  <cd>
    <title>Red</title>
    <artist>The Communards</artist>
    <country>UK</country>
    <company>London</company>
    <price>7.80</price>
    <year>1987</year>
  </cd>
  <cd>
    <title>Unchain my heart</title>
    <artist>Joe Cocker</artist>
    <country>USA</country>
    <company>EMI</company>
    <price>8.20</price>
    <year>1987</year>
  </cd>
</catalog>
a7  <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
  <h2>My CD Collection</h2>
  <table border="1">
    <tr bgcolor="#9acd32">
      <th style="text-align:left">Title</th>
      <th style="text-align:left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
  </table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
z.//tr[td and position() <= 6]rj   Úartist)rÈ   r<  r„  zEmpire BurlesquezHide your heartzGreatest HitszStill got the bluesÚErosr&   z	Bob DylanzBonnie TylerzDolly Partonz
Gary MoorezEros Ramazzotti)rj   rá  )r9   r:   r   r   r   rq   rr   )rÜ   r˜  Údf_xslr’   s       rB   Útest_online_stylesheeträ  t  s”   € Ü
×Ñ˜ÔðT€Cðj€Cô2 Ü�‹Ø-Ø˜Ð!Ü˜C“=ô	€Fô ð &Ø$Ø"Ø(Øñð Ø!Ø!ØØ$ññ	
ó€Kô& ×Ñ˜+ vÕ.rO   c           	     óî   — |dz  }t         j                  |d| |¬«       t        || |¬«      }t        |||| dg d¢i|¬«      }t	        j
                  |t         «       t	        j
                  |t         «       y )Nztest.xmlF)r3   rS   r^   r¿  r|   r   rÀ  )rÁ  rÂ  r   rd   rq   rr   )rS   rb   rÃ  rÛ   ra   r€   r�   s          rB   Útest_compression_readræ  „  st   € Ø˜:Ñ%€IÜ‡N�N�9 E°&ÐFV€NÔWä˜	¨&Ð>NÔO€Hä%ØØØØØÒ7Ð8Ø$ô€Gô ×Ñ˜(¤GÔ,Ü×Ñ˜'¤7Õ+rO   c                ó°  — |}|}||k(  rt        j                  |› d|› �«       t        dft        dft        dft        dfdœ}t        dd¬	«      }|�|j                  d
f|d<   t        dd¬	«      }|�t        df|d<   ||   \  }	}
t        j                  || |¬«       t        j                  |	|
¬«      5  t        || |¬«       d d d «       y # 1 sw Y   y xY w)Nz == zInvalid data streamzNot a gzipped filezFile is not a zip filez%file could not be opened successfully)Úbz2ÚgzipÚzipÚtarÚ	zstandardÚignore)ÚerrorszUnknown frame descriptorÚzstdÚlzmaz%Input format not supported by decoderÚxzr¿  r7   )r9   Úskipr>   r
   r   r   Ú	ZstdErrorr   rÁ  rÂ  r<   r   )rS   r^   rb   rÛ   Úactual_compressionÚattempted_compressionrî  rï  rð  Ú	error_clsÚ	error_strs              rB   Útest_wrong_compressionrø  —  sþ   € Ø$ÐØ,ÐàÐ2Ò2Ü�‰Ð)Ð*¨$Ð/DÐ.EÐFÔGô Ð.Ð/ÜÐ.Ð/ÜÐ4Ð5ÜÐBÐCñ	€Fô & k¸(ÔC€DØÐØŸ.™.Ð*DÐEˆˆv‰Ü% f°XÔ>€DØÐÜ!Ð#JÐKˆˆt‰Ø!Ð"7Ñ8Ñ€Iˆyä‡N�N�9 VÐ9K€NÔLä	�‰�y¨	Ô	2ñ NÜ� 6Ð7LÕM÷N÷ Nñ Nús   Â4CÃCc                ó€   — t        j                  t        d¬«      5  t        || d¬«       d d d «       y # 1 sw Y   y xY w)NzUnrecognized compression typer7   Ú7zr¿  r
  )rS   rÛ   s     rB   Útest_unsupported_compressionrû  ²  s2   € Ü	�‰”zÐ)HÔ	Iñ =Ü� 6°tÕ<÷=÷ =ñ =úrê   c                óÜ   — t        j                  d«       t        j                  d«       d| j                  › d�}t        |d|¬«      }t        |d|¬«      }t	        j
                  ||«       y )NÚs3fsr5   zs3://z
/books.xml)rS   Ústorage_optionsrQ   )r9   r:   r,   r   rq   rr   )Ús3_bucket_public_with_dataÚs3soÚs3r  r  s        rB   Útest_s3_parser_consistencyr  º  sb   € ô ×Ñ˜ÔÜ
×Ñ˜ÔØÐ+×0Ñ0Ð1°Ð	<€BÜ�r &¸$Ô?€Gä˜ 7¸DÔA€Hä×Ñ˜' 8Õ,rO   c                óž  — d}t        j                  d|«      5  t        t        |«      | |¬«      }d d d «       |dk(  r9t	        j
                  d«      }t        j                  |j                  «       «      }nt        j                  |«      }t        t        ddg|¬«      t        dd	gd
¬«      t        ddgd¬«      t        dd g|¬«      t        d	t        gd
¬«      t        dt        gd¬«      t        t        t        gd
¬«      t        ddgd¬«      t        dt        gd¬«      dœ	«      }|dk(  rut	        j
                  d«      }ddlm}	 t        |j                  D �
ci c]  }
|
 |	|j                  ||
   d¬«      «      “Œ! c}
«      } |	|j                  d d g«      «      |d<   t!        j"                  |d¬«       y # 1 sw Y   �ŒŽxY wc c}
w )Na;  <?xml version='1.0' encoding='utf-8'?>
<data xmlns="http://example.com">
<row>
  <a>x</a>
  <b>1</b>
  <c>4.0</c>
  <d>x</d>
  <e>2</e>
  <f>4.0</f>
  <g></g>
  <h>True</h>
  <i>False</i>
</row>
<row>
  <a>y</a>
  <b>2</b>
  <c>5.0</c>
  <d></d>
  <e></e>
  <f></f>
  <g></g>
  <h>False</h>
  <i></i>
</row>
</data>zmode.string_storage)rS   Údtype_backendÚpyarrowÚxÚyrØ   r'   r(   ÚInt64rö   g      @ÚFloat64TFÚboolean)	r¬   r¶  rv  ÚdÚer�   ÚgÚhÚir   )ÚArrowExtensionArray)Úfrom_pandasr  )Úcheck_column_type)ÚpdÚoption_contextr   r   r9   r:   Ú
ArrowDtyperÕ   ÚStringDtyper   r   r   Úpandas.arraysr  ÚcolumnsÚarrayrq   rr   )rS   Ústring_storager  Úusing_infer_stringrY   rw  ÚpaÚstring_dtyperx  r  Úcols              rB   Útest_read_xml_nullable_dtypesr  Ç  s§  € ð€Dô4 
×	Ñ	Ð0°.Ó	Añ VÜœ( 4›.°À}ÔUˆ÷Vð ˜	Ò!Ü× Ñ  Ó+ˆÜ—}‘} R§Y¡Y£[Ó1‰ä—~‘~ nÓ5ˆää˜˜c˜
¨,Ô7Ü˜˜A˜ gÔ.Ü˜˜c˜
¨)Ô4Ü˜˜d˜¨<Ô8Ü˜œB˜ wÔ/Ü˜œb˜	¨Ô3ÜœœR˜¨Ô0Ü˜˜u˜¨YÔ7Ü˜¤˜¨9Ô5ñ
	
ó€Hð ˜	Ò!Ü× Ñ  Ó+ˆÝ5äð $×+Ñ+öàð Ñ(¨¯©°(¸3±-ÈT¨Ó)RÓSÑSòó
ˆñ ,¨B¯H©H°d¸D°\Ó,BÓCˆ�‰ô ×Ñ˜& (¸eÖD÷KVñ Vüò8s   ™F=Å$G
Æ=Gc                 ó‚   — d} t        j                  t        | ¬«      5  t        dd¬«       d d d «       y # 1 sw Y   y xY w)NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r7   ÚtestÚnumpy)r  r
  r@   s    rB   Útest_invalid_dtype_backendr#    s;   € ð	!ð ô 
�‰”z¨Ô	-ñ 0Ü� wÕ/÷0÷ 0ñ 0ús   ž5µ>)ŽÚ
__future__r   Úior   r   rð  r   rÁ   Útarfiler   Úurllib.errorr   Úxml.etree.ElementTreer	   Úzipfiler
   r"  Únpr9   Úpandas.compatr   Úpandas.compat._optionalr   Úpandas.errorsr   r   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr  r   r   r   Úpandas._testingÚ_testingrq   Úpandas.io.commonr   Úpandas.io.xmlr   r÷   rÁ  r?   r   r§   r†  rC   ÚfixturerM   rJ   Ú
skip_if_norS   r\   rd   rx   ÚmarkÚnetworkÚ
single_cpur‚   r“   r™   rŸ   r¢   r©   r®   r±   Úparametrizer¸   rº   ÚskipifrÄ   rÌ   rÓ   rÝ   rã   ré   rî   rü   r  r  r  r  r  r  r  r  r  r!  r#  r)  r,  r4  r=  rI  rO  rR  rT  rX  r^  rc  rf  ri  rq  rt  ry  Úskip_if_installedr|  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ø  rû  r  r  r#  © rO   rB   ú<module>r@     sù  ðÝ "÷õ Û 	Ý Ý "Ý ,Ý ã Û å Ý >÷÷ *Ð )ã ÷ñ õ
 å 'Ý "ñl â1Ú"Ø�R—V‘V˜Q�ñó€ðÐ ð(€ñ* 
ð ØØØØñ
ð )Ø!Ø!Ø!Ø!ñ
ð ØØØØñ
ð ˜Q 1¨¨qÑ1à Ø Ø Ø Ø ñ
ð9ð9ð9ð&9ð$9ñuI
ñ=hñR �‹(ôUk
€ò\#ð €‡�˜˜c�{Ô#ñó $ðð €‡�˜˜Ÿ™ V°=°2·=±=ÀÓ3HÔIÈ7ÐSÔTñó Uðò)ò
-ò7ð* ‡�×ÑØ‡�×Ññ
-ó ó ð
-ò0ò".ò,/ò0/ò2/ò0ò>ð ‡�×Ñ˜  S 	Ó*ñ&ó +ð&ð$ ‡�×Ñ˜  S 	Ó*ñ'ó +ð'ð ‡�×Ñ�DÐ!EÐÓFñ*ó Gð*ð ‡�×ÑØ‡�×Ññ/ó ó ð/ð& ‡�×ÑØ‡�×Ññ	ó ó ð	ò/0òj>ò?ò>ò0ò60ò4-ò&-ò,Aò
Oò
Nð ‡�×Ñ˜  T 
Ó+ñ

ó ,ð

ò 0ò*0ò0ò(VòOò0Oò!2òN0ò2$0òN(0òV/0òdKò
Eò0ò
CòBò
Bò
7ò.
?ò
,ð  €×Ñ�fÓñó ðò*ò+ò6
,ò,ò,
,ò-ò:;ò?ò:?ò6?ò&5òò"Qð ‡�×Ñ˜¡¨"£©w°s«|Ð <Ó=ñ5ó >ð5ò4òD'2ðT ‡�×ÑØ‡�×Ññ
ó ó ð
ò
ò
òKò!
òH 0òF!0òH!0òH
ò
òJ/ò`,ò&Nò6=ð ‡�×ÑØ‡�×Ññ-ó ó ð-òCEóL0rO   