+
    € ’eÁ‹  ã                   ó4  € R t ^ RIHtHtHt ^ RIHtHtHt ^ RIH	t	 ^ RI
HtHtHt ^ RIHt ]P                   t]P"                  t]P$                  t]P&                  P(                  t]P&                  P*                  t]P&                  P,                  t]P&                  P.                  t]P0                  ! 4       tR]P4                  ! RR4      R	]P4                  ! RR
4      R]P4                  ! RR4      R]P4                  ! RR4      R]P4                  ! RR4      R]P4                  ! RR4      R]P4                  ! RR4      R]P4                  ! RR4      R]P4                  ! RR4      /	t ! R R]4      tR tR t ! R R4      t ]]]3t! ! R R ]4      t" ! R! R"]4      t# ! R# R$]#4      t$ ! R% R&]#4      t%R't&R(]&,          t' ! R) R*] 4      t( ! R+ R,4      t) ! R- R.])] 4      t* ! R/ R0])](4      t+ ! R1 R2],4      t- ! R3 R4] 4      t.R:R5 lt/R:R6 lt0R:R7 lt1R:R8 lt2R9 t3R# );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Ú_XML_WHITESPACE)Ú
NodeFilterÚCDATANÚcdataÚENUMÚenumerationÚENTITYÚentityÚENTITIESÚentitiesÚIDÚidÚIDREFÚidrefÚIDREFSÚidrefsÚNMTOKENÚnmtokenÚNMTOKENSÚnmtokensc                   ó^   a € ] tR t^=t o RtRR ltR tR tR tR t	R t
R tR	 tR
 tRtV tR# )ÚElementInfoNc                ó,   € Wn         . V n        W n        R # ©N)ÚtagNameÚ
_attr_infoÚ_model)Úselfr#   Úmodels   &&&ÚfC:\Users\johnn\AppData\Local\hermes\tools\python-3.14.9+20261021-win32-x64\Lib\xml\dom\expatbuilder.pyÚ__init__ÚElementInfo.__init__@   s   € ØŒØˆŒØŽó    c                óH   € V P                   V P                  V P                  3# r"   ©r$   r%   r#   ©r&   s   &r(   Ú__getstate__ÚElementInfo.__getstate__E   s   € Ø�‰ §¡¨T¯\©\Ð9Ð9r+   c                ó0   € Vw  V n         V n        V n        R # r"   r-   )r&   Ústates   &&r(   Ú__setstate__ÚElementInfo.__setstate__H   s   € Ø5:Ñ2ˆŒ˜œ d¦lr+   c                óÜ   € V P                    FM  pV^,          V8X  g   K  VR,          pV^ ,          R8X  d   \        R,          u # \        VR,          ,          u # 	  \        P                  # )é   Ú(r   éþÿÿÿ)r$   Ú_typeinfo_mapr   Ú_no_type)r&   ÚanameÚinfoÚts   &&  r(   ÚgetAttributeTypeÚElementInfo.getAttributeTypeK   sX   € Ø—O”OˆDØ�A�w˜%ÖØ˜•H�Ø�Q•4˜3”;Ü(¨Õ0Ò0ä(¨¨b­Õ2Ò2ñ $ô ×ÑÐr+   c                ó"   € \         P                  # r"   )r   r:   )r&   ÚnamespaceURIÚ	localNames   &&&r(   ÚgetAttributeTypeNSÚElementInfo.getAttributeTypeNSU   s   € Ü×ÑÐr+   c                ó¾   € V P                   '       dK   V P                   ^ ,          pV\        P                  P                  \        P                  P                  39  # R# ©é    F)r%   r   r'   ÚXML_CTYPE_ANYÚXML_CTYPE_MIXED)r&   Útypes   & r(   ÚisElementContentÚElementInfo.isElementContentX   sH   € Ø�;�;ˆ;Ø—;‘;˜q•>ˆDØ¤§¡× 9Ñ 9Ü %§¡× ;Ñ ;ð =ñ =ð =ñ r+   c                ó†   € V P                   '       d/   V P                   ^ ,          \        P                  P                  8H  # R# rF   )r%   r   r'   ÚXML_CTYPE_EMPTYr.   s   &r(   ÚisEmptyÚElementInfo.isEmpty`   s+   € Ø�;�;ˆ;Ø—;‘;˜q•>¤U§[¡[×%@Ñ%@Ñ@Ð@ár+   c                ód   € V P                    F  pV^,          V8X  g   K  VR,          R8H  u # 	  R# )r6   r   Fr8   )r$   )r&   r;   r<   s   && r(   ÚisIdÚElementInfo.isIdf   s0   € Ø—O”OˆDØ�A�w˜%ÖØ˜B•x 4Ñ'Ò'ñ $ñ r+   c                ó&   € V P                  W434      # r"   )rR   )r&   ÚeuriÚenameÚaurir;   s   &&&&&r(   ÚisIdNSÚElementInfo.isIdNSl   s   € à�y‰y˜$˜Ó'Ð'r+   r-   r"   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	__slots__r)   r/   r3   r>   rC   rK   rO   rR   rX   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r(   r    r    =   s<   ø‡ € Ø1€Iôò
:ò;ò ò òòò÷(ð (r+   r    c                 ó$   € V P                  W4      # r"   )Ú_intern_setdefault)ÚbuilderÚss   &&r(   Ú_internrg   p   s   € Ø×%Ñ% aÓ+Ð+r+   c                 ó>  € R V9   g   Q hVP                  R 4      pV P                  p\        V4      ^8X  d(   Vw  rEpV! Wf4      pV: RV: 2pV! Ww4      pV! WU4      pM6\        V4      ^8X  d   Vw  rE\        pV! WU4      ;ruM\	        RV,          4      hV! WD4      WVV3# )Ú Ú:z4Unsupported syntax: spaces in URIs not supported: %r)Úsplitrd   Úlenr   Ú
ValueError)re   ÚnameÚpartsÚinternÚuriÚ	localnameÚprefixÚqnames   &&      r(   Ú_parse_ns_nameru   s   s­   € Ø�$Œ;Ðˆ;Ø�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 € ] tR t^†t o RtR R ltR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t Rt!V t"R# )!ÚExpatBuilderzLDocument builder that uses Expat to build a ParsedXML.DOM document
instance.Nc                ó  € Vf   \         P                  ! 4       pWn        V P                  P                  e&   \	        V P                  P                  4      V n        MR V n        \        V n        R V n        V P                  4        R # 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       # )zCreate a new parser object.)r   ÚParserCreater.   s   &r(   ÚcreateParserÚExpatBuilder.createParser˜   s   € ä×!Ò!Ó#Ð#r+   c                óN  € V P                   '       g‰   V P                  4       V n         V P                   P                  P                  V n        RV P                   n        RV P                   n        RV P                   n        V P                  V P                   4       V P                   # )z7Return the parser object, creating a new one if needed.T)	r   r…   rp   Ú
setdefaultrd   Ú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                  \        RR4      V n        V P                  V n        V P                  P
                  V n        RV n        R# )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                ó®  € V P                   Vn        V P                  Vn        V P                  Vn        V P                  Vn        V P                  P                  '       d   V P                  Vn        V P                  Vn        V P                  P                  '       d   V P                  Vn        V P                  P"                  '       d5   V P$                  Vn        V P(                  Vn        V P,                  Vn        MV P0                  Vn        V P2                  Vn        V P6                  Vn        V P:                  Vn        V P>                  Vn         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ÚProcessingInstructionHandlerrz   r   Ú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                ó€  € V P                  4       pRp VP                  R4      ;p'       dL   VP                  VR4       V'       d.   V P                  P                  '       d   V P                  V4       RpKd  VP                  RR4       V P                  pV P                  4        RV n        V#   \         d     L2i ; i)zAParse a document from a file object, returning the document
node.TFr+   Ni @  )	r�   ÚreadÚParser’   ÚdocumentElementÚ_setup_subsetÚParseEscaper€   r   )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                óÖ   € V P                  4       p VP                  VR4       V P                  V4       V P                  pV P                  4        RV n        V#   \         d     L2i ; i)z<Parse a document from a string, returning the document node.TN)r�   r¼   r¾   r¿   r’   r€   r   )r&   Ústringr¸   rÃ   s   &&  r(   ÚparseStringÚExpatBuilder.parseStringÙ   sc   € à—‘Ó!ˆð	Ø�L‰L˜ Ô&Ø×Ñ˜vÔ&ð �m‰mˆØ�
‰
ŒØˆŒØˆ
øô ô 	Ùð	ús   ’#A ÁA(Á'A(c                óÌ   € V P                   P                  '       dH   \        4       pVP                  V4       VP	                  4       pW0P                   P                  n        R# 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                óž  € V P                   P                  P                  WV4      pV P                   Vn        \	        V P                   V4       WPP                   n        V P                  '       dq   V P                  P                  V4      \        8X  dM   R V P                   n        V P                   P                  R R pR V P                  n        R V P                  n        V'       df   Ve#   . VP                  n        . VP                  n        R V P                  n        R V P                  n        V P$                  V P                  n        R # 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                ó  € V P                   P                  '       d   V P                  V P                  n        V P
                  V P                  n        V P                  '       g"   V P                  '       g   \        V n
        R # R # R # r"   )rz   r¤   r¥   r   r¦   rž   rŸ   r”   r}   r   Ú_finish_end_elementr.   s   &r(   rÝ   Ú%ExpatBuilder.end_doctype_decl_handler  sT   € Ø�=‰=×!×!Ð!Ø*.×*>Ñ*>ˆD�L‰LÔ'Ø48·O±Oˆ�‰Ô1Ø——� 4§<§< <Ü')ˆDÖ$ñ $0‘r+   c                ó  € V P                   P                  W4      p\        V P                  V4       V P                  '       dD   V P                  P                  V4      \        8X  d   V P                  P                  V4       R # 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                ó@  € V P                   P                  pV P                  '       dl   V P                  '       d7   VR,          P                  \
        8X  d   VR,          P                  V4       R# V P                  P                  V4      pRV n        MtV'       dA   VR,          P                  \        8X  d%   VR,          pVP                  V,           pWCn
        R# \        P                  ! 4       pWn
        V P                  Vn        \        V P                   V4       R# )r6   NTrÔ   )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_cdata  sÇ   € Ø—\‘\×,Ñ,ˆ
Ø�;�;ˆ;Ø×&×&Ð&Ø  •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  € V P                   P                  pV'       d@   VR,          P                  \        8X  d$   VR,          pVP                  V,           Vn        R# \
        P                  ! 4       pVP                  V,           Vn        V P                  Vn        \        V P                   V4       R# ©r6   NrÔ   )
r“   rÚ   rð   rô   rë   r   rõ   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'       d   R # V P                   P                  '       g   R # V P                  P                  WWW4      pVe7   V P                  P	                  V4      p	VP
                  P                  V	4       V P                  P                  P                  P                  P                  V4       V P                  '       dT   V P                  P                  V4      \        8X  d.   V P                  P                  P                  P                  R R # R # R # rÓ   )rz   r   r’   Ú_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  € V P                   P                  WV4      pV P                   P                  P                  P                  P                  V4       V P                  '       dT   V P                  P                  V4      \        8X  d.   V P                   P                  P                  P                  R R# R# R# rù   )	r’   Ú_create_notationrË   rÜ   rÛ   rþ   r}   rØ   ÚFILTER_ACCEPT)r&   r  r  rà   rá   rì   s   &&&&& r(   r¢   Ú"ExpatBuilder.notation_decl_handlerA  s�   € Ø�}‰}×-Ñ-¨lÀhÓOˆØ�‰×Ñ×'Ñ'×,Ñ,×3Ñ3°DÔ9Ø�<�<ˆ<˜DŸL™L×3Ñ3°DÓ9¼]ÔJØ—‘×%Ñ%×/Ñ/×4Ñ4°RÒ8ñ K‰<r+   c                ó  € V P                   P                  V4      p\        V P                  V4       V P                  '       dD   V P                  P                  V4      \        8X  d   V P                  P                  V4       R # R # R # r"   )r’   ÚcreateCommentr	   r“   r}   rØ   rÙ   ré   )r&   rë   rì   s   && r(   r¥   ÚExpatBuilder.comment_handlerG  s]   € Ø�}‰}×*Ñ*¨4Ó0ˆÜ�d—l‘l DÔ)Ø�<�<ˆ<˜DŸL™L×3Ñ3°DÓ9¼]ÔJØ�L‰L×$Ñ$ TÖ*ñ K‰<r+   c                ó"   € R V n         RV n        R# )TFN©r•   rï   r.   s   &r(   r¨   Ú(ExpatBuilder.start_cdata_section_handlerM  s   € ØˆŒØ$ˆÖr+   c                ó"   € R V n         R V n        R# )FNr  r.   s   &r(   rª   Ú&ExpatBuilder.end_cdata_section_handlerQ  s   € ØˆŒØ$ˆÖr+   c                ó   € ^# )r6   © )r&   Úcontextr  rà   rá   s   &&&&&r(   r¯   Ú(ExpatBuilder.external_entity_ref_handlerU  s   € Ùr+   c                ó¼   € V P                   f   V P                  '       g   \        V n        V P                  V P                  4       n        V P	                  W4       R # r"   )r}   r”   r   rå   Ústart_element_handlerr�   r›   )r&   rn   Ú
attributess   &&&r(   rš   Ú"ExpatBuilder.first_element_handlerX  s?   € Ø�<‰<Ò¨¯¯¨Ü')ˆDÔ$Ø/3×/IÑ/Iˆ�‰ÓÔ,Ø×"Ñ" 4Ö4r+   c                óÆ  € V P                   P                  V4      p\        V P                  V4       W0n        V'       dv   \	        ^ \        V4      ^4       F[  p\        P                  ! W$,          \        R\        4      pW$^,           ,          pWen
        V P                   Vn        \        W54       K]  	  W0P                   P                  Jd   V P                  V4       R# R# ©rG   N)r’   ÚcreateElementr	   r“   Úrangerl   r   ÚAttrr   r   rö   r×   r
   r½   r~   )r&   rn   r  rì   Ú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  € V P                   '       d¥   WP                  P                  J d   R # V P                   P                  V4      pV\        8X  d   \        V 4       MV\        8X  d   \        V 4       MR # VP                  V n	        VP                  P                  V4       VP                  4        R # R # r"   )r}   r’   r½   ÚstartContainerrÙ   ÚRejecterÚFILTER_SKIPÚSkipperÚ
parentNoder“   ré   Úunlink)r&   rì   Úfilts   && r(   r~   Ú"ExpatBuilder._finish_start_elemento  s‚   € Ø�<�<ˆ<ð —}‘}×4Ñ4Ó4ÙØ—<‘<×.Ñ.¨tÓ4ˆDØ”}Ô$ä˜•ØœÔ$ô ˜•áØŸ?™?ˆDŒLØ�O‰O×'Ñ'¨Ô-Ø�K‰KŽMñ# r+   c                ób   € V P                   pVP                  V n         V P                  V4       R # r"   )r“   r&  rå   )r&   rn   r“   s   && r(   rœ   Ú ExpatBuilder.end_element_handler†  s&   € Ø—,‘,ˆØ×)Ñ)ˆŒØ× Ñ  Ö)r+   c                ó‚  € V P                   P                  VP                  4      pV'       d   V P                  W4       V P                  '       do   WP
                  P                  J d   R # V P                  P                  V4      \        8X  d.   V P                  P                  V4       VP                  4        R # 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                ój  € V P                   P                  '       g   VP                  4       '       g   R # . pVP                   FR  pVP                  \
        8X  g   K  VP                  P                  \        4      '       d   KA  VP                  V4       KT  	  V F  pVP                  V4       K  	  R # r"   )rz   Úwhitespace_in_element_contentrK   rÚ   rð   rô   rë   Ústripr   rþ   ré   )r&   rì   r<   ÚLr  s   &&&  r(   r.  Ú%ExpatBuilder._handle_white_text_nodes–  s   € Ø�M‰M×7×7Ð7Ø×(Ñ(×*Ò*Ùð
 ˆØ—_”_ˆEØ—‘¤)Ö+Ø!ŸJ™J×,Ñ,¬_×=Ô=Ø—‘˜–ñ %ó ˆEØ×Ñ˜UÖ#ó r+   c                ó¤   € V P                   P                  V4      pVf   \        W4      V P                   V&   R # VP                  e   Q hW#n        R # r"   )r”   r-  r    r%   )r&   rn   r'   r<   s   &&& r(   r³   Ú!ExpatBuilder.element_decl_handler¨  sC   € Ø�‰×"Ñ" 4Ó(ˆØŠ<Ü$/°Ó$<ˆD�O‰O˜DÓ!à—;‘;Ò&Ð&Ð&ØŽKr+   c           
     óº   € V P                   P                  V4      pVf   \        V4      pW`P                   V&   VP                  P	                  R VR R V^ W5.4       R # r"   )r”   r-  r    r$   rþ   )r&   Úelemrn   rJ   ÚdefaultÚrequiredr<   s   &&&&&& r(   rµ   Ú!ExpatBuilder.attlist_decl_handler°  sV   € Ø�‰×"Ñ" 4Ó(ˆØŠ<Ü˜tÓ$ˆDØ$(�O‰O˜DÑ!Ø�‰×ÑØ�4˜˜t W¨a°Ð@ö	Br+   c                ó°   € WP                   n        W P                   n        V^ 8¼  d/   V'       d   RV P                   n        R# RV P                   n        R# R# )rG   TFN)r’   ÚversionÚencodingÚ
standalone)r&   r=  r>  r?  s   &&&&r(   r±   ÚExpatBuilder.xml_decl_handler¸  s=   € Ø '�‰ÔØ!)�‰Ôà˜Œ?ßØ+/�—‘Ö(à+0�—‘Ö(ñ	 r+   )r•   rï   r”   r}   rå   r~   rd   rz   r   r“   r’   r"   )#rZ   r[   r\   r]   Ú__doc__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`   ra   s   @r(   rw   rw   †   s�   ø‡ € ñôò$ò	òò>ò.ò&ò:òOò**ò+ò*ò(	*ò8ò$9ò+ò%ò%òò5ò-ò"ò.*ò
	!ò$ò$ òB÷1ð 1r+   rw   c                   óN  a € ] tR tRt o RtRtR tR tR t]	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#Rt$V t%R# )r|   iÇ  zkWrapper around a DOMBuilderFilter which implements the checks
to make the whatToShow filter attribute work.c                ó   € Wn         R # r"   ©r{   )r&   r{   s   &&r(   r)   Ú#FilterVisibilityController.__init__Í  s   € ØŽr+   c                ó6  € V P                   VP                  ,          pV P                  P                  V,          '       dU   V P                  P	                  V4      pV\
        8X  d   \        hV\        9  d   \        R \        V4      ,           4      hV# \        # )z)startContainer() returned illegal value: )Ú_nodetype_maskrð   r{   Ú
whatToShowr"  ÚFILTER_INTERRUPTr¿   Ú_ALLOWED_FILTER_RETURNSrm   Ú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                óÆ  € V P                   VP                  ,          pV P                  P                  V,          '       d�   V P                  P	                  V4      pV\
        8X  d   \        hV\        8X  d>   VP                  pVP                  R ,           F  pVP                  V4       K  	  \        # V\        9  d   \        R\        V4      ,           4      hV# \        # )ºNNNz%acceptNode() returned illegal value: )rG  rð   r{   rH  rØ   rI  r¿   r$  r&  rÚ   ÚappendChildrÙ   rJ  rm   rK  r  )r&   rì   rL  rM  Úparentr  s   &&    r(   rØ   Ú%FilterVisibilityController.acceptNodeÝ  sº   € Ø×"Ñ" 4§=¡=Õ1ˆØ�;‰;×!Ñ! D×(Ô(Ø—+‘+×(Ñ(¨Ó.ˆCØÔ&Ô&Ü!Ð!Ø”kÔ!àŸ™�Ø!Ÿ_™_¨Q×/Ð/�EØ×&Ñ& uÖ-ñ 0ô %Ð$ØÔ1Ô1Ü Ø=ÄÀSÃ	ÕIóKð KàˆJä Ð r+   rD  N)&rZ   r[   r\   r]   rA  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_NOTATIONrG  r_   r`   ra   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 € ] tR tRt o RtR tRtV tR# )ÚFilterCrutchi  c                óÀ   € ^ V n         Wn        VP                  pVP                  V n        VP
                  V n        V P                  Vn        V P                  Vn        R# r  )	Ú_levelÚ_builderr   r›   Ú
_old_startr�   Ú_old_endr  rœ   )r&   re   r¸   s   && r(   r)   ÚFilterCrutch.__init__  sM   € ØˆŒØŒØ—‘ˆØ ×4Ñ4ˆŒØ×0Ñ0ˆŒØ%)×%?Ñ%?ˆÔ"Ø#'×#;Ñ#;ˆÖ r+   )rn  rm  rp  ro  N)rn  rm  ro  rp  )rZ   r[   r\   r]   r^   r)   r_   r`   ra   s   @r(   rk  rk    s   ø‡ € Ø>€I÷<ð <r+   rk  c                   ó6   a € ] tR tRt o RtR tR tR tRtV t	R# )r#  i  c                ór   € \         P                  W4       VP                  pR F  p\        W#R4       K  	  R# )rŸ   N)rŸ   r¦   r­   r©   r«   r°   )rk  r)   r   Úsetattr)r&   re   r¸   rn   s   &&  r(   r)   ÚRejecter.__init__  s1   € Ü×Ñ˜dÔ,Ø—‘ˆóˆDô �F $Ö'ór+   c                ó6   € V P                   ^,           V n         R# ©r6   N©rm  ©r&   Úargss   &*r(   r  ÚRejecter.start_element_handler  s   € Ø—k‘k A•oˆŽr+   c                ó  € V P                   ^ 8X  dV   V P                  P                  pV P                  P                  V4       V P                  Vn        V P                  Vn        R# V P                   ^,
          V n         R# r  )rm  rn  r   rŒ   ro  r›   rp  r�   )r&   rz  r¸   s   &* r(   rœ   ÚRejecter.end_element_handler  sV   € Ø�;‰;˜!Ôà—]‘]×*Ñ*ˆFØ�M‰M×!Ñ! &Ô)Ø)-¯©ˆFÔ&Ø'+§}¡}ˆFÖ$àŸ+™+¨�/ˆDŽKr+   rx  Nr  )
rZ   r[   r\   r]   r^   r)   r  rœ   r_   r`   ra   s   @r(   r#  r#    s   ø‡ € Ø€Iò
(ò&÷*ð *r+   r#  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )r%  i)  c                óº   € V P                   P                  pV P                  ! V!   V P                   P                  VJd   V P                  ^,           V n        R# R# rw  )rn  r“   ro  rm  )r&   rz  rì   s   &* r(   r  ÚSkipper.start_element_handler,  sC   € Ø�}‰}×$Ñ$ˆØ�Š˜ÒØ�=‰=× Ñ ¨Ó,ØŸ+™+¨�/ˆDŽKñ -r+   c                ó  € V P                   ^ 8X  dT   V P                  V P                  P                  n        V P
                  V P                  P                  n        RV n        R# V P                   ^,
          V n         V P
                  ! V!   R# r  )rm  ro  rn  r   r›   rp  r�   ry  s   &*r(   rœ   ÚSkipper.end_element_handler2  s^   € Ø�;‰;˜!Ôð 9=¿¹ˆD�M‰M×!Ñ!Ô5Ø6:·m±mˆD�M‰M×!Ñ!Ô3Ø ˆDŽMàŸ+™+¨�/ˆDŒKØ�MŠM˜4Ô r+   )rn  rm  Nr  )	rZ   r[   r\   r]   r^   r  rœ   r_   r`   ra   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                   óR   a € ] tR tRt o RtRR ltR tR tR tR t	R	 t
R
 tRtV tR# )ÚFragmentBuilderiQ  zÝ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                ó¢   € VP                   \        8X  d   Wn        Wn        MVP                  V n        Wn        \
        P                  W4       R # r"   )rð   rb  ÚoriginalDocumentr  r×   rw   r)   )r&   r  r�   s   &&&r(   r)   ÚFragmentBuilder.__init__Z  s<   € Ø×Ñœ}Ô,Ø$+Ô!Ø"�Là$+×$9Ñ$9ˆDÔ!Ø"ŒLÜ×Ñ˜dÖ,r+   c                ó>   € \         P                  V 4       R V n        R # r"   )rw   r€   Úfragmentr.   s   &r(   r€   ÚFragmentBuilder.resetc  s   € Ü×Ñ˜4Ô ØˆŽr+   c                ó@   € V P                  VP                  4       4      # )zJParse a document fragment from a file object, returning the
fragment node.)rÈ   r»   ©r&   rÀ   s   &&r(   rÄ   ÚFragmentBuilder.parseFileg  s   € ð ×Ñ §	¡	£Ó,Ð,r+   c                ó6  € Wn         V P                  4       pV P                  P                  pRpV'       d}   VP                  ;'       g    V P                  4       pVP                  '       d!   RVP                  : RVP                  : R2pM(VP                  '       d   RVP                  ,          pMRpV P                  4       p\        WEV3,          p VP                  VR4       T P                  pT P                  4        T#    T P                  4        h ; i)zEParse a document fragment from a string, returning the
fragment node.Ú zPUBLIC "z" "Ú"zSYSTEM "%s"T)Ú_sourcer�   r†  rË   rÎ   Ú_getDeclarationsrá   rà   Ú_getNSattrsÚ_FRAGMENT_BUILDER_TEMPLATEr¼   r€   r‰  )	r&   rÇ   r¸   rË   ÚidentrÐ   Únsattrsr’   r‰  s	   &&       r(   rÈ   ÚFragmentBuilder.parseStringl  sí   € ð ŒØ—‘Ó!ˆØ×'Ñ'×/Ñ/ˆØˆßØ×+Ñ+×FÐF¨t×/DÑ/DÓ/FˆFØ××Ñà#×,Ô,¨g×.>Ô.>ð@‘à×!×!Ð!Ø%¨×(8Ñ(8Õ8�øàˆFØ×"Ñ"Ó$ˆÜ-°ÀÐ0HÕHˆð	Ø�L‰L˜ 4Ô(ð —=‘=ˆØ�
‰
Œàˆøð	Ø�J‰JŒLØús   ÃD ÄDc                óÔ  € V P                   P                  P                  pRpV'       Ed½   \        VP                  P
                  4       FŒ  pVP                  P                  V4      pV'       d
   VR,           pV: RVP                  : 2pVP                  '       d%   V: RVP                  : RVP                  : R2pKx  V: RVP                  : R2pKŽ  	  \        VP                  P
                  4       Fê  pVP                  P                  V4      pV'       d
   VR,           pV: RVP                  : 2pVP                  '       d$   V: RVP                  : RVP                  : R	2pMEVP                  '       d   V: RVP                  : R	2pMV: R
VP                  P                  : R	2pVP                  '       d   V: RVP                  : 2pVR,           pKì  	  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 Ú>)r  r×   rË   r  rÜ   ÚlengthÚitemÚnodeNamerá   rà   r   Ú
firstChildrë   r  )r&   rË   rf   r  Únotationr   s   &     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�  r  r.   s   &r(   r“  ÚFragmentBuilder._getNSattrs¬  s   € Ùr+   c                óÂ  € V\         8X  d§   V P                  pV P                  pV P                  P	                  V4      pV P
                  V n        V P                  P                  4       V n        V P                  V n         VP                  V P                  R 4       W`n        WPn        RV n	        R# \        P                  WW#V4      #   Y`n        YPn        RT n	        i ; i)TNrÔ   )Ú$_FRAGMENT_BUILDER_INTERNAL_SYSTEM_IDr’   r“   r   ÚExternalEntityParserCreater†  ÚcreateDocumentFragmentr‰  r¼   r‘  rw   r¯   )r&   r  r  rà   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‘  r  r“   r’   r‰  r†  r"   )rZ   r[   r\   r]   rA  r)   r€   rÄ   rÈ   r’  r“  r¯   r_   r`   ra   s   @r(   r„  r„  Q  s3   ø‡ € ñô-òò-ò
ò8"òH÷9ð 9r+   r„  c                   óJ   a € ] tR tRt o RtR tR tR tR tR t	 R t
R	tV tR
# )Ú
NamespacesiÆ  z7Mix-in class for builders; adds support for namespaces.c                ó   € . V n         R # r"   )Ú_ns_ordered_prefixesr.   s   &r(   Ú_initNamespacesÚNamespaces._initNamespacesÉ  s   € ð %'ˆÖ!r+   c                óB   € \         P                  ! RR7      pRVn        V# )z'Create a new namespace-handling parser.ri   )Únamespace_separatorT)r   r„   Únamespace_prefixesr·   s   & r(   r…   ÚNamespaces.createParserÎ  s   € ä×#Ò#¸Ô<ˆØ$(ˆÔ!Øˆr+   c                óŽ   € \         P                  W4       V P                  P                  '       d   V P                  Vn        R# R# )z.Insert the namespace-handlers onto the parser.N)rw   rŒ   rz   Únamespace_declarationsÚstart_namespace_decl_handlerÚStartNamespaceDeclHandlerr·   s   &&r(   rŒ   ÚNamespaces.installÔ  s6   € ä×Ñ˜TÔ*Ø�=‰=×/×/Ð/à×1Ñ1ð Ö,ñ 0r+   c                ó>   € V P                   P                  W34       R# )z/Push this namespace declaration on our storage.N)r¬  rþ   )r&   rs   rq   s   &&&r(   rµ  Ú'Namespaces.start_namespace_decl_handlerÛ  s   € à×!Ñ!×(Ñ(¨&¨Ö7r+   c                ó  € R V9   d   \        W4      w  r4rVM\        pTpRp\        p\        P                  ! WcWT4      pV P
                  Vn        \        V P                  V4       Wpn        V P                  '       d�   V P                   F  w  rSV'       d0   \        P                  ! \        V RV,           4      \        VR4      pM!\        P                  ! R\        R\        4      pW8n        V P
                  Vn        \        Wx4       K�  	  V P                  R V'       dá   VP                  4        VP                   p	VP"                  p
\%        ^ \'        V4      ^4       Fœ  pW+,          pW+^,           ,          pR V9   d0   \        W4      w  r4rV\        P                  ! WcWE4      pW‰V&   WŠW43&   M/\        P                  ! V\        V\        4      pW‰V&   WŠ\        V3&   V P
                  Vn        WØn        Wxn        Kž  	  R# R# )ri   Núxmlns:ÚxmlnsrP  )ru   r   r   r   ÚElementr’   r×   r	   r“   r¬  r  rg   r   rö   r
   Ú_ensure_attributesÚ_attrsÚ_attrsNSr  rl   ÚownerElement)r&   rn   r  rq   rr   rs   rt   rì   r  r¿  rÀ  r  r;   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  € V P                   pR V9   dJ   \        W4      w  r4rVVP                  V8X  d#   VP                  V8X  d   VP                  V8X  g   Q R4       hM4VP
                  V8X  g   Q R4       hVP                  \        8X  g   Q R4       hVP                  V n         V P                  V4       R# )ri   z$element stack messed up! (namespace)z&element stack messed up - bad nodeNamez*element stack messed up - bad namespaceURIN)	r“   ru   rA   rB   rs   rœ  r   r&  rå   )r&   rn   r“   rq   rr   rs   rt   s   &&     r(   rœ   ÚNamespaces.end_element_handler  s½   € Ø—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)rZ   r[   r\   r]   rA  r­  r…   rŒ   rµ  r  rœ   r_   r`   ra   s   @r(   rª  rª  Æ  s1   ø‡ € ÙAò'ò
ò3ò8ò-&ð^ ÷	.ð 	.r+   rª  c                   ó*   a € ] tR tRt o RtR tRtV tR# )ÚExpatBuilderNSi%  z*Document builder that supports namespaces.c                óP   € \         P                  V 4       V P                  4        R # r"   )rw   r€   r­  r.   s   &r(   r€   ÚExpatBuilderNS.reset(  s   € Ü×Ñ˜4Ô Ø×ÑÖr+   r  N)rZ   r[   r\   r]   rA  r€   r_   r`   ra   s   @r(   rÆ  rÆ  %  s   ø‡ € Ù4÷ð r+   rÆ  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )ÚFragmentBuilderNSi-  z*Fragment builder that supports namespaces.c                óP   € \         P                  V 4       V P                  4        R # r"   )r„  r€   r­  r.   s   &r(   r€   ÚFragmentBuilderNS.reset0  s   € Ü×Ñ˜dÔ#Ø×ÑÖr+   c                ó\  € RpV P                   p. pV'       d”   \        VR4      '       dt   VP                  P                  4        FU  w  rEWC9   d   K  VP	                  V4       V'       d   RV,           pMRpV'       d   V: RV: RV: R2pKJ  RV: RV: R2pKW  	  VP
                  pK›  V# )	zFReturn string of namespace attributes from this element and
ancestors.r�  Ú_ns_prefix_urir»  r¼  z
    z='Ú'ri   )r  ÚhasattrrÎ  Úitemsrþ   r&  )r&   Úattrsr  r3  rs   rq   Údeclnames   &      r(   r“  ÚFragmentBuilderNS._getNSattrs4  sœ   € ð ˆØ—,‘,ˆØˆßÜ�wÐ 0×1Ò1Ø#*×#9Ñ#9×#?Ñ#?Ö#A‘K�Fà”{Ù Ø—H‘H˜VÔ$ßØ#+¨fÕ#4™à#*˜ßÛ5:»HÃcÐ Jšð ó /7»Ð <šñ $Bð ×(Ñ(ŠGØˆr+   r  N)	rZ   r[   r\   r]   rA  r€   r“  r_   r`   ra   s   @r(   rÊ  rÊ  -  s   ø‡ € Ù4ò÷ð r+   rÊ  c                   ó   € ] tR tRtRtRtR# )r¿   iR  zEException raised to short-circuit parsing in InternalSubsetExtractor.r  N)rZ   r[   r\   r]   rA  r_   r  r+   r(   r¿   r¿   R  s   † ÙOÛr+   r¿   c                   óR   a € ] tR tRt o RtRtR tR tR tR t	R t
R	 tR
 tRtV tR# )rÌ   iV  zBXML processor which can rip out the internal document type subset.Nc                ó   € V P                   # )z'Return the internal subset as a string.©rÐ   r.   s   &r(   rÍ   Ú!InternalSubsetExtractor.getSubset[  s   € à�{‰{Ðr+   c                óV   €  \         P                  W4       R #   \         d     R # i ; ir"   )rw   rÄ   r¿   rŒ  s   &&r(   rÄ   Ú!InternalSubsetExtractor.parseFile_  s'   € ð	Ü×"Ñ" 4Ö.øÜô 	Úð	úó   ‚ ™(§(c                óV   €  \         P                  W4       R #   \         d     R # i ; ir"   )rw   rÈ   r¿   )r&   rÇ   s   &&r(   rÈ   Ú#InternalSubsetExtractor.parseStringe  s'   € ð	Ü×$Ñ$ TÖ2øÜô 	Úð	úrÜ  c                óJ   € V P                   Vn        V P                  Vn        R # r"   )r˜   r™   r  r›   r·   s   &&r(   rŒ   ÚInternalSubsetExtractor.installk  s   € Ø)-×)HÑ)HˆÔ&Ø%)×%?Ñ%?ˆÖ"r+   c                ó°   € V'       dF   V P                  4       p. V n        V P                  P                  Vn        V P                  Vn        R # \        4       hr"   )r�   rÐ   rþ   ÚDefaultHandlerrÝ   rÞ   r¿   )r&   rn   rá   rà   râ   r¸   s   &&&&& r(   r˜   Ú2InternalSubsetExtractor.start_doctype_decl_handlero  s@   € çØ—^‘^Ó%ˆFØˆDŒKØ$(§K¡K×$6Ñ$6ˆFÔ!Ø+/×+HÑ+HˆFÖ(ä“-Ðr+   c                ó˜   € R P                  V P                  4      P                  RR4      P                  RR4      pWn        \        4       h)r�  z
Ú
Ú)ÚjoinrÐ   Úreplacer¿   )r&   rf   s   & r(   rÝ   Ú0InternalSubsetExtractor.end_doctype_decl_handlery  s;   € Ø�G‰G�D—K‘KÓ ×(Ñ(¨°Ó6×>Ñ>¸tÀTÓJˆØŒÜ‹mÐr+   c                ó   € \        4       hr"   )r¿   )r&   rn   rÒ  s   &&&r(   r  Ú-InternalSubsetExtractor.start_element_handler~  s
   € Ü‹mÐr+   rØ  )rZ   r[   r\   r]   rA  rÐ   rÍ   rÄ   rÈ   rŒ   r˜   rÝ   r  r_   r`   ra   s   @r(   rÌ   rÌ   V  s6   ø‡ € ÙLà€Fòòòò@ò ò÷
ð r+   rÌ   c                ó  € V'       d   \        4       pM
\        4       p\        V \        4      '       d1   \	        V R4      ;_uu_ 4       pVP                  V4      pRRR4       V# VP                  V 4      pV#   + '       g   i     X# ; i)zsParse a document, returning the resulting Document node.

'file' may be either a file name or an open file object.
ÚrbN)rÆ  rw   Ú
isinstanceÚstrÚopenrÄ   )rÀ   Ú
namespacesre   ÚfpÚresults   &&   r(   Úparserô  ‚  su   € ÷
 Ü Ó"‰ä“.ˆä�$œ×ÒÜ�$˜×Ô Ø×&Ñ& rÓ*ˆF÷ ð €Mð ×"Ñ" 4Ó(ˆØ€M÷	 Öð €Mús   ÁA7Á7B	c                ó^   € V'       d   \        4       pM
\        4       pVP                  V 4      # )zGParse a document from a string, returning the resulting
Document node.
)rÆ  rw   rÈ   )rÇ   rñ  re   s   && r(   rÈ   rÈ   ”  s'   € ÷ Ü Ó"‰ä“.ˆØ×Ñ˜vÓ&Ð&r+   c                ó  € V'       d   \        V4      pM\        V4      p\        V \        4      '       d1   \	        V R4      ;_uu_ 4       pVP                  V4      pRRR4       V# VP                  V 4      pV#   + '       g   i     X# ; 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À   r  rñ  re   rò  ró  s   &&&   r(   ÚparseFragmentr÷  Ÿ  sz   € ÷ Ü# GÓ,‰ä! 'Ó*ˆä�$œ×ÒÜ�$˜×Ô Ø×&Ñ& rÓ*ˆF÷ ð €Mð ×"Ñ" 4Ó(ˆØ€M÷	 Öð €Mús   Á
A9Á9B
	c                ób   € V'       d   \        V4      pM\        V4      pVP                  V 4      # )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Ç   r  rñ  re   s   &&& r(   ÚparseFragmentStringrù  ³  s,   € ÷
 Ü# GÓ,‰ä! 'Ó*ˆØ×Ñ˜vÓ&Ð&r+   c                óR   € V P                   '       d   \        V 4      # \        V 4      # )z,Create a builder based on an Options object.)rñ  rÆ  rw   )r�   s   &r(   ÚmakeBuilderrû  ¿  s$   € à××ÐÜ˜gÓ&Ð&ä˜GÓ$Ð$r+   )T)4rA  Úxml.domr   r   r   r   r   r   Úxml.parsersr   Úxml.dom.minidomr	   r
   r   Úxml.dom.NodeFilterr   rô   rñ   rb  ÚDOMBuilderFilterr  rÙ   r$  rI  ÚgetDOMImplementationr�   ÚTypeInfor9   Úobjectr    rg   ru   rw   rJ  r|   rk  r#  r%  r£  r”  r„  rª  rÆ  rÊ  Ú	Exceptionr¿   rÌ   rô  rÈ   r÷  rù  rû  r  r+   r(   Ú<module>r     s4  ðñ÷: .Ñ -ß 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÷&z1ñ z1ð~	 )¨-¸ÐEÐ ô7
 ô 7
ôt
<�6ô 
<ô*ˆ|ô *ô8!ˆlô !ð2 ?ð %ð*ð +õ	+ð ôr9�lô r9÷j\.ñ \.ô~�Z ô ô"˜
 Oô "ôJ	�)ô 	ô)˜lô )ôXô$'ôô(	'ô%r+   