§
    (¶Õiu-  ã                   óÊ   — d dl Zd dlZdZdZdZdZdZdZdZ	d	Z
 G d
„ dej        j        ¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ de¦  «        ZdZdd„Zdd„ZdS )é    NÚSTART_ELEMENTÚEND_ELEMENTÚCOMMENTÚSTART_DOCUMENTÚEND_DOCUMENTÚPROCESSING_INSTRUCTIONÚIGNORABLE_WHITESPACEÚ
CHARACTERSc                   ó~   — e Zd ZdZdZdd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚPullDOMNc                 ó  — ddl m} || _        d d g| _        | j        | _        g | _        | j        j        | _        	 | j        j        | _        n# t          $ r Y nw xY w|dig| _
        | j
        d         | _        g | _        d S )Nr   )ÚXML_NAMESPACEÚxmléÿÿÿÿ)Úxml.domr   ÚdocumentFactoryÚ
firstEventÚ	lastEventÚelementStackÚappendÚpushÚpopÚAttributeErrorÚ_ns_contextsÚ_current_contextÚpending_events)Úselfr   r   s      ú&/usr/lib/python3.11/xml/dom/pulldom.pyÚ__init__zPullDOM.__init__   s©   € Ø)Ð)Ð)Ð)Ð)Ð)Ø.ˆÔØ ˜,ˆŒØœˆŒØˆÔØÔ%Ô,ˆŒ	ð	ØÔ(Ô,ˆDŒHˆHøÝð 	ð 	ð 	àˆDð	øøøð ,¨EÐ2Ð3ˆÔØ $Ô 1°"Ô 5ˆÔØ ˆÔÐÐs   ¼A Á
AÁAc                 ó0   — | j         d         }| j         d= |S ©Nr   )r   )r   Úresults     r   r   zPullDOM.pop!   s   € ØÔ" 2Ô&ˆØÔ˜bÐ!Øˆó    c                 ó   — || _         d S ©N)Ú_locator)r   Úlocators     r   ÚsetDocumentLocatorzPullDOM.setDocumentLocator&   s   € ØˆŒˆˆr#   c                 óê   — t          | d¦  «        sg | _        | j                             |pd|f¦  «         | j                             | j                             ¦   «         ¦  «         |pd | j        |<   d S )NÚ_xmlns_attrsÚxmlns)Úhasattrr*   r   r   r   Úcopy)r   ÚprefixÚuris      r   ÚstartPrefixMappingzPullDOM.startPrefixMapping)   sz   € Ý�t˜^Ñ,Ô,ð 	#Ø "ˆDÔØÔ× Ò  &Ð"3¨G°SÐ!9Ñ:Ô:Ð:ØÔ× Ò  Ô!6×!;Ò!;Ñ!=Ô!=Ñ>Ô>Ð>Ø%+ ^¨tˆÔ˜cÑ"Ð"Ð"r#   c                 óB   — | j                              ¦   «         | _        d S r%   )r   r   r   )r   r.   s     r   ÚendPrefixMappingzPullDOM.endPrefixMapping0   s   € Ø $Ô 1× 5Ò 5Ñ 7Ô 7ˆÔÐÐr#   c                 óÒ  — d}t          | dd ¦  «        }|�|D ]\  }}||j        ||f<   Œg | _        |\  }}	|rV|€| j        |         }
|
r	|
dz   |	z   }n|	}| j        r| j                             ||¦  «        }nO|                      ||¦  «        }n8| j        r| j                             |	¦  «        }n|                      d |	¦  «        }|                     ¦   «         D ]Ò\  }}|\  }}||k    r?|dk    r|}nd|z   }| j         	                    ||¦  «        }| 
                    |¦  «         n||rK| j        |         }
|
r	|
dz   |z   }n|}| j         	                    ||¦  «        }| 
                    |¦  «         n/| j                             |¦  «        }|                     |¦  «         ||_        ŒÓt          |fd g| j        d<   | j        d         | _        |                      |¦  «         d S )Nzhttp://www.w3.org/2000/xmlns/r*   ú:r+   zxmlns:é   )ÚgetattrÚ_attrsr*   r   ÚdocumentÚcreateElementNSÚbuildDocumentÚcreateElementÚitemsÚcreateAttributeNSÚsetAttributeNodeNSÚcreateAttributeÚsetAttributeNodeÚvaluer   r   r   )r   ÚnameÚtagNameÚattrsÚ	xmlns_uriÚxmlns_attrsÚanamerA   r/   Ú	localnamer.   ÚnodeÚa_uriÚa_localnameÚqnameÚattrs                   r   ÚstartElementNSzPullDOM.startElementNS3   sD  € à3ˆ	Ý˜d N°DÑ9Ô9ˆØÐ"Ø +ð 9ð 9‘��uØ38�”˜i¨Ð/Ñ0Ð0Ø "ˆDÔØ‰ˆˆYØð 	;ð ˆØÔ.¨sÔ3�Øð (Ø$ s™l¨YÑ6�G�Gà'�GØŒ}ð 8Ø”}×4Ò4°S¸'ÑBÔB��à×)Ò)¨#¨wÑ7Ô7��ð Œ}ð ;Ø”}×2Ò2°9Ñ=Ô=��à×)Ò)¨$°	Ñ:Ô:�à Ÿ;š;™=œ=ð 	ð 	‰KˆE�%Ø!&ÑˆE�;Ø˜	Ò!Ð!Ø 'Ò)Ð)Ø'�E�Eà$ {Ñ2�EØ”}×6Ò6°u¸eÑDÔD�Ø×'Ò'¨Ñ-Ô-Ð-Ð-Øð 
,ØÔ.¨uÔ5�Øð (Ø" S™L¨;Ñ6�E�Eà'�EØ”}×6Ò6°u¸eÑDÔD�Ø×'Ò'¨Ñ-Ô-Ð-Ð-à”}×4Ò4°[ÑAÔA�Ø×%Ò% dÑ+Ô+Ð+ØˆDŒJˆJå+¨TÐ2°DÐ9ˆŒ�qÑØœ¨Ô*ˆŒØ�	Š	�$‰Œˆˆˆr#   c                 ót   — t           |                      ¦   «         fd g| j        d<   | j        d         | _        d S ©Nr5   ©r   r   r   )r   rB   rC   s      r   ÚendElementNSzPullDOM.endElementNSl   ó2   € Ý)¨4¯8ª8©:¬:Ð6¸Ð=ˆŒ�qÑØœ¨Ô*ˆŒˆˆr#   c                 óŠ  — | j         r| j                              |¦  «        }n|                      d |¦  «        }|                     ¦   «         D ];\  }}| j                              |¦  «        }||_        |                     |¦  «         Œ<t          |fd g| j        d<   | j        d         | _        |  	                    |¦  «         d S rP   )
r8   r;   r:   r<   r?   rA   r@   r   r   r   )r   rB   rD   rI   rG   rA   rM   s          r   ÚstartElementzPullDOM.startElementp   s½   € ØŒ=ð 	2Ø”=×.Ò.¨tÑ4Ô4ˆDˆDà×%Ò% d¨DÑ1Ô1ˆDà Ÿ;š;™=œ=ð 	(ð 	(‰KˆE�%Ø”=×0Ò0°Ñ7Ô7ˆDØˆDŒJØ×!Ò! $Ñ'Ô'Ð'Ð'å+¨TÐ2°DÐ9ˆŒ�qÑØœ¨Ô*ˆŒØ�	Š	�$‰Œˆˆˆr#   c                 ót   — t           |                      ¦   «         fd g| j        d<   | j        d         | _        d S rP   rQ   )r   rB   s     r   Ú
endElementzPullDOM.endElement   rS   r#   c                 óà   — | j         rA| j                              |¦  «        }t          |fd g| j        d<   | j        d         | _        d S t          |fd g}| j                             |¦  «         d S rP   )r8   ÚcreateCommentr   r   r   r   )r   ÚsrI   Úevents       r   ÚcommentzPullDOM.commentƒ   ss   € ØŒ=ð 	.Ø”=×.Ò.¨qÑ1Ô1ˆDÝ")¨4 °$Ð 7ˆDŒN˜1ÑØ!œ^¨AÔ.ˆDŒNˆNˆNå˜q�\ 4Ð(ˆEØÔ×&Ò& uÑ-Ô-Ð-Ð-Ð-r#   c                 óä   — | j         rB| j                              ||¦  «        }t          |fd g| j        d<   | j        d         | _        d S t          ||fd g}| j                             |¦  «         d S rP   )r8   ÚcreateProcessingInstructionr   r   r   r   )r   ÚtargetÚdatarI   r[   s        r   ÚprocessingInstructionzPullDOM.processingInstructionŒ   sy   € ØŒ=ð 	.Ø”=×<Ò<¸VÀTÑJÔJˆDÝ"8¸$Ð!?ÀÐ FˆDŒN˜1ÑØ!œ^¨AÔ.ˆDŒNˆNˆNå,¨f°dÐ;¸TÐBˆEØÔ×&Ò& uÑ-Ô-Ð-Ð-Ð-r#   c                 ó„   — | j                              |¦  «        }t          |fd g| j        d<   | j        d         | _        d S rP   )r8   ÚcreateTextNoder	   r   ©r   ÚcharsrI   s      r   ÚignorableWhitespacezPullDOM.ignorableWhitespace•   s?   € ØŒ}×+Ò+¨EÑ2Ô2ˆÝ2°DÐ9¸4Ð@ˆŒ�qÑØœ¨Ô*ˆŒˆˆr#   c                 ó„   — | j                              |¦  «        }t          |fd g| j        d<   | j        d         | _        d S rP   )r8   rc   r
   r   rd   s      r   Ú
characterszPullDOM.charactersš   s?   € ØŒ}×+Ò+¨EÑ2Ô2ˆÝ(¨$Ð/°Ð6ˆŒ�qÑØœ¨Ô*ˆŒˆˆr#   c                 óV   — | j         €!dd l}|j        j        j        j        | _         d S d S )Nr   )r   Úxml.dom.minidomÚdomÚminidomÚDocumentÚimplementation)r   r   s     r   ÚstartDocumentzPullDOM.startDocumentŸ   s7   € ØÔÐ'Ø"Ð"Ð"Ð"Ø#&¤7¤?Ô#;Ô#JˆDÔ Ð Ð ð (Ð'r#   c                 óp  — | j                              ||d ¦  «        }|| _        t          |fd g| j        d<   | j        d         | _        |                      |¦  «         | j        D ]Ä}|d         d         t          k    r4|d         \  }}}| j                             ||¦  «        }t          |f|d<   nf|d         d         t          k    r3| j         
                    |d         d         ¦  «        }t          |f|d<   nt          d|d         d         ¦  «        ‚|| j        d<   || _        ŒÅd | _        |j        S )Nr5   r   zUnknown pending event )r   ÚcreateDocumentr8   r   r   r   r   r   r^   r   rY   ÚAssertionErrorÚ
firstChild)	r   r/   ÚtagnamerI   ÚeÚ_r_   r`   Úns	            r   r:   zPullDOM.buildDocument¤   s1  € ð Ô#×2Ò2°3¸ÀÑFÔFˆØˆŒÝ,¨dÐ3°TÐ:ˆŒ�qÑØœ¨Ô*ˆŒØ�	Š	�$‰ŒˆàÔ$ð 	ð 	ˆAØ�Œt�AŒwÕ0Ò0Ð0Ø ! !¤‘��&˜Ø”M×=Ò=¸fÀdÑKÔK�Ý.°Ð2��!‘�Ø�1”�a”�GÒ#Ð#Ø”M×/Ò/°°!´°Q´Ñ8Ô8�Ý �|��!‘�å$Ð%=¸aÀ¼dÀ1¼gÑFÔFÐFØ !ˆDŒN˜1ÑØˆDŒNˆNØ"ˆÔØŒÐr#   c                 ó^   — t           | j        fd g| j        d<   |                      ¦   «          d S rP   )r   r8   r   r   ©r   s    r   ÚendDocumentzPullDOM.endDocument¼   s+   € Ý*¨D¬MÐ:¸DÐAˆŒ�qÑØ�Š‰
Œ
ˆ
ˆ
ˆ
r#   c                 ó   — d| _         dS )z.clear(): Explicitly release parsing structuresN)r8   ry   s    r   ÚclearzPullDOM.clearÀ   s   € àˆŒˆˆr#   r%   )Ú__name__Ú
__module__Ú__qualname__r&   r8   r   r   r(   r0   r2   rN   rR   rU   rW   r\   ra   rf   rh   ro   r:   rz   r|   © r#   r   r   r      s&  € € € € € Ø€HØ€Hð!ð !ð !ð !ð ð ð ð
 ð  ð  ð4ð 4ð 4ð8ð 8ð 8ð7ð 7ð 7ðr+ð +ð +ðð ð ð+ð +ð +ð.ð .ð .ð.ð .ð .ð+ð +ð +ð
+ð +ð +ð
Kð Kð Kð
ð ð ð0ð ð ðð ð ð ð r#   r   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚErrorHandlerc                 ó$   — t          |¦  «         d S r%   )Úprint©r   Ú	exceptions     r   ÚwarningzErrorHandler.warningÅ   s   € ÝˆiÑÔÐÐÐr#   c                 ó   — |‚r%   r€   r…   s     r   ÚerrorzErrorHandler.errorÇ   ó   € Øˆr#   c                 ó   — |‚r%   r€   r…   s     r   Ú
fatalErrorzErrorHandler.fatalErrorÉ   rŠ   r#   N)r}   r~   r   r‡   r‰   rŒ   r€   r#   r   r‚   r‚   Ä   sA   € € € € € ðð ð ðð ð ðð ð ð ð r#   r‚   c                   óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚDOMEventStreamc                 óš   — || _         || _        || _        t          | j        d¦  «        s| j        | _        |                      ¦   «          d S )NÚfeed)ÚstreamÚparserÚbufsizer,   Ú_slurpÚgetEventÚreset)r   r‘   r’   r“   s       r   r   zDOMEventStream.__init__Í   sE   € ØˆŒØˆŒØˆŒÝ�t”{ FÑ+Ô+ð 	(Ø œKˆDŒMØ�
Š
‰Œˆˆˆr#   c                 óÈ   — t          ¦   «         | _        | j                             t          j        j        j        d¦  «         | j                             | j        ¦  «         d S rP   )	r   Úpulldomr’   Ú
setFeaturer   ÚsaxÚhandlerÚfeature_namespacesÚsetContentHandlerry   s    r   r–   zDOMEventStream.resetÕ   sJ   € Ý‘y”yˆŒàŒ×Ò�sœwœÔAÀ1ÑEÔEÐEØŒ×%Ò% d¤lÑ3Ô3Ð3Ð3Ð3r#   c                 ó@   — |                       ¦   «         }|r|S t          ‚r%   )r•   ÚStopIteration©r   Úrcs     r   Ú__next__zDOMEventStream.__next__Û   s"   € Ø�]Š]‰_Œ_ˆØð 	ØˆIÝÐr#   c                 ó   — | S r%   r€   ry   s    r   Ú__iter__zDOMEventStream.__iter__á   s   € Øˆr#   c                 ó(  — |                       ¦   «         }|g}|rx|\  }}||u rd S |t          k    r|d                              |¦  «         |t          k    r|                     |¦  «         n|t          k    r|d= |                       ¦   «         }|°vd S d S r!   )r•   r   ÚappendChildr   r   )r   rI   r[   ÚparentsÚtokenÚcur_nodes         r   Ú
expandNodezDOMEventStream.expandNodeä   s·   € Ø—’‘”ˆØ�&ˆØð 
	$Ø#‰OˆE�8Ø˜4ÐÐØ�Ø�Ò#Ð#Ø˜”×'Ò'¨Ñ1Ô1Ð1Ø�Ò%Ð%Ø—’˜xÑ(Ô(Ð(Ð(Ø�+Ò%Ð%Ø˜B�KØ—M’M‘O”OˆEð ð 
	$ð 
	$ð 
	$ð 
	$ð 
	$r#   c                 óÄ  — | j         j        d         s| j         j        | j         _        | j         j        d         sh| j                             | j        ¦  «        }|s| j                             ¦   «          d S | j                             |¦  «         | j         j        d         ¯h| j         j        d         d         }| j         j        d         d         | j         j        d<   |S )Nr5   r   )	r˜   r   r   r‘   Úreadr“   r’   Úcloser�   )r   Úbufr¡   s      r   r•   zDOMEventStream.getEventó   sÒ   € ð Œ|Ô& qÔ)ð 	=Ø%)¤\Ô%<ˆDŒLÔ"Ø”,Ô)¨!Ô,ð 	"Ø”+×"Ò" 4¤<Ñ0Ô0ˆCØð Ø”×!Ò!Ñ#Ô#Ð#Ø�tØŒK×Ò˜SÑ!Ô!Ð!ð ”,Ô)¨!Ô,ð 	"ð Œ\Ô$ QÔ'¨Ô*ˆØ%)¤\Ô%<¸QÔ%?ÀÔ%BˆŒÔ Ñ"Øˆ	r#   c                 ó€   — | j                              | j        ¦  «         | j        | _        |                      ¦   «         S )zå Fallback replacement for getEvent() using the
            standard SAX2 interface, which means we slurp the
            SAX events into memory (no performance gain, but
            we are compatible to all SAX parsers).
        )r’   Úparser‘   Ú_emitr•   ry   s    r   r”   zDOMEventStream._slurp  s3   € ð 	Œ×Ò˜$œ+Ñ&Ô&Ð&Øœ
ˆŒØ�zŠz‰|Œ|Ðr#   c                 ó€   — | j         j        d         d         }| j         j        d         d         | j         j        d<   |S )zn Fallback replacement for getEvent() that emits
            the events that _slurp() read previously.
        r5   r   )r˜   r   r    s     r   r±   zDOMEventStream._emit  s;   € ð Œ\Ô$ QÔ'¨Ô*ˆØ%)¤\Ô%<¸QÔ%?ÀÔ%BˆŒÔ Ñ"Øˆ	r#   c                 óX   — | j                              ¦   «          | ` d| _        d| _        dS )z+clear(): Explicitly release parsing objectsN)r˜   r|   r’   r‘   ry   s    r   r|   zDOMEventStream.clear  s-   € àŒ×ÒÑÔÐØˆLØˆŒØˆŒˆˆr#   N)r}   r~   r   r   r–   r¢   r¤   rª   r•   r”   r±   r|   r€   r#   r   rŽ   rŽ   Ì   s›   € € € € € ðð ð ð4ð 4ð 4ðð ð ðð ð ð$ð $ð $ðð ð ðð ð ðð ð ðð ð ð ð r#   rŽ   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚSAX2DOMc                 óž   — t                                | |||¦  «         | j        d         }| j        d         }|                     |¦  «         d S ©Nr   éþÿÿÿ)r   rN   r   r¦   )r   rB   rC   rD   ÚcurNodeÚ
parentNodes         r   rN   zSAX2DOM.startElementNS  sP   € Ý×Ò˜t T¨7°EÑ:Ô:Ð:ØÔ# BÔ'ˆØÔ& rÔ*ˆ
Ø×Ò˜wÑ'Ô'Ð'Ð'Ð'r#   c                 óœ   — t                                | ||¦  «         | j        d         }| j        d         }|                     |¦  «         d S r·   )r   rU   r   r¦   )r   rB   rD   r¹   rº   s        r   rU   zSAX2DOM.startElement#  sN   € Ý×Ò˜T 4¨Ñ/Ô/Ð/ØÔ# BÔ'ˆØÔ& rÔ*ˆ
Ø×Ò˜wÑ'Ô'Ð'Ð'Ð'r#   c                 ó¨   — t                                | ||¦  «         | j        d         d         }| j        d         }|                     |¦  «         d S ©Nr   r5   r   )r   ra   r   r   r¦   )r   r_   r`   rI   rº   s        r   ra   zSAX2DOM.processingInstruction)  sR   € Ý×%Ò% d¨F°DÑ9Ô9Ð9ØŒ~˜aÔ  Ô#ˆØÔ& rÔ*ˆ
Ø×Ò˜tÑ$Ô$Ð$Ð$Ð$r#   c                 ó¦   — t                                | |¦  «         | j        d         d         }| j        d         }|                     |¦  «         d S r½   )r   rf   r   r   r¦   ©r   re   rI   rº   s       r   rf   zSAX2DOM.ignorableWhitespace/  sP   € Ý×#Ò# D¨%Ñ0Ô0Ð0ØŒ~˜aÔ  Ô#ˆØÔ& rÔ*ˆ
Ø×Ò˜tÑ$Ô$Ð$Ð$Ð$r#   c                 ó¦   — t                                | |¦  «         | j        d         d         }| j        d         }|                     |¦  «         d S r½   )r   rh   r   r   r¦   r¿   s       r   rh   zSAX2DOM.characters5  sP   € Ý×Ò˜4 Ñ'Ô'Ð'ØŒ~˜aÔ  Ô#ˆØÔ& rÔ*ˆ
Ø×Ò˜tÑ$Ô$Ð$Ð$Ð$r#   N)r}   r~   r   rN   rU   ra   rf   rh   r€   r#   r   rµ   rµ     s_   € € € € € ð(ð (ð (ð(ð (ð (ð%ð %ð %ð%ð %ð %ð%ð %ð %ð %ð %r#   rµ   iì?  c                 óÆ   — |€t           }t          | t          ¦  «        rt          | d¦  «        }n| }|st          j                             ¦   «         }t          |||¦  «        S )NÚrb)Údefault_bufsizeÚ
isinstanceÚstrÚopenr   rš   Úmake_parserrŽ   )Ústream_or_stringr’   r“   r‘   s       r   r°   r°   >  sc   € Ø€Ý!ˆÝÐ"¥CÑ(Ô(ð "ÝÐ&¨Ñ-Ô-ˆˆà!ˆØð 'Ý”×$Ò$Ñ&Ô&ˆÝ˜& &¨'Ñ2Ô2Ð2r#   c                 ó¤   — ddl m} t          | ¦  «        } || ¦  «        }|st          j                             ¦   «         }t          |||¦  «        S )Nr   )ÚStringIO)ÚiorÊ   Úlenr   rš   rÇ   rŽ   )Ústringr’   rÊ   r“   r®   s        r   ÚparseStringrÎ   I  s[   € ØÐÐÐÐÐå�&‰kŒk€GØ
ˆ(�6Ñ
Ô
€CØð 'Ý”×$Ò$Ñ&Ô&ˆÝ˜#˜v wÑ/Ô/Ð/r#   )NNr%   )Úxml.saxr   Úxml.sax.handlerr   r   r   r   r   r   r	   r
   rš   ÚContentHandlerr   r‚   rŽ   rµ   rÃ   r°   rÎ   r€   r#   r   ú<module>rÒ      s9  ðØ €€€Ø Ð Ð Ð à€Ø€Ø
€Ø!€Ø€Ø1Ð Ø-Ð Ø€
ðuð uð uð uð uˆcŒgÔ$ñ uô uð uðnð ð ð ð ñ ô ð ðMð Mð Mð Mð Mñ Mô Mð Mð^%ð %ð %ð %ð %ˆgñ %ô %ð %ðB !€ð	3ð 	3ð 	3ð 	3ð0ð 0ð 0ð 0ð 0ð 0r#   