e SrSSKrSSKrSSKJrJrJrJr SSK7 SSK J r J r \RRR\RRR4r"SS\RR5r \"\ SS S 9 \"\ S S S 9 \"\ S SS 9 SrSrSrSrSr"SS\ 5r"SS\ 5r\"\SSS 9 \"\S SS 9 \"\SSS 9 "SS\5r\"\SS S 9 \r"S!S"\5r\"SS5r"S#S$\ 5r\"\S%S&S 9 \"\S S'S 9 S(r"S)S*5r "S+S,\ \ 5r!"S-S.\ \ 5r"\"\"SS/S 9 "S0S1\"5r#\"\#S2S3S 9 \"\#S4S5S 9 S6r$S7r%"S8S9\"5r&"S:S;\#5r'"S<S=\5r(\"\(SS>S 9 "S?S@5r)"SASB\)\ \ 5r*"SCSD\)\ 5r+"SESF\)\ \ 5r,"SGSH\ 5r-"SISJ\5r.SKr/"SLSM\ \ 5r0\"\0SNSOS 9 SPr1SQr2SRr3SVSSjr4SWSTjr5SWSUjr6g)XacSimple implementation of the Level 1 DOM. Namespaces and other minor Level 2 features are also supported. parse("foo.xml") parseString("") Todo: ===== * convenience methods for getting elements and text. * more testing * bring some of the writer and linearizer code into conformance with this interface * SAX 2 namespaces N)EMPTY_NAMESPACE EMPTY_PREFIXXMLNS_NAMESPACEdomreg)*)DOMImplementationLS DocumentLSc\rSrSrSrSrSrSrSr\ r Sr SSjr SSjr SrSrSrS rS rS rS rS rSrSrSrSrSrSrSrSrSrSrSr Sr!Sr"g)Node"Ncg)NTselfs 5/opt/imh/python3.13/lib/python3.13/xml/dom/minidom.py__bool__ Node.__bool__+c(URSSX5$N) toprettyxml)rencoding standalones rtoxml Node.toxml.sB==rcvUc[R"5nO*[R"[R"5USSS9nUR[ R :XaURUSXX45 OURUSX5 UcUR5$UR5R5$)Nxmlcharrefreplace )rerrorsnewliner) ioStringIO TextIOWrapperBytesIOnodeTyper DOCUMENT_NODEwritexmlgetvaluedetach)rindentnewlrrwriters rrNode.toprettyxml1s  [[]F%%bjjl/7-@.24F ==D.. . MM&"fH I MM&"f 3  ??$ $==?++- -rc,[UR5$N)bool childNodesrs r hasChildNodesNode.hasChildNodesDsDOO$$rcUR$r1r3rs r_get_childNodesNode._get_childNodesG rcDUR(aURS$gNrr7rs r_get_firstChildNode._get_firstChildJs ????1% % rcDUR(aURS$gNr7rs r_get_lastChildNode._get_lastChildNs ????2& & rc:URUR:Xa/[UR5HnUR X25 M U$URUR ;a8[ RR[U5<S[U5<35eURbURRU5 UcURU5 U$URRU5nUR[ ;a [#U5 URR%XA5 X!lXlU(aURUS- nXlXQlOSUlXl U$![a [ RR5ef=f)N cannot be child of )r'DOCUMENT_FRAGMENT_NODEtupler3 insertBefore_child_node_typesxmldomHierarchyRequestErrrepr parentNode removeChild appendChildindex ValueError NotFoundErr_nodeTypes_with_children_clear_id_cacheinsert nextSiblingpreviousSibling)rnewChildrefChildcrRnodes rrINode.insertBeforeRs`    ; ; ;8../!!!.0O   D$:$: :''--.28nd4jIK K    *    + +H 5     X &$! ,--h7  $<<% OO " "5 3#+ '/ $uQw/#+ +/(+/("&  ,gg))++ ,s E11)FcURUR:Xa/[UR5HnUR U5 M U$URUR ;a8[ RR[U5<S[U5<35eUR[;a [U5 URbURRU5 [X5 SUlU$NrE)r'rGrHr3rQrJrKrLrMrNrUrVrOrP _append_childrX)rr]r\s rrQNode.appendChildrs ==D77 74??+  #,K == 6 6 6''--.24j$t*EG G ]]6 6 D ! ?? & OO ' ' -d! rcURUR:Xa.URnURU5 UR X5$URUR ;a8[ RR[U5<S[U5<35eXLagURbURRU5 URRU5nXRU'Xl SUl UR[;dUR[;a [!U5 URUlUR"UlSUlSUlUR"(aXR"lUR(aXRlU$![a [ RR5ef=fr`)r'rGrXrPrIrJrKrLrMrNrOr3rRrSrTrUrVrY)rrZoldChildr[rRs r replaceChildNode.replaceChilds    ; ; ;++H   X &$$X8 8   D$:$: :''--.28nd4jIK K       *    + +H 5 (OO))(3E"*""   !9 9  $<< D !'33#+#;#; ##'  # #3; $ $ 0   3; 0! (''%%' ' (s F&&)GcURRU5 UR bURUR lURbUR URlS=UlUlUR[;a [U5 SUl U$![a [RR 5ef=fr1) r3removerSrKrLrTrXrYr'rUrVrOrrds rrPNode.removeChilds ( OO " "8 ,    +3;3K3KH 0  # # /3;3G3GH $ $ 0:>>x7    8 8 D !" (''%%' ' (s B##)C c$/nURGHonUR[R:XGa UR(dYU(aUR USlUR (aUR UR lUR5 MU(aUSRUR:XahUSnURUR-UlUR UlUR (aX2R lUR5 GMURU5 GM-URU5 UR[R:XdGM_UR5 GMr XRSS&gr@) r3r'r TEXT_NODEdatarXrYunlinkappend ELEMENT_NODE normalize)rLchildr]s rrqNode.normalizes __E~~/zz,1,=,=")((>U^^;R5D $ EJJ 6DI','8'8D$((<@))9LLNHHUO>>T%6%66OO%-%.rc@[XUR=(d U5$r1) _clone_node ownerDocument)rdeeps r cloneNodeNode.cloneNodes4t'9'9'ATBBrcLURRRX5$r1)rwimplementation hasFeaturerfeatureversions r isSupportedNode.isSupporteds!!00;;GMMrcgr1rrs r_get_localNameNode._get_localNamesrcXL$r1rrothers r isSameNodeNode.isSameNodes }rc6URUS5(aU$gr1)rrrs r getInterfaceNode.getInterfaces   GT * *KrcTURUS$![[4a gf=fr<) _user_dataAttributeErrorKeyErrorrkeys r getUserDataNode.getUserDatas2 ??3'* *)  s ''cSnURnX;aXQSnUc SnUbXQ U$X#4XQ'U$![a 0nXPlN3f=fr<)rr)rrrmhandleroldds r setUserDataNode.setUserDatasm A 8&)C <GF _AF  AO s /AAc[US5(aH[URR55H unupVUcM UR XXRU5 M" gg)Nr)hasattrlistritemshandle)r operationsrcdstrrmrs r_call_user_data_handlerNode._call_user_data_handlersN 4 & &(,T__-B-B-D(E$_d&NN94cB)F 'rcS=UlUlUR(a2URHnUR5 M [ 5UlSUlSUlgr1)rOrwr3rnNodeListrYrX)rrss rrn Node.unlinksH/33$, ?? )&jDO#rcU$r1rrs r __enter__Node.__enter__s rc$UR5 gr1)rn)retevtbs r__exit__ Node.__exit__s  r)rr3rXrwrOrYNN) r NN)#__name__ __module__ __qualname____firstlineno__ namespaceURIrOrwrXrYrprefixrrrr4r8r=rBrIrQrerPrqryrrrrrrrrnrr__static_attributes__rrrr r "sLJMKO F><@#.&%&'@"@ 6CN  $C rr firstChildzFirst child node, or None.)doc lastChildzLast child node, or None. localNamez"Namespace-local name of this node.czURnU(aUSnX1lXlURU5 Xlgr@)r3rYrXrorO)rr]r3lasts rraras6J"~#dOrcjUb0UR[R:XagURnUbM0gNTF)r'r r(rOr]s r _in_documentr's3   ==D.. .   rcU(dgSU;aURSS5nSU;aURSS5nSU;aURSS5nU(a`SU;aURSS 5nS U;aURS S 5nS U;aURS S 5nSU;aURSS5nURU5 g)zWrites datachars to writer.N&z&z>"z" z r z rz )replacewrite)r.textattrs r _write_datar/s  d{||C) d{||C( d{||C( $;<<X.D 4<<<g.D 4<<<g.D 4<<<f-D LLrcURHTnUR[R:Xa'US:XdURU:XaUR U5 [ X1U5 MV U$Nr)r3r'r rptagNamero_get_elements_by_tagName_helper)parentnamercr]s rrrFsR!! ==D-- - S[DLLD0 IIdO'B7 " IrcURHlnUR[R:XdM#US:XdURU:Xa'US:XdUR U:XaUR U5 [XAX#5 Mn U$r)r3r'r rprrro"_get_elements_by_tagName_ns_helper)rnsURIrrr]s rrrNsg!! ==D-- -c!T^^y%@#!2!2e!; $ .tI J " Irc\rSrSr\R rSrSrSr Sr \R\R\R\R\R\R \R"4rSrSrg)DocumentFragmentiWz#document-fragmentNc"[5Ulgr1)rr3rs r__init__DocumentFragment.__init__es "*rr7)rrrrr rGr'nodeName nodeValue attributesrOrprlCDATA_SECTION_NODEENTITY_REFERENCE_NODEPROCESSING_INSTRUCTION_NODE COMMENT_NODE NOTATION_NODErJrrrrrrrWsk**H#HIJJ**003399**++ -%rrc\rSrSrSr\R rSrSr Sr \R\R4r \SS4SjrSrSrSrS r\"\\5=rrS rS r\"\\5=rrS rS r\"\\5rSrSrSr Sr!g)Attrii)_name_valuer_prefixr3 _localNamerw ownerElementNFcSUlXlX lX@lUbX0l[ 5UlUR R[55 gr1) rrrrrrr3roText)rqNamerrrs rr Attr.__init__ssD  (  'O"* tv&rczUR$![a" URRSS5Ss$f=fN:rFrA)rrrsplitrs rrAttr._get_localNames< 3?? " 3==&&sA.r2 2 3 )::cUR$r1) specifiedrs r_get_specifiedAttr._get_specified ~~rcUR$r1)rrs r _get_nameAttr._get_name zzrcVXlURb[UR5 ggr1)rrrVrvalues r _set_nameAttr._set_names&    ( D-- . )rcUR$r1)rrs r _get_valueAttr._get_value {{rcXlXRSlURb[ UR5 XRSlgr<)rr3rmrrVrs r _set_valueAttr._set_values? "'    ( D-- ."'rcUR$r1)rrs r _get_prefixAttr._get_prefix ||rc2URnUS:Xa0U(a)U[:wa[RR S5eXlUc UR nOU<SUR <3nUR(a[UR5 X0l g)Nxmlnsz5illegal use of 'xmlns' prefix for the wrong namespacer) rrrKrL NamespaceErrrrrrVr)rrnsurinewNames r _set_prefixAttr._set_prefixsx!! W /1gg**KMM >nnG!'8G    D-- . rcURnUbURUR URURUR 4 UR (a;SUlU=RS-slUR=RS-sl URHnUR5 M URSS2 g)NFrF) r_attrsr_attrsNSrr_is_id_magic_id_nodesrw_magic_id_countr3rn)relemrss rrn Attr.unlinks      DMM* t00$..AB{{# $$)$""22a72__E LLN% OOA rc2UR(agURnURnUbUcgURU5nUcgUR(a&UR URUR 5$URUR5$r) rrwr_get_elem_inforisIdNSrisIdrrrrinfos r _get_isIdAttr._get_isIds} ;;     ;$,!!$' <   ;;t00$..A A99T]]+ +rc"URnURnUbUc[$URU5nUc[$UR(a&UR URUR 5$URUR5$r1) rwr_no_typer"rgetAttributeTypeNSrgetAttributeTyperr%s r_get_schemaTypeAttr._get_schemaTypes{     ;$,O!!$' <O   **4+<+s eS ! ! ({{7+ JeT** GHHD   d # (G}%)%7%7%E%E"!!$' (sA!!AB%$B%cBURU$![a gf=fr1)rrrrs r getNamedItemNamedNodeMap.getNamedItemMs( ;;t$ $  s  cDURX4$![a gf=fr1)rrrrrs rgetNamedItemNSNamedNodeMap.getNamedItemNSSs+ ==,!:; ;  s  c8URU5nUbi[UR5 URUR UR UR UR4 [US5(aSUl U$[RR5eNr) rrVr6rrrrrrrrKrLrTrrns rremoveNamedItemNamedNodeMap.removeNamedItemYsz   d # = D.. / AJJ' q~~q{{;<q.))!%H''%%' 'rc8URX5nUbi[UR5 URURUR 4 UR UR [US5(aSUl U$[RR5er) rrVr6rrrrrrrrKrLrTrrrrs rremoveNamedItemNSNamedNodeMap.removeNamedItemNSesz    8 = D.. / q~~q{{;< AJJ'q.))!%H''%%' 'rc[U[5(d8[RR [ U5<S[ U5<35eUR RUR5nU(aUR5 XR UR'XRURUR4'URUl[UR5 U$r`)rMrrKrLrMrNrrZrrnrrrr6rrV)rr]rs rrxNamedNodeMap.setNamedItemqs$%%''--.24j$t*EG Gkkoodii(  JJL!% DII=A t(($..9: ..))* rc$URU5$r1)rxrr]s rsetNamedItemNSNamedNodeMap.setNamedItemNS~s  &&rcVXn[UR5 UR5 gr1)rVrrn)rrtr]s r __delitem__NamedNodeMap.__delitem__s!%))* rcHURURUR4$r1r5rs r __getstate__NamedNodeMap.__getstate__s{{DMM4+=+===rc.UuUlUlUlgr1r5rstates r __setstate__NamedNodeMap.__setstate__s9>6 T]D$6rr1)#rrrr__doc__r/rr=rCrrJrOr@rTrFrZ__len__r_rcrgrjrnrqrur{rrrrrxrrrrrrrrr4r4s8I*     ( "$$,GC %%$%$1 $  ( ( ' >?rr4lengthz$Number of nodes in the NamedNodeMap.c0\rSrSrSrSrSrSrSrSr g) TypeInfoi namespacercXlX lgr1r)rrrs rrTypeInfo.__init__s " rcUR(a7SURR<SUR<SUR<S3$SURR<SUR<S3$)Nr z (from z)>r)r __class__rrrs r__repr__TypeInfo.__repr__sO >>>*...*A*A499*...: : !% 7 7C CrcUR$r1)rrs rrTypeInfo._get_name yyrcUR$r1)rrs r_get_namespaceTypeInfo._get_namespacerr)rrN) rrrrr/rrrrrrrrrrs#IDrrcv\rSrSrSr\R rSr\ r Sr \R \R\R\R\R\R 4r\SS4SjrSrSrSrS rS rS rS rS rSrSrSr\rSr Sr!Sr"\"r#Sr$Sr%Sr&Sr'Sr(S Sjr)Sr*Sr+Sr,Sr-Sr.Sr/g)!Elementi) rwrOrrrrrr3rrrXrYNrcSUlU=UlUlX0lX l[ 5UlS=UlUlSUl SUl gr1) rOrrrrrr3rXrYrr)rrrrrs rrElement.__init__sK'.. t} ("*2664/  rc<URc0Ul0Ulggr1)rrrs r_ensure_attributesElement._ensure_attributess ;; DKDM rczUR$![a" URRSS5Ss$f=fr)rrrrrs rrElement._get_localNames< 2?? " 2<<%%c1-b1 1 2rcUR$r1rrs r _get_tagNameElement._get_tagNamerrcURb:[URR55HnUR5 M SUlSUl[ RU5 gr1)rrrFrnrr )rrs rrnElement.unlinksK ;; "T[[//12 3   DrcrURcgURUR$![a gf=f)aVReturns the value of the specified attribute. Returns the value of the element's attribute named attname as a string. An empty string is returned if the element does not have such an attribute. Note that an empty string may also be returned as an explicitly given attribute value, use the hasAttribute method to distinguish these two cases. r)rrr)rrzs r getAttributeElement.getAttributes= ;;  ;;w'-- -  s ) 66ctURcgURX4R$![a gf=fr)rrrrs rgetAttributeNSElement.getAttributeNSs> ==  ==,!:;AA A  s * 77cURU5nUc4[U5nX#lURUlUR U5 gX#R:wa$X#lUR (a [ U5 gggr1)getAttributeNoderrrwsetAttributeNoder$rV)rrzrrs r setAttributeElement.setAttributesi$$W- <=DJ!%!3!3D   ! !$ ' jj Jyy%!rcL[U5upEURX5nUc5[X!XT5nX6lURUlUR U5 gX6R:wa"X6lUR (a [U5 URU:wa XFlX&l ggr1) _nssplitgetAttributeNodeNSrrrwrr$rVrr)rr qualifiedNamerr localnamers rsetAttributeNSElement.setAttributeNSs$]3&&|? < YGDJ!%!3!3D   ! !$ ' "" 99#D){{f$$ - %rcTURcgURRU5$r1rY)rattrnames rrElement.getAttributeNodes" ;; {{x((rcVURcgURRX45$r1)rrZrs rrElement.getAttributeNodeNSs' == }}  ,!:;;rcURSU4;a[RRS5eUR 5 UR R URS5nUbURU5 URR URUR4S5nUbX2LaURU5 [X5 X!LaU$X1LaU$g)Nzattribute node already owned) rrKrLInuseAttributeErrrrrZrremoveAttributeNoderrr_set_attribute_node)rrold1old2s rrElement.setAttributeNode"s   T4L 0''++,JK K !{{tyy$/    $ $T *}}  $"3"3T^^!DdK   0  $ $T *D'  K  K rcURc[RR5eURUnUR U5 g![ a [RR5ef=fr1)rrKrLrTrrr)rrrs rremoveAttributeElement.removeAttribute7sf == ''%%' ' (;;t$D   & (''%%' ' (s A)A7cURc[RR5eURX4nUR U5 g![a [RR5ef=fr1)rrKrLrTrr)rrrrs rremoveAttributeNSElement.removeAttributeNS@si == ''%%' ' (==,!:;D   & (''%%' ' (s A)A8c,Uc[RR5eURUR [ U5 UR5 URUlU$![ a [RR5ef=fr1) rKrLrTrrrrVrnrwrs rrElement.removeAttributeNodeIs{ <''%%' ' ( KK "  "//  (''%%' ' (s A**)Bc:URcgXR;$)zChecks whether the element has an attribute with the specified name. Returns True if the element has an attribute with the specified name. Otherwise, returns False. Frr~s r hasAttributeElement.hasAttributeYs ;; {{""rc>URcgX4UR;$NF)rrs rhasAttributeNSElement.hasAttributeNScs! == (DMM99rc*[X[55$)zReturns all descendant elements with the given tag name. Returns the list of all descendant elements (not direct children only) with the specified tag name. rrr~s rgetElementsByTagNameElement.getElementsByTagNamehs /t8:FFrc,[XU[55$r1rrrs rgetElementsByTagNameNSElement.getElementsByTagNameNSp1  8:7 7rc6SUR[U54-$)Nz)rr^rs rrElement.__repr__ts)T\\2d8,DDDrcDURUS-UR-5 UR5nUR5HAnURSU-5 [ XUR S5 URS5 MC UR (aURS5 [UR 5S:Xa]UR SR[R[R4;a"UR SRUSSS5 OJURU5 UR HnURXU-X45 M URU5 URS UR<SU<35 g URS U-5 g ) zWrite an XML element to a file-like object Write the element to the writer object that must provide a write method (e.g. a file or StringIO object). rz %s="TrrrFrrz%sN) rr_get_attributesr@rrr3r<r'r rlrr))rr.r, addindentr-r8a_namer]s rr)Element.writexmlws:  VCZ$,,./$$&jjlF LLF* + f 3 3T : LL # ?? LL DOO$)"++(?(?0AA"++FBB? T" OODMM&*:IL, V$ LLdllD9 : LL 'rcdUR5 [URURU5$r1)rr4rrrs rrElement._get_attributess% !DKK==rc(UR(aggrrrs r hasAttributesElement.hasAttributess ;;rcHURU5nURU5 gr1)rsetIdAttributeNode)rridAttrs rsetIdAttributeElement.setIdAttributes &&t, 'rcHURX5nURU5 gr1)rr)rrrrs rsetIdAttributeNSElement.setIdAttributeNSs ((A 'rcUb URUR5(d[RR 5e[ U5b[RR 5eUR(dGSUlU=RS- slUR=RS- sl [U5 gg)NTrF) rrrKrLrT_get_containing_entrefNoModificationAllowedErrrrrwrrV)rrs rrElement.setIdAttributeNodes >1D1D!E!E''%%' ' !$ ' 3''224 4}} FM  A %    . .! 3 . D ! r) rrr3rrXrrOrrYrrrr)0rrrrr/r rpr'rr*r2rrrrlrrrJrrrrrrnrrrrrrrsetAttributeNodeNSrrrremoveAttributeNodeNSrrrrrr)rrr r rrrrrrrs1I  HIJO**99**0033 5.=T( 2   &.") < &*'' 0#: G7E(@>(( "rrrz*NamedNodeMap of attributes on the element.z%Namespace-local name of this element.c[U5 UR5 XRUR'XRUR UR 4'Xlgr1)rVrrrrrrr)elementrs rrrsKG  $NN499<@d''89  rcf\rSrSrSrSrSr\"5rSr Sr Sr Sr Sr SrS rS rS rS rSrg) ChildlessizyMixin that makes childless-ness easy to implement and avoids the complexity of the Node methods that deal with children. rNcgr1rrs rr=Childless._get_firstChildrrcgr1rrs rrBChildless._get_lastChildrrcZ[RRURS-5e)Nz nodes cannot have childrenrKrLrMrrs rrQChildless.appendChild&gg)) MM9 9; ;rcgrrrs rr4Childless.hasChildNodesrcZ[RRURS-5eNz nodes do not have childrenrrrZr[s rrIChildless.insertBeforer rcZ[RRURS-5er%)rKrLrTrris rrPChildless.removeChilds&gg!! MM9 9; ;rcgr1rrs rrqChildless.normalizes rcZ[RRURS-5er%rrrZrds rreChildless.replaceChildr r)rrrrrr/r EmptyNodeListr3rrr=rBrQr4rIrPrqrerrrrrrsLIJJJI;;; ;rrc|\rSrSr\R rSrSrSr Sr \ "\ \ 5r Sr Sr\ "\ \5rS SjrS rg ) ProcessingInstructionitargetrmcXlX lgr1r2)rr3rms rrProcessingInstruction.__init__s   rcUR$r1rmrs r_get_nodeValue$ProcessingInstruction._get_nodeValuerrcXlgr1r7rs r_set_nodeValue$ProcessingInstruction._set_nodeValues rcUR$r1r3rs r _get_nodeName#ProcessingInstruction._get_nodeNamer rcXlgr1r>rs r _set_nodeName#ProcessingInstruction._set_nodeNames rc lURU<SUR<SUR<SU<35 g)Nz)rr3rmrr.r,rr-s rr)ProcessingInstruction.writexmls t{{DIItLMr)rmr3Nr)rrrrr rr'r/rr8r;r1rr?rBrr)rrrrr1r1sI//H"I 8I }5HNrr1cn\rSrSrSrSrSr\rSrSr \ "\\ 5=r r Sr SrS rS rS rS rS rg) CharacterDatai )_datarwrOrYrXctS=UlUlS=UlUlSUl[ R U5 gr)rwrOrYrXrJr rrs rrCharacterData.__init__ s4/33T_266t/  drc,[UR5$r1)r<rmrs rr=CharacterData._get_length499~rcUR$r1rJrs r _get_dataCharacterData._get_datarrcXlgr1rQrrms r _set_dataCharacterData._set_datas rcURn[U5S:aSnOSnSURR<SUSS<U<S3$)N z...rz)rmr<rr)rrm dotdotdots rrCharacterData.__repr__sByy t9r>II NN # #T!BZ< >.."yy) $ 2 2 ??t'A'AA|++G4,,W;IIgv& rcB[X<UR<U<3S5 gr)rrmrFs rr) Text.writexmljsF 4@%HrcUR/nURnUb]UR[R[R 4;a)UR SUR5 URnOOUbM]URnUb\UR[R[R 4;a(URUR5 URnOOUbM\SRU5$)Nrr) rmrYr'r rlrrWrXrojoin)rrrrs r_get_wholeTextText._get_wholeTextos YYK  mzzdnnd.E.EFFAFF#%% m   mzzdnnd.E.EFF MM m wwqzrcURnURnUbTUR[R[R 4;a URnUR U5 UnOOUbMTURnU(dUR U5 UbTUR[R[R 4;a URnUR U5 UnOOUbMTU(aXlU$gr1) rOrYr'r rlrrPrXrm)rcontentrrrws rreplaceWholeTextText.replaceWholeTexts  mzzdnnd.E.EFF((""1% m      t $mzzdnnd.E.EFF}}""1% m IKrcURR5(ag[U5nUcgURR U5nUcgUR 5$r)rmstrip_get_containing_elementrwr"isElementContent)rrr&s r!_get_isWhitespaceInElementContent&Text._get_isWhitespaceInElementContentsU 99??  &t, <!!006 <((* *rr7r)rrrrr/r rlr'rrrxr)r~rrrrrrrrTs4I~~HHJ I $8 +rrisWhitespaceInElementContentzKTrue iff this text node contains only whitespace and is in element content. wholeTextz.The text of all logically-adjacent text nodes.cURnUb1UR[R:XaU$URnUbM1gr1)rOr'r rpr]r\s rrrs< A - ::** *H LL - rcURnUb1UR[R:XaU$URnUbM1gr1)rOr'r rrs rrrs< A - ::33 3H LL - rc@\rSrSr\R rSrSrSSjr Sr g)Commentiz#commentc:[RU5 Xlgr1)rIrrJrUs rrComment.__init__st$ rcSUR;a [S5eURU<SUR<SU<35 g)Nz--z%'--' is not allowed in a comment nodez)rmrSrrFs rr)Comment.writexmls1 499 DE E  4@ArrQNr) rrrrr rr'rrr)rrrrrrs  HHBrrc>\rSrSrSr\R rSrSSjr Sr g) CDATASectionirz#cdata-sectioncURRS5S:a [S5eURSUR-5 g)Nz]]>rz$']]>' not allowed in a CDATA sectionz)rmfindrSrrFs rr)CDATASection.writexmls9 99>>% A %CD D % 12rNr) rrrrr/r rr'rr)rrrrrrsI&&HH3rrcj\rSrSrSrSSjrSrSrSrSr Sr S r S r S r S rS rSrSrSrg)ReadOnlySequentialNamedNodeMapi_seqcXlgr1r)rseqs rr'ReadOnlySequentialNamedNodeMap.__init__s rc,[UR5$r1r<rrs rr&ReadOnlySequentialNamedNodeMap.__len__rOrc,[UR5$r1rrs rr=*ReadOnlySequentialNamedNodeMap._get_lengthrOrcRURHnURU:XdMUs $ gr1)rrrs rr+ReadOnlySequentialNamedNodeMap.getNamedItems!AzzT!rcvURH)nURU:XdMURU:XdM'Us $ gr1)rrrrs rr-ReadOnlySequentialNamedNodeMap.getNamedItemNSs,A~~-!++2Jrc[U[5(aUR"U6nOURU5nUc [ U5eU$r1)rMrHrrr)r name_or_tupler]s rru*ReadOnlySequentialNamedNodeMap.__getitem__sD mU + +&& 6D$$]3D <=) ) rcPUS:agURU$![a gf=fr<)rrArBs rrC#ReadOnlySequentialNamedNodeMap.items2 19 99U# #  s  %%c@[RRS5eNz"NamedNodeMap instance is read-onlyrKrLrr~s rr.ReadOnlySequentialNamedNodeMap.removeNamedItemgg.. 02 2rc@[RRS5errrs rr0ReadOnlySequentialNamedNodeMap.removeNamedItemNSrrc@[RRS5errrs rrx+ReadOnlySequentialNamedNodeMap.setNamedItem rrc@[RRS5errrs rr-ReadOnlySequentialNamedNodeMap.setNamedItemNSrrcUR/$r1rrs rr+ReadOnlySequentialNamedNodeMap.__getstate__s {rcUSUlgr<rrs rr+ReadOnlySequentialNamedNodeMap.__setstate__s !H rN)r)rrrrr/rrr=rrrurCrrrxrrrrrrrrrsHI  2222rrz&Number of entries in the NamedNodeMap.c.\rSrSrSrSrSrSrSrSr g) Identifiediz@Mix-in class that supports the publicId and systemId attributes.publicIdsystemIdcXlX lgr1r)rrrs r_identified_mixin_init!Identified._identified_mixin_init"s   rcUR$r1)rrs r _get_publicIdIdentified._get_publicId& }}rcUR$r1)rrs r _get_systemIdIdentified._get_systemId)rrN) rrrrrr/rrrrrrrrrsJ&I!rrc\\rSrSr\R rSrSrSr Sr Sr Sr Sr SrSSjrSrg) DocumentTypei,Nc[5Ul[5UlU(a[U5up#X0lURUlgr1)rentities notationsrrr)rrrrs rrDocumentType.__init__4s668 79  ( 7 F!I  rcUR$r1)internalSubsetrs r_get_internalSubset DocumentType._get_internalSubset<"""rcURGc[S5nURUlURUl[R R RnU(Ga^/URl /URl URRHen[URURUR5nURRRU5 URX4U5 Mg URRHn[!URURURUR"5nUR$UlUR&UlUR(UlURRRU5 URX6U5 M URX0U5 U$gr1)rwrrrrKrLUserDataHandler NODE_CLONEDrrrNotationrrrorEntity notationNameactualEncodingrr)rrxclonerrnotationeentitys rryDocumentType.cloneNode?sS    % &EEJ!YYEN//;;I&(#')$,,A' AJJ KHOO((//9--iHE-++A#AJJ AJJ$%NN4F,-,<,@@)),FG( OOG $ 9< g)*ri) _elem_inforr=r3r;z #documentNFrcZSUl[5Ul0Ul0UlSUlgr1)rrr3r?r;r=rs rrDocument.__init__5s* "* $rcUR(aURUR4nO URnURR U5$r1)rrrr?rZ)rrrs rr"Document._get_elem_info>s?   &&(9(99C//C""3''rcUR$r1rrs rrDocument._get_actualEncodingErrcUR$r1)rrs r _get_doctypeDocument._get_doctypeHrrcUR$r1) documentURIrs r_get_documentURIDocument._get_documentURIKsrcUR$r1rrs rrDocument._get_encodingNrrcUR$r1) errorHandlerrs r_get_errorHandlerDocument._get_errorHandlerQs   rcUR$r1)rrs r_get_standaloneDocument._get_standaloneTr:rcUR$r1)strictErrorCheckingrs r_get_strictErrorChecking!Document._get_strictErrorCheckingWs'''rcUR$r1rrs rrDocument._get_versionZrrcURUR;a8[RR [ U5<S[ U5<35eUR bUR RU5 UR[R:Xa4UR5(a[RR S5e[RX5$)NrEz two document elements disallowed) r'rJrKrLrMrNrOrPr rp_get_documentElementrQrs rrQDocument.appendChild]s == 6 6 6''--.24j$t*EG G ?? & OO ' ' - ==D-- -((**''--24 4++rcURRU5 S=UlUlSUlURULaSUl U$![a [RR 5ef=fr1) r3rhrSrKrLrTrXrYrOdocumentElementris rrPDocument.removeChildmsr ( OO " "8 ,;?>x7"   8 +#'D  (''%%' ' (s A )A3cnURH%nUR[R:XdM#Us $ gr1)r3r'r rprs rr]Document._get_documentElementys'OOD}} 1 11 $rcURb!URR5 SUl[RU5 gr1)rrnr rs rrnDocument.unlink~s/ << # LL   !DL DrcU(dgURRSSS5nURUlURUlURUlUR Hn[ X1U5nURRU5(deUR RU5 UR[R:XaURbeO3UR[R:XaURbeXBlX$lM UR#[$R&R(R*X5 U$r1)r|rrrrr3rvrwrror'r r(r`rrrOrrKrLrr)rrxrr childclones rryDocument.cloneNodes##224tD??  A$Qe4J++66u== ==    # #J /""d&8&88,,444$$(?(??}},,, * $) !! $$SWW%<%<%H%H%) 2 rc&[5nXlU$r1)rrw)rrs rcreateDocumentFragmentDocument.createDocumentFragments  rc([U5nXlU$r1)rrw)rrrs r createElementDocument.createElements G rcr[U[5(d [S5e[5nXlXlU$Nznode contents must be a string)rMrNryrrmrw)rrmts rcreateTextNodeDocument.createTextNodes1$$$<= = Frcr[U[5(d [S5e[5nXlXlU$rp)rMrNryrrmrwrrmr\s rcreateCDATASectionDocument.createCDATASections1$$$<= = Nrc([U5nXlU$r1)rrwrus r createCommentDocument.createComments DMrc([X5nXlU$r1)r1rw)rr3rmps rcreateProcessingInstruction$Document.createProcessingInstructions !& /rc6[U5nXlSUlU$r)rrwr)rras rcreateAttributeDocument.createAttributes KrcD[U5up4[X!U5nXlU$r1)rrrw)rrrrrrs rrDocument.createElementNSs%$]3 M 8rcR[U5up4[X!XC5nXlSUlU$r)rrrwr)rrrrrrs rcreateAttributeNSDocument.createAttributeNSs,$]3 i @rc*[XX45nXlU$r1)rrw)rrrrrrs r_create_entityDocument._create_entitys 48 :rc*[XU5nXlU$r1)rrw)rrrrrs r_create_notationDocument._create_notations TX .rcXR;aURU$UR(dUR(dgURnUcUR/nX lOU(dgSnU(GaCUR 5nUR URVs/sHnUR[;dMUPM sn5 URU5nU(GaWURR5GH7nUR(aoURURUR5(aBX@RUR 'UR U:XaUnMlUR"(d GO.MMUR%UR&5(aAX@RUR 'UR U:XaUnMUR"(d OMUR((dMX@RUR 'UR U:XaUnGM%UR"S:XdGM8 Ot OqUR"(a`URR5HBnUR((dMX@RUR 'UR U:XdM@UnMD UbU$U(aGMCU$s snf)NrF)r;r?rr=r`popextendr3r'rUr"rrFrr#rrrr$rr)rr^stackresultr]rsr&rs rgetElementByIdDocument.getElementByIds#  >>"% %4#7#7%% =))*E$) !99;D LLT__I_E"^^/GG _I J&&t,D!OO224D((;;t'8'8$..II9=NN4::6#zzR/)-%)%9%9 %&: J 499--59tzz2::+%)F!%!5!5!"659tzz2::+%)F!11Q6!'5(%% OO224D{{{59tzz2::+%)F 5 ! OeN IIs J<<J<c*[X[55$r1rr~s rrDocument.getElementsByTagNames.t8:FFrc,[XU[55$r1rrs rrDocument.getElementsByTagNameNSrrc8URRX5$r1)r|r}r~s rrDocument.isSupporteds""--g??rcUR[R:Xa[RR S5eUR[R :Xa[RR S5e[XU5$)Nzcannot import document nodesz!cannot import document type nodes)r'r r(rKrLNotSupportedErrrrv)rr]rxs r importNodeDocument.importNode!s_ ==D.. .''))*HI I ]]d55 5''))*MN N4t,,rc/nU(aURSUS35 UbURSU(aSOSS35 URSSRU5SU35 URHnUR XX45 M g) Nz encoding="rz standalone="yesnozURULa1[RRSU<SUR<35eUR[ R [ R4;a[RRS5eU[:waSU;aXURSS5upEUS:Xa=U[RR:wa[RRS5eOjUS:Xa[U[RR:wa=UR[ R:Xa[RRS5eSnUnOSnSnUR[ R:Xa-URnUbURnURU5 OSnXAlXQlX!lX1lUR[ R :XaX1lU$X1lUb)UR-U5 W(aUR/U5 U$) Nz3cannot rename nodes from other documents; expected z, found z8renameNode() only applies to element and attribute nodesrrFrzillegal use of 'xmlns' prefixz$illegal use of the 'xmlns' attribute)rwrKrLrr'r rpr0rrrrrrrrrrrrrrrr)rrrrrrris_ids r renameNodeDocument.renameNode8s ??$ &''**,0!//CD D ::d//1D1DE E''))JL L ? *d{$(JJsA$6!'&#''*A*AA''..799go&#''*A*AA**(;(;;''..>@@ FI ::,, ,nnG"++A.G % ::** *IF"((+..q1 r)r?r;r=r3rr`)rrrNN)?rrrrr/r rprrrrJrr|r(r'rrrrOrYrXrrrrrWrPrJrrr"rrGrKrrQrTrXrrQrPr]rnryrjrmrrrvryr}rrrrrrrrrrr)rrrrrrrsE@I**D,L,L**D,C,CE'(N!!HHIJJ$((Ok NHJGLKO%(# !(,   *        8tG7@-KO  ; 3rrr`z#Top-level element of this document.cT URRU5(a%[RRR nO$[RRR nUR[R:XaURURUR5nURR5HknURURURUR 5 UR#URUR$5nUR&UlMm U(a0UR(H n[+XqU5nUR-U5 M" GOUR[R.:XaIUR15nU(a0UR(H n[+XqU5nUR-U5 M" GOUR[R2:XaUR5UR65nGOsUR[R8:XaUR;UR65nGO8UR[R<:Xa(UR?UR@UR65nGOUR[RB:XaUREUR65nGOUR[RF:Xa@URIURUR5nSUlUR UlGOYUR[RJ:XGaURULde[RRR nURLROURPURRURT5nX$lU(Ga/URVl,/URZl,URZRXH~n []U RU RRU RT5n X*lURZRXR_U 5 [aU S5(dMlU RcX9U 5 M URVRXHn [eU RU RRU RTU Rf5n U RhU l4U RjU l5U RlU l6X,lURVRXR_U 5 [aU S5(dMU RcX;U 5 M O+[RRoS[qU5-5e[aUS5(aURcX0U5 U$)zc Clone a node and give it the new owner document. Called by Node.cloneNode and Document.importNode TrzCannot clone node %s)9rwrrKrLrr NODE_IMPORTEDr'r rprrrrrFrrrrrr3rvrQrGrjrlrrrmrrvrr}r3rryr0rrr|rrrrrrrrrorrrrrrrrrN) r]rxnewOwnerDocumentrrrrrsr\rrrrs rrvrvqs   $$%566GG++77 GG++99  }}))) 001B1B15@OO**,D  !2!2DMM4:: N(():):DNNKA..AK- -=>!!!$) $55 5 779 -=>!!!$) $.. ( // : $11 1 33DII> $:: : <rs" JJ > GGLL55GGLL>>@t377<<tl D,$@A D+$?@ D+$HI.%t%$y84y8v D&$FG D+$MN D,$EFa?6a?F L(68 v( D$ L"dL"\ G\<> G[79  &;&;RNItN4ECItECN M8)EFS+=S+j D0./ D+@B Bm B 34 3<V<| *H8:  ::y$:x&9Z&9P8z9d8M+M^(&(T2QtZQf  H'57Od!45#r