
    擖g                     8    S r SSKrSS jrSS jr " S S5      rg)	zApplies a fix to CR LF TAB handling in xml.dom.

Fixes this: http://code.google.com/p/chromium/issues/detail?id=76293
Working around this: http://bugs.python.org/issue5752
TODO(bradnelson): Consider dropping this when we drop XP support.
    Nc                     UR                  SS5      R                  SS5      nUR                  SS5      R                  SS5      nU(       a2  UR                  S	S
5      R                  SS5      R                  SS5      nU R                  U5        g)zWrites datachars to writer.&z&amp;<z&lt;"z&quot;>z&gt;z&#xD;
z&#xA;	z&#x9;N)replacewrite)writerdata	is_attribs      -/usr/lib/python3/dist-packages/gyp/xml_fix.py_Replacement_write_datar      sv    <<W%--c6:D<<X&..sF;D||D'*224AII$PWX
LL    c                 ,   UR                  US-   U R                  -   5        U R                  5       n[        UR	                  5       5      nU H?  nUR                  SU-  5        [        XU   R                  SS9  UR                  S5        MA     U R                  (       a`  UR                  SU-  5        U R                   H  nUR                  XU-   X45        M     UR                  U SU R                   SU 35        g UR                  S	U-  5        g )
Nr   z %s="T)r   r   z>%sz</r   z/>%s)	r   tagName_get_attributessortedkeysr   value
childNodeswritexml)	selfr   indent	addindentnewlattrsa_namesa_namenodes	            r   _Replacement_writexmlr#      s     LL#,-  "EUZZ\"GWv%&f(;(;tLS  UT\"OODMM&9"4iF $xr$,,q78Vd]#r   c                   *    \ rS rSrSrS rS rS rSrg)XmlFix/   z7Object to manage temporary patching of xml.dom.minidom.c                 \   [         R                  R                  R                  U l        [         R                  R                  R
                  R                  U l        [        [         R                  R                  l        [        [         R                  R                  R
                  l        g N)	xmldomminidom_write_data
write_dataElementr   r   r#   r   s    r   __init__XmlFix.__init__2   sX    ''//55//88&=#+@(r   c                     U R                   (       ad  U R                   [        R                  R                  l        U R
                  [        R                  R                  R                  l        S U l         g g r(   )r-   r)   r*   r+   r,   r   r.   r/   s    r   CleanupXmlFix.Cleanup:   sC    ??*.//CGGOO'/3}}CGGOO##,"DO r   c                 $    U R                  5         g r(   )r3   r/   s    r   __del__XmlFix.__del__@   s    r   )r-   r   N)	__name__
__module____qualname____firstlineno____doc__r0   r3   r6   __static_attributes__ r   r   r%   r%   /   s    AA#r   r%   )F) r?   r?   )r<   xml.dom.minidomr)   r   r#   r%   r>   r   r   <module>rA      s#   
 $, r   