ó
    F\h„0  ã                   óÄ   • S r SSKrSSKrSSKJr  / SQr " S S5      r " S S5      rS	 r	 " S
 S\
5      r " S S\
5      r " S S5      rC " S S5      r " S S5      rg)z4Implementation of the DOM Level 3 'LS-Load' feature.é    N)Ú
NodeFilter)Ú
DOMBuilderÚDOMEntityResolverÚDOMInputSourcec                   ód   • \ rS rSrSrSrSrSrSrSr	Sr
SrSrSrSrSrSrSrSrSrSrSrSrSrSrg)ÚOptionsé   z¥Features object that has variables set for each DOMBuilder feature.

The DOMBuilder class uses an instance of this class to pass settings to
the ExpatBuilder class.
é   TFN© )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
namespacesÚnamespace_declarationsÚ
validationÚexternal_parameter_entitiesÚexternal_general_entitiesÚexternal_dtd_subsetÚvalidate_if_schemaÚvalidateÚdatatype_normalizationÚcreate_entity_ref_nodesÚentitiesÚwhitespace_in_element_contentÚcdata_sectionsÚcommentsÚcharset_overrides_xml_encodingÚinfosetÚsupported_mediatypes_onlyÚerrorHandlerÚfilterÚ__static_attributes__r   ó    Ú)/usr/lib/python3.13/xml/dom/xmlbuilder.pyr   r      sr   † ñð €JØ!ÐØ€JØ"&ÐØ $ÐØÐØÐØ€HØ"ÐØ"ÐØ€HØ$(Ð!Ø€NØ€HØ%)Ð"Ø€GØ %Ðà€LØƒFr%   r   c            
       óJ  • \ rS rSrSrSrSrSrSrSr	Sr
\\\	\
4rS rS rS	 rS
 rS rS rS rS rS rS r0 SS/_SS/_SS/_SS/_SS/_SS/_SS/_SS/_SS/_SS/_SSS/_SS/_SS/_SS/_SS/_S S /_S!S!/_S"/S#/S$// / S%QS&/S'/S(/S).ErS* rS+ rS, rS- rS. rS/rg)0r   é,   Nr
   é   é   é   c                 ó"   • [        5       U l        g ©N)r   Ú_options©Úselfs    r&   Ú__init__ÚDOMBuilder.__init__9   s   € Ü›	ˆ�r%   c                 ó   • U R                   $ r-   ©ÚentityResolverr/   s    r&   Ú_get_entityResolverÚDOMBuilder._get_entityResolver<   s   € Ø×"Ñ"Ð"r%   c                 ó   • Xl         g r-   r4   )r0   r5   s     r&   Ú_set_entityResolverÚDOMBuilder._set_entityResolver>   s   € Ø,Õr%   c                 ó   • U R                   $ r-   ©r"   r/   s    r&   Ú_get_errorHandlerÚDOMBuilder._get_errorHandlerA   s   € Ø× Ñ Ð r%   c                 ó   • Xl         g r-   r<   )r0   r"   s     r&   Ú_set_errorHandlerÚDOMBuilder._set_errorHandlerC   s   € Ø(Õr%   c                 ó   • U R                   $ r-   ©r#   r/   s    r&   Ú_get_filterÚDOMBuilder._get_filterF   s   € Ø�{‰{Ðr%   c                 ó   • Xl         g r-   rC   )r0   r#   s     r&   Ú_set_filterÚDOMBuilder._set_filterH   s   € Ø�r%   c                 óŠ  • U R                  U5      (       aQ  U=(       a    S=(       d    Sn U R                  [        U5      U4   nU H  u  p[        U R                  X5        M     g [        R                  R                  S[        U5      -   5      e! [
         a%    [        R                  R                  SU< 35      S ef = f)Nr
   r   zunsupported feature: zunknown feature: )ÚsupportsFeatureÚ	_settingsÚ_name_xformÚsetattrr.   ÚKeyErrorÚxmlÚdomÚNotSupportedErrÚNotFoundErrÚrepr)r0   ÚnameÚstateÚsettingsÚvalues        r&   Ú
setFeatureÚDOMBuilder.setFeatureK   s¯   € Ø×Ñ ×%Ñ%Ø—K˜a×$ 1ˆEð8ØŸ>™>¬;°tÓ+<¸eÐ*DÑE�ó
 $,‘K�DÜ˜DŸM™M¨4Ö7ò $,ô —'‘'×%Ñ%Ð&9¼DÀ»JÑ&FÓGÐGøô ó CÜ—g‘g×-Ò-Ú15Ð7ó9Ø>BðCðCús   ¬B Â/Cc                 ó@   • [        U R                  [        U5      5      $ r-   )Úhasattrr.   rL   )r0   rT   s     r&   rJ   ÚDOMBuilder.supportsFeatureY   s   € Ü�t—}‘}¤k°$Ó&7Ó8Ð8r%   c                 ó\   • [        U5      U=(       a    S=(       d    S4nX0R                  ;   $ )Nr
   r   )rL   rK   )r0   rT   rU   Úkeys       r&   ÚcanSetFeatureÚDOMBuilder.canSetFeature\   s'   € Ü˜4Ó  %§+¨A×"2°Ð3ˆØ—n‘nÑ$Ð$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
   )r   r   ©r   r
   ©r   r   ©r   r
   )	ra   rb   rc   rd   rf   )r   r
   re   rg   ri   ©r!   r   ©r   r   ©r   r
   )rg   rh   ri   )r    r   )r    r
   rj   rk   rl   c                 ó2  • [        U5      n [        U R                  U5      $ ! [         aé    US:X  a·  U R                  nUR                  =(       a–    UR
                  =(       aƒ    UR                  =(       ap    UR                  =(       a]    UR                  =(       dE    UR                  =(       d2    UR                  =(       d    UR                  =(       d    UR                  (       + s $ [        R                  R                  S[!        U5      -  5      ef = f)Nr    zfeature %s not known)rL   Úgetattrr.   ÚAttributeErrorr   r   r   r   r   r   r   r   r   rO   rP   rR   rS   )r0   rT   ÚxnameÚoptionss       r&   Ú
getFeatureÚDOMBuilder.getFeature¢   sñ   € Ü˜DÓ!ˆð	KÜ˜4Ÿ=™=¨%Ó0Ð0øÜó 	KØ�yÓ ØŸ-™-�Ø×6Ñ6÷ <Ø#×AÑA÷<à#×,Ñ,÷<ð $×BÑB÷<ð ")×!?Ñ!?÷ ";Ø$+×$>Ñ$>÷";à$+×$CÑ$C÷";ð %,×$4Ñ$4÷";ð %,×$:Ñ$:ô	<ò	=ô —'‘'×%Ñ%Ð&<¼tÀD»zÑ&IÓJÐJð	Kús   �# £CDÃ*,Dc                 ó´   • U R                   (       a  U R                   R                  S U5      nO[        5       R                  S U5      nU R                  U5      $ r-   )r5   ÚresolveEntityr   Úparse)r0   ÚuriÚinputs      r&   ÚparseURIÚDOMBuilder.parseURI´   sG   € Ø××Ø×'Ñ'×5Ñ5°d¸CÓ@‰Eä%Ó'×5Ñ5°d¸CÓ@ˆEØ�z‰z˜%Ó Ð r%   c                 ó:  • [         R                   " U R                  5      nU R                  Ul        U R                  Ul        UR                  nUc:  UR
                  (       a)  SS KnUR                  R                  UR
                  5      nU R                  X25      $ ©Nr   )
Úcopyr.   r#   r"   Ú
byteStreamÚsystemIdÚurllib.requestÚrequestÚurlopenÚ_parse_bytestream)r0   rx   rq   ÚfpÚurllibs        r&   rv   ÚDOMBuilder.parse»   so   € Ü—)’)˜DŸM™MÓ*ˆØŸ™ˆŒØ#×0Ñ0ˆÔØ×ÑˆØ‰:˜%Ÿ.Ÿ.Û!Ø—‘×'Ñ'¨¯©Ó7ˆBØ×%Ñ% bÓ2Ð2r%   c                 óL   • X0R                   ;  a  [        S5      e[        S5      e)Nznot a legal actionzHaven't written this yet...)Ú_legal_actionsÚ
ValueErrorÚNotImplementedError)r0   rx   ÚcnodeÚactions       r&   ÚparseWithContextÚDOMBuilder.parseWithContextÅ   s&   € Ø×,Ñ,Ó,ÜÐ1Ó2Ð2Ü!Ð"?Ó@Ð@r%   c                 óv   • SS K nUR                  R                  R                  U5      nUR	                  U5      $ r|   )Úxml.dom.expatbuilderrP   ÚexpatbuilderÚmakeBuilderÚ	parseFile)r0   Ústreamrq   rO   Úbuilders        r&   rƒ   ÚDOMBuilder._parse_bytestreamÊ   s0   € Û#Ø—'‘'×&Ñ&×2Ñ2°7Ó;ˆØ× Ñ  Ó(Ð(r%   )r.   r5   r"   r#   )r   r   r   r   r5   r"   r#   ÚACTION_REPLACEÚACTION_APPEND_AS_CHILDRENÚACTION_INSERT_AFTERÚACTION_INSERT_BEFORErˆ   r1   r6   r9   r=   r@   rD   rG   rX   rJ   r_   rK   rr   ry   rv   r�   rƒ   r$   r   r%   r&   r   r   ,   s  † Ø€NØ€LØ€Fà€NØ !ÐØÐØÐà$Ð&?Ø)Ð+?ðA€Nò"ò#ò-ò!ò)òòòHò9ò%ð;Ø%Ø)ð(+ð;ð 	&Ø)ð(+ð;ð
 	Øðð;ð 	)Ø,ð+.ð;ð 	)Ø,ð+.ð;ð 	+Ø.ð-0ð;ð 	+Ø.ð-0ð;ð 	"Ø%ð$'ð;ð" 	'Ø*ð),ð#;ð& 	'Ø*ð),ð';ð* 	Ø*Øðð+;ð0 	Øðð1;ð4 	-Ø0ð/2ð5;ð8 	-Ø0ð/2ð9;ð< 	Ø!ð #ð=;ð@ 	Ø!ð #ðA;ðD 	ØððE;ðJ ðð 2ð03ð 2ð03àò	3ð -ð+.ð ðð ðòs;€IòzKò$!ò3òAõ
)r%   r   c                 óB   • U R                  5       R                  SS5      $ )NÚ-Ú_)ÚlowerÚreplace)rT   s    r&   rL   rL   Ð   s   € Ø�:‰:‹<×Ñ  SÓ)Ð)r%   c                   ó0   • \ rS rSrSrS rS rS rS rSr	g)r   éÔ   )Ú_openerc                 ó®  • Uc   e[        5       nXl        X#l        U R                  5       R	                  U5      Ul        U R                  U5      Ul        SS KnSS K	nUR                  R                  U5      nUu  pxpšp¼U	(       aO  U	R                  S5      (       d9  UR                  U	5      S-   n	XxXšX¼4nUR                  R                  U5      Ul        U$ )Nr   Ú/)r   ÚpublicIdr   Ú_get_openerÚopenr~   Ú_guess_media_encodingÚencodingÚ	posixpathÚurllib.parserv   ÚurlparseÚendswithÚdirnameÚ
urlunparseÚbaseURI)r0   r¥   r   Úsourcerª   r…   ÚpartsÚschemeÚnetlocÚpathÚparamsÚqueryÚfragments                r&   ru   ÚDOMEntityResolver.resolveEntity×   sÂ   € ØÑ#Ð#Ð#ÜÓ!ˆØ"ŒØ"ŒØ ×,Ñ,Ó.×3Ñ3°HÓ=ˆÔð ×4Ñ4°VÓ<ˆŒ÷ 	'Ø—‘×%Ñ% hÓ/ˆØ8=Ñ5ˆ˜ eæ˜Ÿ™ c×*Ñ*Ø×$Ñ$ TÓ*¨SÑ0ˆDØ D°%ÐAˆEØ#Ÿ\™\×4Ñ4°UÓ;ˆFŒNàˆr%   c                 ó~   •  U R                   $ ! [         a$    U R                  5       U l         U R                   s $ f = fr-   )r¢   ro   Ú_create_openerr/   s    r&   r¦   ÚDOMEntityResolver._get_openerí   s:   € ð	 Ø—<‘<ÐøÜó 	 Ø×.Ñ.Ó0ˆDŒLØ—<‘<Òð	 ús   ‚ Ž+<»<c                 ó>   • SS K nUR                  R                  5       $ r|   )r€   r�   Úbuild_opener)r0   r…   s     r&   r»   Ú DOMEntityResolver._create_openerô   s   € ÛØ�~‰~×*Ñ*Ó,Ð,r%   c                 ó€   • UR                   R                  5       nUR                  S5      nUb  UR                  5       $ g )NÚcharset)r~   ÚinfoÚ	get_paramrž   )r0   r±   rÂ   rÁ   s       r&   r¨   Ú'DOMEntityResolver._guess_media_encodingø   s;   € Ø× Ñ ×%Ñ%Ó'ˆð —.‘. Ó+ˆØÑØ—=‘=“?Ð"Ør%   N)
r   r   r   r   Ú	__slots__ru   r¦   r»   r¨   r$   r   r%   r&   r   r   Ô   s   † Ø€Iòò, ò-õr%   r   c                   ór   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rSrg)r   i  ©r~   ÚcharacterStreamÚ
stringDatar©   r¥   r   r°   c                 óf   • S U l         S U l        S U l        S U l        S U l        S U l        S U l        g r-   rÇ   r/   s    r&   r1   ÚDOMInputSource.__init__  s4   € ØˆŒØ#ˆÔØˆŒØˆŒØˆŒØˆŒØˆ�r%   c                 ó   • U R                   $ r-   ©r~   r/   s    r&   Ú_get_byteStreamÚDOMInputSource._get_byteStream  ó   € Ø�‰Ðr%   c                 ó   • Xl         g r-   rÍ   )r0   r~   s     r&   Ú_set_byteStreamÚDOMInputSource._set_byteStream  s   € Ø$�r%   c                 ó   • U R                   $ r-   ©rÈ   r/   s    r&   Ú_get_characterStreamÚ#DOMInputSource._get_characterStream  s   € Ø×#Ñ#Ð#r%   c                 ó   • Xl         g r-   rÕ   )r0   rÈ   s     r&   Ú_set_characterStreamÚ#DOMInputSource._set_characterStream  s   € Ø.Õr%   c                 ó   • U R                   $ r-   ©rÉ   r/   s    r&   Ú_get_stringDataÚDOMInputSource._get_stringData  rÐ   r%   c                 ó   • Xl         g r-   rÜ   )r0   Údatas     r&   Ú_set_stringDataÚDOMInputSource._set_stringData  s   € Ø�r%   c                 ó   • U R                   $ r-   ©r©   r/   s    r&   Ú_get_encodingÚDOMInputSource._get_encoding  ó   € Ø�}‰}Ðr%   c                 ó   • Xl         g r-   rä   )r0   r©   s     r&   Ú_set_encodingÚDOMInputSource._set_encoding   ó   € Ø �r%   c                 ó   • U R                   $ r-   ©r¥   r/   s    r&   Ú_get_publicIdÚDOMInputSource._get_publicId#  rç   r%   c                 ó   • Xl         g r-   rí   )r0   r¥   s     r&   Ú_set_publicIdÚDOMInputSource._set_publicId%  rë   r%   c                 ó   • U R                   $ r-   ©r   r/   s    r&   Ú_get_systemIdÚDOMInputSource._get_systemId(  rç   r%   c                 ó   • Xl         g r-   rô   )r0   r   s     r&   Ú_set_systemIdÚDOMInputSource._set_systemId*  rë   r%   c                 ó   • U R                   $ r-   ©r°   r/   s    r&   Ú_get_baseURIÚDOMInputSource._get_baseURI-  s   € Ø�|‰|Ðr%   c                 ó   • Xl         g r-   rû   ©r0   rw   s     r&   Ú_set_baseURIÚDOMInputSource._set_baseURI/  s   € Ø�r%   )r°   r~   rÈ   r©   r¥   rÉ   r   N)r   r   r   r   rÅ   r1   rÎ   rÒ   rÖ   rÙ   rÝ   rá   rå   ré   rî   rñ   rõ   rø   rü   r   r$   r   r%   r&   r   r     sU   † ð@€Iòòò%ò$ò/òòòò!òò!òò!òõr%   r   c                   óR   • \ rS rSrSrSrSrSrSr\	R                  rS rS rS	 rS
rg)ÚDOMBuilderFilteri3  zKElement filter which can be used to tailor construction of
a DOM instance.
r
   r)   r*   r+   c                 ó   • U R                   $ r-   )Ú
whatToShowr/   s    r&   Ú_get_whatToShowÚ DOMBuilderFilter._get_whatToShowD  rÐ   r%   c                 ó   • U R                   $ r-   ©ÚFILTER_ACCEPT©r0   Úelements     r&   Ú
acceptNodeÚDOMBuilderFilter.acceptNodeG  ó   € Ø×!Ñ!Ð!r%   c                 ó   • U R                   $ r-   r	  r  s     r&   ÚstartContainerÚDOMBuilderFilter.startContainerJ  r  r%   r   N)r   r   r   r   r   r
  ÚFILTER_REJECTÚFILTER_SKIPÚFILTER_INTERRUPTr   ÚSHOW_ALLr  r  r  r  r$   r   r%   r&   r  r  3  s8   † ñð €MØ€MØ€KØÐà×$Ñ$€Jòò"õ"r%   r  c                   ó@   • \ rS rSrSrSrS rS rS rS r	S r
S	 rS
rg)Ú
DocumentLSiP  z=Mixin to create documents that conform to the load/save spec.Fc                 ó   • g)NFr   r/   s    r&   Ú
_get_asyncÚDocumentLS._get_asyncU  s   € Ør%   c                 óP   • U(       a  [         R                  R                  S5      eg )Nz.asynchronous document loading is not supported)rO   rP   rQ   )r0   Úflags     r&   Ú
_set_asyncÚDocumentLS._set_asyncX  s&   € ÞÜ—'‘'×)Ñ)Ø@óBð Bð r%   c                 ó   • [        S5      e)Nz'haven't figured out what this means yet©rŠ   r/   s    r&   ÚabortÚDocumentLS.abort]  s   € ô "Ø5ó7ð 	7r%   c                 ó   • [        S5      e©Nzhaven't written this yetr!  rÿ   s     r&   ÚloadÚDocumentLS.loadc  ó   € Ü!Ð"<Ó=Ð=r%   c                 ó   • [        S5      er%  r!  )r0   r±   s     r&   ÚloadXMLÚDocumentLS.loadXMLf  r(  r%   c                 ó¦   • Uc  U nUR	                  5       $ UR                   U La  [        R                  R                  5       eUR	                  5       $ r-   )ÚownerDocumentrO   rP   ÚWrongDocumentErrÚtoxml)r0   Úsnodes     r&   ÚsaveXMLÚDocumentLS.saveXMLi  sI   € Ø‰=ØˆEð �{‰{‹}Ðð × Ñ ¨Ò,Ü—'‘'×*Ñ*Ó,Ð,Ø�{‰{‹}Ðr%   r   N)r   r   r   r   r   Úasync_r  r  r"  r&  r*  r1  r$   r   r%   r&   r  r  P  s)   † ÙGà€FòòBò
7ò>ò>õr%   r  c                   ó.   • \ rS rSrSrSrS rS rS rSr	g)	ÚDOMImplementationLSiq  r
   r)   c                 óê   • Ub  [         R                  R                  S5      eXR                  :X  a
  [	        5       $ XR
                  :X  a  [         R                  R                  S5      e[        S5      e)NzschemaType not yet supportedz'asynchronous builders are not supportedzunknown value for mode)rO   rP   rQ   ÚMODE_SYNCHRONOUSr   ÚMODE_ASYNCHRONOUSr‰   )r0   ÚmodeÚ
schemaTypes      r&   ÚcreateDOMBuilderÚ$DOMImplementationLS.createDOMBuilderu  sh   € ØÑ!Ü—'‘'×)Ñ)Ø.ó0ð 0à×(Ñ(Ó(Ü“<ÐØ×)Ñ)Ó)Ü—'‘'×)Ñ)Ø9ó;ð ;äÐ1Ó2Ð2r%   c                 ó   • [        S5      e)Nz-the writer interface hasn't been written yet!r!  r/   s    r&   ÚcreateDOMWriterÚ#DOMImplementationLS.createDOMWriter€  s   € Ü!Ø;ó=ð 	=r%   c                 ó   • [        5       $ r-   )r   r/   s    r&   ÚcreateDOMInputSourceÚ(DOMImplementationLS.createDOMInputSource„  s   € ÜÓÐr%   r   N)
r   r   r   r   r7  r8  r;  r>  rA  r$   r   r%   r&   r5  r5  q  s   † ØÐØÐò	3ò=õ r%   r5  )r   r}   Úxml.domrO   Úxml.dom.NodeFilterr   Ú__all__r   r   rL   Úobjectr   r   r  r  r5  r   r%   r&   Ú<module>rG     st   ðÙ :ã Û å )ò @€÷ñ ÷@a)ñ a)òH*ô+˜ô +ô\.�Vô .÷b"ñ "ð4 ÷ñ ÷B ò  r%   