403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3.14/xml/dom/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.14/xml/dom/__pycache__/expatbuilder.cpython-314.pyc
+
��3jm���0�Rt^RIHtHtHt^RIHtHtHt^RIH	t	^RI
HtHt^RI
Ht]Pt]P t]P"t]P$P&t]P$P(t]P$P*t]P$P,t]P.!4tR]P2!RR4R	]P2!RR
4R]P2!RR4R
]P2!RR4R]P2!RR4R]P2!RR4R]P2!RR4R]P2!RR4R]P2!RR4/	t!RR]4tRtRt!RR4t]]]3t !RR ]4t!!R!R"]4t"!R#R$]"4t#!R%R&]"4t$R't%R(]%,t&!R)R*]4t'!R+R,4t(!R-R.](]4t)!R/R0](]'4t*!R1R2]+4t,!R3R4]4t-R:R5lt.R:R6lt/R:R7lt0R:R8lt1R9t2R#);z�Facility to use the Expat parser to load a minidom instance
from a string or file.

This avoids all the overhead of SAX and pulldom to gain performance.
)�
xmlbuilder�minidom�Node)�EMPTY_NAMESPACE�EMPTY_PREFIX�XMLNS_NAMESPACE)�expat)�
_append_child�_set_attribute_node)�
NodeFilter�CDATAN�cdata�ENUM�enumeration�ENTITY�entity�ENTITIES�entities�ID�id�IDREF�idref�IDREFS�idrefs�NMTOKEN�nmtoken�NMTOKENS�nmtokensc�^a�]tRt^<toRtRRltRtRtRtRt	Rt
RtR	tR
t
RtVtR#)
�ElementInfoNc�,�Wn.VnW nR#�N)�tagName�
_attr_info�_model)�selfr"�models&&&�+/usr/lib/python3.14/xml/dom/expatbuilder.py�__init__�ElementInfo.__init__?s���������c�H�VPVPVP3#r!�r#r$r"�r%s&r'�__getstate__�ElementInfo.__getstate__Ds��������T�\�\�9�9r*c�0�VwVnVnVnR#r!r,)r%�states&&r'�__setstate__�ElementInfo.__setstate__Gs��5:�2�����d�lr*c���VPFMpV^,V8XgKVR,pV^,R8Xd\R,u#\VR,,u#	\P#)��(r���)r#�
_typeinfo_mapr�_no_type)r%�aname�info�ts&&  r'�getAttributeType�ElementInfo.getAttributeTypeJsX���O�O�D��A�w�%����H���Q�4�3�;�(��0�0�(��b��2�2�
$����r*c�"�\P#r!)rr9)r%�namespaceURI�	localNames&&&r'�getAttributeTypeNS�ElementInfo.getAttributeTypeNSTs�����r*c��VP'dKVP^,pV\PP\PP39#R#��F)r$rr&�
XML_CTYPE_ANY�XML_CTYPE_MIXED)r%�types& r'�isElementContent�ElementInfo.isElementContentWsH���;�;�;��;�;�q�>�D����� 9� 9� %��� ;� ;� =�=�
=�r*c��VP'd/VP^,\PP8H#R#rE)r$rr&�XML_CTYPE_EMPTYr-s&r'�isEmpty�ElementInfo.isEmpty_s+���;�;�;��;�;�q�>�U�[�[�%@�%@�@�@�r*c�d�VPFpV^,V8XgKVR,R8Hu#	R#)r5rFr7)r#)r%r:r;s&& r'�isId�ElementInfo.isIdes0���O�O�D��A�w�%���B�x�4�'�'�$�r*c�&�VPW434#r!)rQ)r%�euri�ename�aurir:s&&&&&r'�isIdNS�ElementInfo.isIdNSks���y�y�$��'�'r*r,r!)�__name__�
__module__�__qualname__�__firstlineno__�	__slots__r(r.r2r=rBrJrNrQrW�__static_attributes__�__classdictcell__��
__classdict__s@r'rr<s<����1�I��
:�;� � ����(�(r*rc�$�VPW4#r!)�_intern_setdefault)�builder�ss&&r'�_internrfos���%�%�a�+�+r*c�>�RV9gQhVPR4pVPp\V4^8Xd(VwrEpV!Wf4pV:RV:2pV!Ww4pV!WU4pM6\V4^8XdVwrE\pV!WU4;ruM\	RV,4hV!WD4WVV3#)� �:z4Unsupported syntax: spaces in URIs not supported: %r)�splitrc�lenr�
ValueError)rd�name�parts�intern�uri�	localname�prefix�qnames&&      r'�_parse_ns_namertrs����$�;��;��J�J�s�O�E�
�
'�
'�F�
�5�z�Q��!&������'��!�9�-���u�$���9�0�	�	�U��q�������"�9�8�8��	��O�RV�V�W�W��#��Y��5�5r*c��a�]tRt^�toRtR RltRtRtRtRt	Rt
R	tR
tRt
RtR
tRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRt Rt!Vt"R#)!�ExpatBuilderzLDocument builder that uses Expat to build a ParsedXML.DOM document
instance.Nc��Vf\P!4pWnVPPe&\	VPP4VnMRVn\VnRVnVP4R#r!)
r�Options�_options�filter�FilterVisibilityController�_filterr�_finish_start_element�_parser�reset)r%�optionss&&r'r(�ExpatBuilder.__init__�sa���?� �(�(�*�G��
��=�=���+�5�d�m�m�6J�6J�K�D�L��D�L�*,�D�&�����
�
�r*c�,�\P!4#)zCreate a new parser object.)r�ParserCreater-s&r'�createParser�ExpatBuilder.createParser�s���!�!�#�#r*c�N�VP'g�VP4VnVPPPVnRVPnRVPnRVPnVPVP4VP#)z7Return the parser object, creating a new one if needed.T)	r~r�ro�
setdefaultrc�buffer_text�ordered_attributes�specified_attributes�installr-s&r'�	getParser�ExpatBuilder.getParser�sq���|�|�|��,�,�.�D�L�&*�l�l�&9�&9�&D�&D�D�#�'+�D�L�L�$�.2�D�L�L�+�04�D�L�L�-��L�L����&��|�|�r*c��\P\RR4VnVPVnVPP
VnRVnR#)z6Free all data structures used during DOM construction.NF)�theDOMImplementation�createDocumentr�document�curNode�
_elem_info�_cdatar-s&r'r�ExpatBuilder.reset�s>��,�;�;��T�4�)��
��}�}����-�-�2�2�����r*c��VPVnVPVnVPVnVPVnVPP'dVPVnVPVn
VPP'dVPVnVPP"'d5VP$VnVP(VnVP,VnMVP0VnVP2VnVP6VnVP:VnVP>Vn R#)z>Install the callbacks needed to build the DOM into the parser.N)!�start_doctype_decl_handler�StartDoctypeDeclHandler�first_element_handler�StartElementHandler�end_element_handler�EndElementHandler�
pi_handler�ProcessingInstructionHandlerryr�entity_decl_handler�EntityDeclHandler�notation_decl_handler�NotationDeclHandler�comments�comment_handler�CommentHandler�cdata_sections�start_cdata_section_handler�StartCdataSectionHandler�end_cdata_section_handler�EndCdataSectionHandler�character_data_handler_cdata�CharacterDataHandler�character_data_handler�external_entity_ref_handler�ExternalEntityRefHandler�xml_decl_handler�XmlDeclHandler�element_decl_handler�ElementDeclHandler�attlist_decl_handler�AttlistDeclHandler�r%�parsers&&r'r��ExpatBuilder.install�s��*.�)H�)H��&�%)�%?�%?��"�#'�#;�#;�� �.2�o�o��+��=�=�!�!�!�'+�'?�'?�F�$�%)�%?�%?��"��=�=�!�!�!�$(�$8�$8�F�!��=�=�'�'�'�.2�.N�.N�F�+�,0�,J�,J�F�)�*.�*K�*K�F�'�*.�*E�*E�F�'�*.�*J�*J��'� $� 5� 5���$(�$=�$=��!�$(�$=�$=��!r*c��VP4pRpVPR4;p'dLVPVR4V'd.VPP'dVPV4RpKdVPRR4VPpVP4RVnV# \dL2i;i)zAParse a document from a file object, returning the document
node.TFr*Ni@)	r��read�Parser��documentElement�
_setup_subset�ParseEscaperr~)r%�filer��first_buffer�buffer�docs&&    r'�	parseFile�ExpatBuilder.parseFile�s������!����	� �I�I�g�.�.�&�.����V�U�+��D�M�M�$A�$A�$A��&�&�v�.�$���L�L��d�#��m�m���
�
������
���	��	�s�2B/�B/�#'B/�/B=�<B=c���VP4pVPVR4VPV4VPpVP4RVnV# \dL2i;i)z<Parse a document from a string, returning the document node.TN)r�r�r�r�r�rr~)r%�stringr�r�s&&  r'�parseString�ExpatBuilder.parseString�sc�����!��	��L�L���&����v�&��m�m���
�
������
���	��	�s�#A�A(�'A(c���VPP'dH\4pVPV4VP	4pW0PPnR#R#)z/Load the internal subset if there might be one.N)r��doctype�InternalSubsetExtractorr��	getSubset�internalSubset)r%r��	extractor�subsets&&  r'r��ExpatBuilder._setup_subset�sK���=�=� � � �/�1�I��!�!�&�)��(�(�*�F�39�M�M�!�!�0�	!r*c��VPPPWV4pVPVn\	VPV4WPPnVP'dqVPPV4\8XdMRVPnVPPRRpRVPnRVPnV'dfVe#.VPn.VPnRVPnRVPnVP$VPnR#R#�N���)r��implementation�createDocumentType�
ownerDocumentr	r�r|�
acceptNode�
FILTER_REJECT�
childNodesr~r�r�r�_seq�	notationsr�r��end_doctype_decl_handler�EndDoctypeDeclHandler)r%�doctypeName�systemId�publicId�has_internal_subsetr�s&&&&& r'r��'ExpatBuilder.start_doctype_decl_handler�s����-�-�.�.�A�A��8�-�� $�
�
����d�m�m�W�-� '�
�
���<�<�<�D�L�L�3�3�G�<�
�M�$(�D�M�M�!��
�
�(�(��,��G�-1�D�L�L�*�/3�D�L�L�,���"�(*�� � �%�)+��!�!�&�*.�D�L�L�'�8<�D�L�L�5�15�1N�1N�D�L�L�.�
r*c��VPP'dVPVPnVP
VPnVP'g"VP'g\Vn
R#R#R#r!)ryr�r�r~r�r�r�r�r|r�_finish_end_elementr-s&r'r��%ExpatBuilder.end_doctype_decl_handlersT���=�=�!�!�!�*.�*>�*>�D�L�L�'�48�O�O����1�����4�<�<�<�')�D�$�$0�r*c��VPPW4p\VPV4VP'dDVPPV4\8XdVPPV4R#R#R#r!)r��createProcessingInstructionr	r�r|r�r��removeChild)r%�target�data�nodes&&& r'r��ExpatBuilder.pi_handler	s]���}�}�8�8��F���d�l�l�D�)��<�<�<�D�L�L�3�3�D�9�]�J��L�L�$�$�T�*�K�<r*c�@�VPPpVP'dlVP'd7VR,P\
8XdVR,P
V4R#VPPV4pRVnMtV'dAVR,P\8Xd%VR,pVPV,pWCn
R#\P!4pWn
VPVn
\VPV4R#)r5NTr�)r�r�r��_cdata_continue�nodeType�CDATA_SECTION_NODE�
appendDatar��createCDATASection�	TEXT_NODEr�r�Textr�r	)r%r�r�r��values&&   r'r��)ExpatBuilder.character_data_handler_cdatas����\�\�,�,�
��;�;�;��&�&�&� ��n�-�-�1C�C��2��)�)�$�/���=�=�3�3�D�9�D�#'�D� �
�J�r�N�3�3�y�@��b�>�D��I�I��$�E��I���<�<�>�D��I�!%���D���d�l�l�D�)r*c�h�VPPpV'd@VR,P\8Xd$VR,pVPV,VnR#\
P!4pVPV,VnVPVn\VPV4R#�r5Nr�)
r�r�r�r�r�rr�r�r�r	)r%r�r�r�s&&  r'r��#ExpatBuilder.character_data_handler#sv���\�\�,�,�
��*�R�.�1�1�Y�>��b�>�D��	�	�D�(�D�I���|�|�~���I�I��$��	�!�]�]����d�l�l�D�)r*c�>�V'dR#VPP'gR#VPPWWW4pVe7VPP	V4p	VP
P
V	4VPPPPP
V4VP'dTVPPV4\8Xd.VPPPPRR#R#R#r�)ryrr��_create_entity�createTextNoder��appendr�r�r|r�r�)
r%�
entityName�is_parameter_entityr��baser�r��notationNamer��childs
&&&&&&&&  r'r�� ExpatBuilder.entity_decl_handler.s������}�}�%�%�%���}�}�+�+�J�,4�D�����M�M�0�0��7�E��O�O�"�"�5�)��
�
���&�&�+�+�2�2�4�8��<�<�<�D�L�L�3�3�D�9�]�J��
�
�%�%�.�.�3�3�B�7�K�<r*c�z�VPPWV4pVPPPPPV4VP'dTVPPV4\8Xd.VPPPPRR#R#R#r�)	r��_create_notationr�r�r�r�r|r��
FILTER_ACCEPT)r%rrr�r�r�s&&&&& r'r��"ExpatBuilder.notation_decl_handler@s����}�}�-�-�l�h�O���
�
���'�'�,�,�3�3�D�9��<�<�<�D�L�L�3�3�D�9�]�J��
�
�%�%�/�/�4�4�R�8�K�<r*c��VPPV4p\VPV4VP'dDVPPV4\8XdVPPV4R#R#R#r!)r��
createCommentr	r�r|r�r�r�)r%r�r�s&& r'r��ExpatBuilder.comment_handlerFs]���}�}�*�*�4�0���d�l�l�D�)��<�<�<�D�L�L�3�3�D�9�]�J��L�L�$�$�T�*�K�<r*c�"�RVnRVnR#)TFN�r�r�r-s&r'r��(ExpatBuilder.start_cdata_section_handlerLs�����$��r*c�"�RVnRVnR#)FNrr-s&r'r��&ExpatBuilder.end_cdata_section_handlerPs�����$��r*c��^#)r5�)r%�contextrr�r�s&&&&&r'r��(ExpatBuilder.external_entity_ref_handlerTs��r*c��VPfVP'g\VnVPVP4nVP	W4R#r!)r|r�rr��start_element_handlerr�r�)r%rm�
attributess&&&r'r��"ExpatBuilder.first_element_handlerWs?���<�<������')�D�$�/3�/I�/I�����,��"�"�4�4r*c���VPPV4p\VPV4W0nV'dv\	^\V4^4F[p\P!W$,\R\4pW$^,,pWen
VPVn\W54K]	W0PPJdVPV4R#R#�rFN)r��
createElementr	r��rangerkr�Attrrrr�r�r
r�r})r%rmrr��i�ar�s&&&    r'r�"ExpatBuilder.start_element_handler]s����}�}�*�*�4�0���d�l�l�D�)�����1�c�*�o�q�1���L�L����!%�|�5��"�Q�3�����"&�-�-���#�D�,�
2��}�}�4�4�4��&�&�t�,�5r*c�r�VP'd�WPPJdR#VPPV4pV\8Xd
\V4MV\8Xd
\V4MR#VPVn	VPPV4VP4R#R#r!)r|r�r��startContainerr��Rejecter�FILTER_SKIP�Skipper�
parentNoder�r��unlink)r%r��filts&& r'r}�"ExpatBuilder._finish_start_elementns����<�<�<��}�}�4�4�4���<�<�.�.�t�4�D��}�$������$���
���?�?�D�L��O�O�'�'��-��K�K�M�#r*c�b�VPpVPVnVPV4R#r!)r�r%r�)r%rmr�s&& r'r�� ExpatBuilder.end_element_handler�s&���,�,���)�)���� � ��)r*c��VPPVP4pV'dVPW4VP'doWP
PJdR#VPPV4\8Xd.VPPV4VP4R#R#R#r!)r��getr"�_handle_white_text_nodesr|r�r�r�r�r�r�r&)r%r�r;s&& r'r�� ExpatBuilder._finish_end_element�s������"�"�7�?�?�3����)�)�'�8��<�<�<��-�-�7�7�7���|�|�&�&�w�/�=�@����(�(��1���� �A�r*c�`�VPP'gVP4'gR#.pVPFMpVP\
8XgKVPP4'dK<VPV4KO	VFpVPV4K	R#r!)
ry�whitespace_in_element_contentrJr�r�r�r��stripr�r�)r%r�r;�Lrs&&&  r'r-�%ExpatBuilder._handle_white_text_nodes�s|���M�M�7�7�7��(�(�*�*��

���_�_�E��~�~��*�5�:�:�3C�3C�3E�3E������%�
�E����U�#�r*c��VPPV4pVf\W4VPV&R#VPeQhW#nR#r!)r�r,rr$)r%rmr&r;s&&& r'r��!ExpatBuilder.element_decl_handler�sC�����"�"�4�(���<�$/��$<�D�O�O�D�!��;�;�&�&�&��Kr*c
��VPPV4pVf\V4pW`PV&VPP	RVRRV^W5.4R#r!)r�r,rr#r�)r%�elemrmrI�default�requiredr;s&&&&&& r'r��!ExpatBuilder.attlist_decl_handler�sV�����"�"�4�(���<��t�$�D�$(�O�O�D�!������
�4��t�W�a��@�	Br*c��WPnW PnV^8�d/V'dRVPnR#RVPnR#R#)rFTFN)r��version�encoding�
standalone)r%r<r=r>s&&&&r'r��ExpatBuilder.xml_decl_handler�s=�� '�
�
��!)�
�
����?��+/��
�
�(�+0��
�
�(�	r*)r�r�r�r|r�r}rcryr~r�r�r!)#rYrZr[r\�__doc__r(r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr}r�r�r-r�r�r�r^r_r`s@r'rvrv�s�������$�	��>�.�&�:�O�**�+�*�(	*�8�$9�+�%�%��5�-�"�.*�
	!�$�" �B�1�1r*rvc�Na�]tRtRtoRtRtRtRtRt]	P]P]	P]P]	P]P ]	P"]P$]	P&]P(]	P*]P,]	P.]P0]	P2]P4]	P6]P8]	P:]P<]	P>]P@]	PB]PD/t#Rt$Vt%R#)r{i�zkWrapper around a DOMBuilderFilter which implements the checks
to make the whatToShow filter attribute work.c��WnR#r!�rz)r%rzs&&r'r(�#FilterVisibilityController.__init__�s���r*c�6�VPVP,pVPPV,'dUVPP	V4pV\
8Xd\hV\9d\R\V4,4hV#\#)z)startContainer() returned illegal value: )�_nodetype_maskr�rz�
whatToShowr!�FILTER_INTERRUPTr��_ALLOWED_FILTER_RETURNSrl�reprr)r%r��mask�vals&&  r'r!�)FilterVisibilityController.startContainer�s}���"�"�4�=�=�1���;�;�!�!�D�(�(��+�+�,�,�T�2�C��&�&�!�!��1�1� �A�D��I�M�O�O��J� � r*c���VPVP,pVPPV,'d�VPP	V4pV\
8Xd\hV\8Xd>VPpVPR,FpVPV4K	\#V\9d\R\V4,4hV#\#)�NNNz%acceptNode() returned illegal value: )rFr�rzrGr�rHr�r#r%r��appendChildr�rIrlrJr)r%r�rKrL�parentrs&&    r'r��%FilterVisibilityController.acceptNode�s����"�"�4�=�=�1���;�;�!�!�D�(�(��+�+�(�(��.�C��&�&�!�!��k�!�����!�_�_�Q�/�/�E��&�&�u�-�0�%�$��1�1� �=��S�	�I�K�K��J� � r*rCN)&rYrZr[r\r@r]r(r!r�r�ELEMENT_NODEr�SHOW_ELEMENT�ATTRIBUTE_NODE�SHOW_ATTRIBUTEr��	SHOW_TEXTr��SHOW_CDATA_SECTION�ENTITY_REFERENCE_NODE�SHOW_ENTITY_REFERENCE�ENTITY_NODE�SHOW_ENTITY�PROCESSING_INSTRUCTION_NODE�SHOW_PROCESSING_INSTRUCTION�COMMENT_NODE�SHOW_COMMENT�
DOCUMENT_NODE�
SHOW_DOCUMENT�DOCUMENT_TYPE_NODE�SHOW_DOCUMENT_TYPE�DOCUMENT_FRAGMENT_NODE�SHOW_DOCUMENT_FRAGMENT�
NOTATION_NODE�
SHOW_NOTATIONrFr^r_r`s@r'r{r{�s�����5��I��!�!�*	
���*�*A�*A����*�*C�*C����*�*>�*>����*�*G�*G��"�"�*�*J�*J����*�*@�*@��(�(�*�*P�*P����*�*A�*A����*�*B�*B����*�*G�*G��#�#�*�*K�*K����*�*B�*B�

�Nr*r{c�*a�]tRtRtoRtRtRtVtR#)�FilterCrutchi�c��^VnWnVPpVPVnVP
VnVPVnVPVnR#r)	�_level�_builderr~r��
_old_startr��_old_endrr�)r%rdr�s&& r'r(�FilterCrutch.__init__sM������
����� �4�4����0�0��
�%)�%?�%?��"�#'�#;�#;�� r*)rmrlrornN)rmrlrnro)rYrZr[r\r]r(r^r_r`s@r'rjrj�s����>�I�<�<r*rjc�6a�]tRtRtoRtRtRtRtRtVt	R#)r"ic�r�\PW4VPpRFp\W#R4K	R#)r�N)r�r�r�r�r�r�)rjr(r~�setattr)r%rdr�rms&&  r'r(�Rejecter.__init__s1�����d�,������D�
�F�$�'�r*c�6�VP^,VnR#�r5N�rl�r%�argss&*r'r�Rejecter.start_element_handlers���k�k�A�o��r*c��VP^8XdVVPPpVPPV4VPVnVPVnR#VP^,
VnR#r)rlrmr~r�rnr�ror�)r%ryr�s&* r'r��Rejecter.end_element_handlersV���;�;�!���]�]�*�*�F��M�M�!�!�&�)�)-���F�&�'+�}�}�F�$��+�+��/�D�Kr*rwNr)
rYrZr[r\r]r(rr�r^r_r`s@r'r"r"s�����I�
(�&�*�*r*r"c�0a�]tRtRtoRtRtRtRtVtR#)r$i'c��VPPpVP!V!VPPVJdVP^,VnR#R#rv)rmr�rnrl)r%ryr�s&* r'r�Skipper.start_element_handler*sC���}�}�$�$��������=�=� � ��,��+�+��/�D�K�-r*c��VP^8XdTVPVPPnVP
VPPnRVnR#VP^,
VnVP
!V!R#r)rlrnrmr~r�ror�rxs&*r'r��Skipper.end_element_handler0s^���;�;�!��9=���D�M�M�!�!�5�6:�m�m�D�M�M�!�!�3� �D�M��+�+��/�D�K��M�M�4� r*)rmrlNr)	rYrZr[r\r]rr�r^r_r`s@r'r$r$'s�����I�*�	!�	!r*r$z8http://xml.python.org/entities/fragment-builder/internalz�<!DOCTYPE wrapper
  %%s [
  <!ENTITY fragment-builder-internal
    SYSTEM "%s">
%%s
]>
<wrapper %%s
>&fragment-builder-internal;</wrapper>c�Ra�]tRtRtoRtRRltRtRtRtRt	R	t
R
tRtVt
R#)
�FragmentBuilderiOz�Builder which constructs document fragments given XML source
text and a context node.

The context node is expected to provide information about the
namespace declarations which are in scope at the start of the
fragment.
Nc��VP\8XdWnWnMVPVnWn\
P
W4R#r!)r�ra�originalDocumentrr�rvr()r%rr�s&&&r'r(�FragmentBuilder.__init__Xs<�����}�,�$+�!�"�L�$+�$9�$9�D�!�"�L����d�,r*c�>�\PV4RVnR#r!)rvr�fragmentr-s&r'r�FragmentBuilder.resetas�����4� ���
r*c�@�VPVP44#)zJParse a document fragment from a file object, returning the
fragment node.)r�r��r%r�s&&r'r��FragmentBuilder.parseFilees������	�	��,�,r*c�6�WnVP4pVPPpRpV'd}VP;'gVP4pVP'd!RVP:RVP:R2pM(VP'dRVP,pMRpVP4p\WEV3,pVPVR4TPpTP4T# TP4h;i)zEParse a document fragment from a string, returning the
fragment node.�zPUBLIC "z" "�"zSYSTEM "%s"T)
�_sourcer�r�r�r��_getDeclarationsr�r��_getNSattrs�_FRAGMENT_BUILDER_TEMPLATEr�rr�)	r%r�r�r��identr��nsattrsr�r�s	&&       r'r��FragmentBuilder.parseStringjs��������!���'�'�/�/������+�+�F�F�t�/D�/D�/F�F�����#�,�,�g�.>�.>�@���!�!�!�%��(8�(8�8����F��"�"�$��-���0H�H��	��L�L��4�(��=�=���
�
�����
	��J�J�L��s�D�Dc���VPPPpRpV'Ed�\VPP
4F�pVPP
V4pV'd
VR,pV:RVP:2pVP'd%V:RVP:RVP:R2pKxV:RVP:R2pK�	\VPP
4F�pVPP
V4pV'd
VR,pV:RVP:2pVP'd$V:RVP:RVP:R	2pMEVP'dV:RVP:R	2pMV:R
VPP:R	2pVP'dV:RVP:2pVR,pK�	V#)
z�Re-create the internal subset from the DocumentType node.

This is only needed if we don't already have the
internalSubset as a string.
r�z
  z<!NOTATION z	 PUBLIC "z"
             "z">z	 SYSTEM "z	<!ENTITY r�z "z
 NOTATION �>)rr�r�rr��length�item�nodeNamer�r�r�
firstChildr�r)r%r�rer�notationrs&     r'r�� FragmentBuilder._getDeclarations�so���,�,�,�,�4�4�����7��7�,�,�3�3�4��"�,�,�1�1�!�4����F�
�A�)*�H�,=�,=�>���$�$�$��h�/�/��1B�1B�D�A�./��0A�0A�B�A�5��7�+�+�2�2�3�� �)�)�.�.�q�1����F�
�A�'(�&�/�/�:���?�?�?��f�o�o�v���@�A��_�_�_�,-�v���?�A�%&��(9�(9�(>�(>�?�A��&�&�&�,-�v�/B�/B�C�A���G��4��r*c��R#)r�rr-s&r'r��FragmentBuilder._getNSattrs�s��r*c���V\8Xd�VPpVPpVPP	V4pVP
VnVPP
4VnVPVnVPVPR4W`nWPnRVn	R#\PWW#V4# Y`nYPnRTn	i;i)TNr�)�$_FRAGMENT_BUILDER_INTERNAL_SYSTEM_IDr�r�r~�ExternalEntityParserCreater��createDocumentFragmentr�r�r�rvr�)r%rrr�r��old_document�old_cur_noder�s&&&&&   r'r��+FragmentBuilder.external_entity_ref_handler�s����;�;� �=�=�L��<�<�L��\�\�<�<�W�E�F� �1�1�D�M� �M�M�@�@�B�D�M��=�=�D�L�
$����T�\�\�4�0�+�� ,�
�#����I��;�;��t�x�9�
9�� ,�� ,�
�#���s�C	�	C)r�rr�r�r�r�r!)rYrZr[r\r@r(rr�r�r�r�r�r^r_r`s@r'r�r�Os3�����-��-�
�8"�H�9�9r*r�c�Ja�]tRtRtoRtRtRtRtRtRt	Rt
R	tVtR
#)�
Namespacesi�z7Mix-in class for builders; adds support for namespaces.c��.VnR#r!)�_ns_ordered_prefixesr-s&r'�_initNamespaces�Namespaces._initNamespaces�s��%'��!r*c�B�\P!RR7pRVnV#)z'Create a new namespace-handling parser.rh)�namespace_separatorT)rr��namespace_prefixesr�s& r'r��Namespaces.createParser�s���#�#��<��$(��!��
r*c��\PW4VPP'dVPVnR#R#)z.Insert the namespace-handlers onto the parser.N)rvr�ry�namespace_declarations�start_namespace_decl_handler�StartNamespaceDeclHandlerr�s&&r'r��Namespaces.install�s6�����T�*��=�=�/�/�/��1�1�
�,�0r*c�>�VPPW34R#)z/Push this namespace declaration on our storage.N)r�r�)r%rrrps&&&r'r��'Namespaces.start_namespace_decl_handler�s���!�!�(�(�&��7r*c��RV9d\W4wr4rVM\pTpRp\p\P!WcWT4pVP
Vn\VPV4WpnVP'd�VPFwrSV'd0\P!\VRV,4\VR4pM!\P!R\R\4pW8n
VP
Vn\Wx4K�	VPRV'd�VP4VP p	VP"p
\%^\'V4^4F�pW+,pW+^,,p
RV9d0\W4wr4rV\P!WcWE4pW�V&W�W43&M/\P!V\V\4pW�V&W�\V3&VP
VnW�n
WxnK�	R#R#)rhN�xmlns:�xmlnsrO)rtrrr�Elementr�r�r	r�r�rrfrr�r
�_ensure_attributes�_attrs�_attrsNSrrk�ownerElement)r%rmrrprqrrrsr�rr�r�rr:r�s&&&           r'r� Namespaces.start_element_handler�s����$�;�,:�4�,F�)�C�F�E�!�C��E��I�!�F����u�6�=��!�]�]����d�l�l�D�)����$�$�$�#�8�8�������W�T�8�f�3D�%E�%4�f�g�G�A� ���W�o�%,�l�<�A���"&�-�-���#�D�,� 9��)�)�!�,���#�#�%��[�[�F��}�}�H��1�c�*�o�q�1��"�
��"�Q�3����%�<�4B�4�4O�1�C�F����U��C�A�$%�5�M�12�c�-�.����U�O�%*�L�:�A�$%�5�M�9:�o�u�5�6�"&�-�-�����!%��2�	r*c�j�VPpRV9dJ\W4wr4rVVPV8Xd#VPV8XdVPV8XgQR4hM4VP
V8XgQR4hVP\8XgQR4hVPVnVPV4R#)rhz$element stack messed up! (namespace)z&element stack messed up - bad nodeNamez*element stack messed up - bad namespaceURIN)	r�rtr@rArrr�rr%r�)r%rmr�rprqrrrss&&     r'r��Namespaces.end_element_handlers����l�l�G��d�{�0>�t�0J�-����,�,��3�#�-�-��:�#�N�N�f�4�?�?�?�5�4��'�'�4�/�@�?�@�/��+�+��>�D�C�D�>�"�-�-�D�L��$�$�W�-r*)r�r�N)
rYrZr[r\r@r�r�r�r�rr�r^r_r`s@r'r�r��s1����A�'�
�3�8�-&�^�	.�	.r*r�c�*a�]tRtRtoRtRtRtVtR#)�ExpatBuilderNSi#z*Document builder that supports namespaces.c�P�\PV4VP4R#r!)rvrr�r-s&r'r�ExpatBuilderNS.reset&s�����4� ����r*rN)rYrZr[r\r@rr^r_r`s@r'r�r�#s����4��r*r�c�0a�]tRtRtoRtRtRtRtVtR#)�FragmentBuilderNSi+z*Fragment builder that supports namespaces.c�P�\PV4VP4R#r!)r�rr�r-s&r'r�FragmentBuilderNS.reset.s�����d�#����r*c�\�RpVPp.pV'd�\VR4'dtVPP4FUwrEWC9dK
VP	V4V'dRV,pMRpV'dV:RV:RV:R2pKJRV:RV:R2pKW	VP
pK�V#)	zFReturn string of namespace attributes from this element and
ancestors.r��_ns_prefix_urir�r�z
    z='�'rh)r�hasattrr��itemsr�r%)r%�attrsrr2rrrp�declnames&      r'r��FragmentBuilderNS._getNSattrs2s������,�,������w� 0�1�1�#*�#9�#9�#?�#?�#A�K�F��{� ��H�H�V�$��#+�f�#4��#*���5:�H�c� J���/7�� <��$B��(�(�G��r*rN)	rYrZr[r\r@rr�r^r_r`s@r'r�r�+s����4���r*r�c��]tRtRtRtRtR#)r�iPzEException raised to short-circuit parsing in InternalSubsetExtractor.rN)rYrZr[r\r@r^rr*r'r�r�Ps��O�r*r�c�Ra�]tRtRtoRtRtRtRtRtRt	Rt
R	tR
tRt
VtR#)r�iTzBXML processor which can rip out the internal document type subset.Nc��VP#)z'Return the internal subset as a string.�r�r-s&r'r��!InternalSubsetExtractor.getSubsetYs���{�{�r*c�V�\PW4R# \dR#i;ir!)rvr�r�r�s&&r'r��!InternalSubsetExtractor.parseFile]s'��	��"�"�4�.���	��	����(�(c�V�\PW4R# \dR#i;ir!)rvr�r�)r%r�s&&r'r��#InternalSubsetExtractor.parseStringcs'��	��$�$�T�2���	��	�r�c�J�VPVnVPVnR#r!)r�r�rr�r�s&&r'r��InternalSubsetExtractor.installis��)-�)H�)H��&�%)�%?�%?��"r*c��V'dFVP4p.VnVPPVnVPVnR#\
4hr!)r�r�r��DefaultHandlerr�r�r�)r%rmr�r�r�r�s&&&&& r'r��2InternalSubsetExtractor.start_doctype_decl_handlerms@����^�^�%�F��D�K�$(�K�K�$6�$6�F�!�+/�+H�+H�F�(��-�r*c��RPVP4PRR4PRR4pWn\4h)r�z
�
�
)�joinr��replacer�)r%res& r'r��0InternalSubsetExtractor.end_doctype_decl_handlerws;���G�G�D�K�K� �(�(���6�>�>�t�T�J�����m�r*c��\4hr!)r�)r%rmr�s&&&r'r�-InternalSubsetExtractor.start_element_handler|s
���m�r*r�)rYrZr[r\r@r�r�r�r�r�r�r�rr^r_r`s@r'r�r�Ts6����L�
�F����@� ��
�r*r�c��V'd\4pM
\4p\V\4'd1\	VR4;_uu_4pVPV4pRRR4V#VPV4pV# +'giX#;i)zsParse a document, returning the resulting Document node.

'file' may be either a file name or an open file object.
�rbN)r�rv�
isinstance�str�openr�)r��
namespacesrd�fp�results&&   r'�parser��su��
� �"���.���$����
�$��
�
���&�&�r�*�F���M��"�"�4�(���M�	�
��M�s�A7�7B	c�^�V'd\4pM
\4pVPV4#)zGParse a document from a string, returning the resulting
Document node.
)r�rvr�)r�r�rds&& r'r�r��s'��� �"���.�����v�&�&r*c��V'd
\V4pM\V4p\V\4'd1\	VR4;_uu_4pVPV4pRRR4V#VPV4pV# +'giX#;i)z�Parse a fragment of a document, given the context from which it
was originally extracted.  context should be the parent of the
node(s) which are in the fragment.

'file' may be either a file name or an open file object.
r�N)r�r�r�r�r�r�)r�rr�rdr�r�s&&&   r'�
parseFragmentr��sz���#�G�,��!�'�*���$����
�$��
�
���&�&�r�*�F���M��"�"�4�(���M�	�
��M�s�
A9�9B
	c�b�V'd
\V4pM\V4pVPV4#)z�Parse a fragment of a document from a string, given the context
from which it was originally extracted.  context should be the
parent of the node(s) which are in the fragment.
)r�r�r�)r�rr�rds&&& r'�parseFragmentStringr��s,��
�#�G�,��!�'�*�����v�&�&r*c�R�VP'd\V4#\V4#)z,Create a builder based on an Options object.)r�r�rv)r�s&r'�makeBuilderr��s$�������g�&�&��G�$�$r*)T)3r@�xml.domrrrrrr�xml.parsersr�xml.dom.minidomr	r
�xml.dom.NodeFilterrr�r�ra�DOMBuilderFilterrr�r#rH�getDOMImplementationr��TypeInfor8�objectrrfrtrvrIr{rjr"r$r�r�r�r�r�r��	Exceptionr�r�r�r�r�r�r�rr*r'�<module>rs-���:.�-�B�B��>�)��N�N�	��,�,���"�"�
��+�+�9�9�
��+�+�9�9�
��)�)�5�5���.�.�?�?���3�3�5���� � ��w�/�
�� � ��}�5��� � ��x�0��� � ��z�2��� � ��t�,��� � ��w�/��� � ��x�0�
�� � ��y�1��� � ��z�2�
�
�1(�&�1(�f,�6�&y1�y1�|	)�-��E��7
��7
�t
<�6�
<�*�|�*�8!�l�!�2?�%�*�+�	+��r9�l�r9�j\.�\.�~�Z���"�
�O�"�J	�)�	�)�l�)�X�$'��(	'�%r*

Youez - 2016 - github.com/yon3zu
LinuXploit