
    %j\                         d dl Z  G d de          Z ei i i i           e_        d Z e j        dddg          Zd	 Z e j        d
ddg          Zd Z	d Z
dS )    Nc                   D    e Zd Zedd            Zd Zd Zd Zd Zd Z	dS )	StylesNc                 H    | i } |i }|i }|i }t          | |||          S )Nparagraph_stylescharacter_stylestable_stylesnumbering_styles)r   r   s       _/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/mammoth/docx/styles_xml.pycreatezStyles.create   sT    #!#!L#!--%-	
 
 
 	
    c                 >    || _         || _        || _        || _        d S N)_paragraph_styles_character_styles_table_styles_numbering_styles)selfr   r   r	   r
   s        r   __init__zStyles.__init__   s(    !1!1)!1r   c                 6    | j                             |          S r   )r   getr   style_ids     r   find_paragraph_style_by_idz!Styles.find_paragraph_style_by_id       %))(333r   c                 6    | j                             |          S r   )r   r   r   s     r   find_character_style_by_idz!Styles.find_character_style_by_id    r   r   c                 6    | j                             |          S r   )r   r   r   s     r   find_table_style_by_idzStyles.find_table_style_by_id#   s    !%%h///r   c                 6    | j                             |          S r   )r   r   r   s     r   find_numbering_style_by_idz!Styles.find_numbering_style_by_id&   r   r   )NNNN)
__name__
__module____qualname__staticmethodr   r   r   r   r   r!    r   r   r   r      s}        
 
 
 \
"2 2 24 4 44 4 40 0 04 4 4 4 4r   r   r   c                 .   i }i }i }i }||||d}|                      d          D ]^}|j        d         }|dk    rt          |          }nt          |          }|                    |          }	|	|j        |	vr
||	|j        <   _t          ||||          S )N)	paragraph	charactertable	numberingzw:stylezw:typer+   r   )find_children
attributes_read_numbering_style_element_read_style_elementr   r   r   )
elementr   r   r	   r
   stylesstyle_elementelement_typestyle	style_sets
             r   read_styles_xml_elementr6   2   s    L%%%	 F !..y99 . .$/9;&&1-@@EE'66EJJ|,,	  U^9%D%D(-Ien%))!)	   r   Styler   namec                     t          |           }|                     d          j                            d          }t	          ||          S )Nzw:namew:val)r   r8   )_read_style_idfind_child_or_nullr-   r   r7   )r0   r   r8   s      r   r/   r/   _   sF    g&&H%%h//:>>wGGD(....r   NumberingStylenum_idc                     t          |           }|                     d                              d                              d          j                            d          }t	          ||          S )Nzw:pPrzw:numPrzw:numIdr:   )r   r>   )r;   r<   r-   r   r=   )r0   r   r>   s      r   r.   r.   h   sc    g&&H		G	$	$		I	&	&		I	&	&	CCLL	  8F;;;;r   c                     | j         d         S )Nz	w:styleId)r-   )r0   s    r   r;   r;   t   s    k**r   )collectionsobjectr   EMPTYr6   
namedtupler7   r/   r=   r.   r;   r&   r   r   <module>rE      s       #4 #4 #4 #4 #4V #4 #4 #4L v	  ' ' 'T 	wV(<==/ / / ('(8:x:PQQ	< 	< 	<+ + + + +r   