
    %j	                     \    d dl mZ ddlmZmZ dZdez   ZdZdZd Z	d	 Z
d
 Zd Zd Zd ZdS )    )ElementTree   )open_zip
update_zipzmammoth/style-map/zword/_rels/document.xml.relsz[Content_Types].xmlc           	      b   t          | d          5 }t          |                    t                              }t	          |                    t
                              }d d d            n# 1 swxY w Y   t          | t          |                    d          t          |t
          |i           d S )Nrutf8)	r   _generate_relationships_xmlread_str_relationships_path_generate_content_types_xml_content_types_pathr   _style_map_pathencode)fileobj	style_mapzip_filerelationships_xmlcontent_types_xmls        ^/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/mammoth/docx/style_map.pywrite_style_mapr      s    	'3		 `878I8IJ]8^8^__78I8IJ]8^8^__` ` ` ` ` ` ` ` ` ` ` ` ` ` ` w))&11..     s   AA,,A03A0c           	          d}d}d|z   dz   }t          j        |           }t          ||dd|t          d           t          j        |d          S )	Nz,http://schemas.zwobble.org/mammoth/style-mapz<http://schemas.openxmlformats.org/package/2006/relationships{z}RelationshipIdrMammothStyleMap)r   TypeTargetUTF-8r   
fromstring_add_or_update_element_style_map_absolute_pathtostring)r   schemarelationships_urirelationship_element_namerelationshipss        r   r   r      sr    ;FV #&7 7/ I*+<==M=*CT *L L    w777    c                     d}d|z   dz   }t          j        |           }t          ||dt          dd           t          j        |d          S )Nz<http://schemas.openxmlformats.org/package/2006/content-typesr   z	}OverridePartNameztext/prs.mammoth.style-map)r+   ContentTyper   r    )r   content_types_urioverride_nametypess       r   r   r   &   sf    V++k9M"#455E5-,3> >   
 w///r)   c                 l    t          | |||          }|t          j        | ||           d S ||_        d S N)_find_childr   
SubElementattrib)parentnameidentifying_attribute
attributesexisting_childs        r   r"   r"   3   sE     /DjQQNvtZ88888 *r)   c                     |                                  D ]=}|j        |k    r0|                    |          |                    |          k    r|c S >d S r1   )itertagget)r5   r6   r7   r8   elements        r   r2   r2   ;   s^    ;;==  ;$7;;/D#E#EXmInIn#n#nNNN r)   c                     t          | d          5 }|                    t                    r&|                    t                    cd d d            S 	 d d d            d S # 1 swxY w Y   d S )Nr	   )r   existsr   r   )r   r   s     r   read_style_maprA   A   s    	'3		 68???++ 	6$$_556 6 6 6 6 6 6 6	66 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   4A  A$'A$N)	xml.etreer   zipsr   r   r   r#   r   r   r   r   r   r"   r2   rA    r)   r   <module>rE      s    ! ! ! ! ! ! ' ' ' ' ' ' ' ' &0 4 + 	 	 	8 8 8
0 
0 
0+ + +  6 6 6 6 6r)   