Ë
    ^ãjÒ.  ã                  ó  — d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
 ddlmZmZ ddlmZmZmZmZmZ ddlmZ erddlmZ dd	lmZ  G d
„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)z@Custom element classes related to paragraph properties (CT_PPr).é    )Úannotations)ÚTYPE_CHECKINGÚCallable)ÚWD_ALIGN_PARAGRAPHÚWD_LINE_SPACINGÚWD_TAB_ALIGNMENTÚWD_TAB_LEADER)ÚST_SignedTwipsMeasureÚST_TwipsMeasure)ÚBaseOxmlElementÚ	OneOrMoreÚOptionalAttributeÚRequiredAttributeÚ	ZeroOrOne)ÚLength)Ú	CT_SectPr)Ú	CT_Stringc                  ó‚   — e Zd ZU dZ ede«      Zded<    ede«      Zded<    ede	«      Z
ded<    ed	e	«      Zded
<   y)ÚCT_Indz6``<w:ind>`` element, specifying paragraph indentation.zw:leftúLength | NoneÚleftzw:rightÚrightzw:firstLineÚ	firstLinez	w:hangingÚhangingN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r
   r   Ú__annotations__r   r   r   r   © ó    úW/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/docx/oxml/text/parfmt.pyr   r      se   … Ù@á+ØÐ'ó€Dˆ-ó ñ -ØÐ(ó€Eˆ=ó ñ  1Ø�ó €Iˆ}ó ñ /Ø�_ó€Gˆ]ô r!   r   c                  ó.   — e Zd ZU dZ ede«      Zded<   y)ÚCT_Jcz7``<w:jc>`` element, specifying paragraph justification.úw:valr   ÚvalN)r   r   r   r   r   r   r&   r   r    r!   r"   r$   r$   -   s   … ÙAá/ØÐ#ó€CÐ	ô r!   r$   c                  ó2  — e Zd ZU dZded<   ded<   ded<   ded	<   ded
<   dZ ededd ¬«      Zded<    ededd ¬«      Z ededd ¬«      Z	 ededd ¬«      Z
 ededd ¬«      Z ededd ¬«      Z ededd ¬«      Z ededd ¬«      Z ed ed!d ¬«      Zd"ed#<    ed$ed%d ¬«      Z ed&ed'd ¬«      Z[edBd(„«       Zej(                  dCd)„«       ZedBd*„«       Zej(                  dCd+„«       ZedBd,„«       Zej(                  dCd-„«       ZedDd.„«       Zej(                  d/„ «       Zed0„ «       Zej(                  d1„ «       Zed2„ «       Zej(                  d3„ «       Zed4„ «       Zej(                  d5„ «       Zed6„ «       Zej(                  d7„ «       Zed8„ «       Zej(                  d9„ «       Zed:„ «       Zej(                  d;„ «       Zed<„ «       Zej(                  d=„ «       ZedEd>„«       Zej(                  dFd?„«       Zed@„ «       Z e j(                  dA„ «       Z y)GÚCT_PPrz?``<w:pPr>`` element, containing the properties for a paragraph.zCallable[[], CT_Ind]Úget_or_add_indzCallable[[], CT_String]Úget_or_add_pStylezCallable[[CT_SectPr], None]Ú_insert_sectPrzCallable[[], None]Ú_remove_pStyleÚ_remove_sectPr)$úw:pStyleú
w:keepNextúw:keepLinesúw:pageBreakBeforez	w:framePrúw:widowControlúw:numPrzw:suppressLineNumberszw:pBdrzw:shdúw:tabszw:suppressAutoHyphensz	w:kinsokuz
w:wordWrapzw:overflowPunctzw:topLinePunctzw:autoSpaceDEzw:autoSpaceDNzw:bidizw:adjustRightIndzw:snapToGridú	w:spacingúw:indzw:contextualSpacingzw:mirrorIndentszw:suppressOverlapúw:jczw:textDirectionzw:textAlignmentzw:textboxTightWrapzw:outlineLvlzw:divIdz
w:cnfStylezw:rPrúw:sectPrzw:pPrChanger.   é   N©Ú
successorszCT_String | NoneÚpStyler/   é   r0   é   r1   é   r2   é   r3   é   r4   é   r5   é   r6   é   zCT_Ind | NoneÚindr7   é   r8   é#   c                óv   — | j                   }|€y|j                  }|�t        | «      S |j                  }|€y|S )z©A |Length| value calculated from the values of `w:ind/@w:firstLine` and
        `w:ind/@w:hanging`.

        Returns |None| if the `w:ind` child is not present.
        N)rE   r   r   r   )ÚselfrE   r   r   s       r"   Úfirst_line_indentzCT_PPr.first_line_indentu   sI   € ð �h‰hˆØˆ;ØØ—+‘+ˆØÐÜ˜7˜(Ó#Ð#Ø—M‘Mˆ	ØÐØØÐr!   c                óŽ   — | j                   €|€y | j                  «       }d x|_        |_        |€y |dk  r	| |_        y ||_        y )Nr   )rE   r)   r   r   ©rI   ÚvaluerE   s      r"   rJ   zCT_PPr.first_line_indent‡   sN   € à�8‰8Ð  ØØ×!Ñ!Ó#ˆØ&*Ð*ˆŒ˜œØˆ=ØØ�QŠYØ ˜&ˆC�Kà!ˆC�Mr!   c                ó8   — | j                   }|€y|j                  S )z6The value of `w:ind/@w:left` or |None| if not present.N)rE   r   ©rI   rE   s     r"   Úind_leftzCT_PPr.ind_left”   s   € ð �h‰hˆØˆ;ØØ�x‰xˆr!   c                óP   — |€| j                   €y | j                  «       }||_        y ©N)rE   r)   r   rL   s      r"   rP   zCT_PPr.ind_leftœ   s(   € àˆ=˜TŸX™XÐ-ØØ×!Ñ!Ó#ˆØˆ�r!   c                ó8   — | j                   }|€y|j                  S )z7The value of `w:ind/@w:right` or |None| if not present.N)rE   r   rO   s     r"   Ú	ind_rightzCT_PPr.ind_right£   s   € ð �h‰hˆØˆ;ØØ�y‰yÐr!   c                óP   — |€| j                   €y | j                  «       }||_        y rR   )rE   r)   r   rL   s      r"   rT   zCT_PPr.ind_right«   s(   € àˆ=˜TŸX™XÐ-ØØ×!Ñ!Ó#ˆØˆ�	r!   c                óJ   — | j                   �| j                   j                  S dS )z=Value of the `<w:jc>` child element or |None| if not present.N)Újcr&   ©rI   s    r"   Újc_valzCT_PPr.jc_val²   s    € ð #Ÿg™gÐ1ˆt�w‰w�{‰{Ð;°tÐ;r!   c                óT   — |€| j                  «        y || j                  «       _        y rR   )Ú
_remove_jcÚget_or_add_jcr&   ©rI   rM   s     r"   rY   zCT_PPr.jc_val·   s%   € àˆ=Ø�O‰OÔØØ#(ˆ×ÑÓÕ r!   c                ó8   — | j                   }|€y|j                  S )z7The value of `keepLines/@val` or |None| if not present.N)Ú	keepLinesr&   )rI   r_   s     r"   ÚkeepLines_valzCT_PPr.keepLines_val¾   s    € ð —N‘Nˆ	ØÐØØ�}‰}Ðr!   c                óT   — |€| j                  «        y || j                  «       _        y rR   )Ú_remove_keepLinesÚget_or_add_keepLinesr&   r]   s     r"   r`   zCT_PPr.keepLines_valÆ   s$   € àˆ=Ø×"Ñ"Õ$à.3ˆD×%Ñ%Ó'Õ+r!   c                ó8   — | j                   }|€y|j                  S )z6The value of `keepNext/@val` or |None| if not present.N)ÚkeepNextr&   )rI   re   s     r"   ÚkeepNext_valzCT_PPr.keepNext_valÍ   s    € ð —=‘=ˆØÐØØ�|‰|Ðr!   c                óT   — |€| j                  «        y || j                  «       _        y rR   )Ú_remove_keepNextÚget_or_add_keepNextr&   r]   s     r"   rf   zCT_PPr.keepNext_valÕ   s$   € àˆ=Ø×!Ñ!Õ#à-2ˆD×$Ñ$Ó&Õ*r!   c                ó8   — | j                   }|€y|j                  S )z=The value of `pageBreakBefore/@val` or |None| if not present.N)ÚpageBreakBeforer&   )rI   rk   s     r"   ÚpageBreakBefore_valzCT_PPr.pageBreakBefore_valÜ   s$   € ð ×.Ñ.ˆØÐ"ØØ×"Ñ"Ð"r!   c                óT   — |€| j                  «        y || j                  «       _        y rR   )Ú_remove_pageBreakBeforeÚget_or_add_pageBreakBeforer&   r]   s     r"   rl   zCT_PPr.pageBreakBefore_valä   s$   € àˆ=Ø×(Ñ(Õ*à49ˆD×+Ñ+Ó-Õ1r!   c                ó8   — | j                   }|€y|j                  S )z;The value of `w:spacing/@w:after` or |None| if not present.N)ÚspacingÚafter©rI   rq   s     r"   Úspacing_afterzCT_PPr.spacing_afterë   s   € ð —,‘,ˆØˆ?ØØ�}‰}Ðr!   c                óL   — |€| j                   €y || j                  «       _        y rR   )rq   Úget_or_add_spacingrr   r]   s     r"   rt   zCT_PPr.spacing_afteró   s$   € àˆ=˜TŸ\™\Ð1ØØ*/ˆ×ÑÓ!Õ'r!   c                ó8   — | j                   }|€y|j                  S )z<The value of `w:spacing/@w:before` or |None| if not present.N)rq   Úbeforers   s     r"   Úspacing_beforezCT_PPr.spacing_beforeù   s   € ð —,‘,ˆØˆ?ØØ�~‰~Ðr!   c                óL   — |€| j                   €y || j                  «       _        y rR   )rq   rv   rx   r]   s     r"   ry   zCT_PPr.spacing_before  s$   € àˆ=˜TŸ\™\Ð1ØØ+0ˆ×ÑÓ!Õ(r!   c                ó8   — | j                   }|€y|j                  S )z:The value of `w:spacing/@w:line` or |None| if not present.N)rq   Úliners   s     r"   Úspacing_linezCT_PPr.spacing_line  s   € ð —,‘,ˆØˆ?ØØ�|‰|Ðr!   c                óL   — |€| j                   €y || j                  «       _        y rR   )rq   rv   r|   r]   s     r"   r}   zCT_PPr.spacing_line  s$   € àˆ=˜TŸ\™\Ð1ØØ).ˆ×ÑÓ!Õ&r!   c                óx   — | j                   }|€y|j                  }|€|j                  �t        j                  S |S )au  The value of `w:spacing/@w:lineRule` as a member of the :ref:`WdLineSpacing`
        enumeration.

        Only the `MULTIPLE`, `EXACTLY`, and `AT_LEAST` members are used. It is the
        responsibility of the client to calculate the use of `SINGLE`, `DOUBLE`, and
        `MULTIPLE` based on the value of `w:spacing/@w:line` if that behavior is
        desired.
        N)rq   ÚlineRuler|   r   ÚMULTIPLE)rI   rq   r€   s      r"   Úspacing_lineRulezCT_PPr.spacing_lineRule  s@   € ð —,‘,ˆØˆ?ØØ×#Ñ#ˆØÐ §¡Ð 8Ü"×+Ñ+Ð+Øˆr!   c                óL   — |€| j                   €y || j                  «       _        y rR   )rq   rv   r€   r]   s     r"   r‚   zCT_PPr.spacing_lineRule'  s$   € àˆ=˜TŸ\™\Ð1ØØ-2ˆ×ÑÓ!Õ*r!   c                ó8   — | j                   }|€y|j                  S )zGString contained in `./w:pStyle/@val`, or None if child is not present.N)r<   r&   )rI   r<   s     r"   ÚstylezCT_PPr.style-  s   € ð —‘ˆØˆ>ØØ�z‰zÐr!   c                óX   — |€| j                  «        y| j                  «       }||_        y)z‹Set `./w:pStyle/@val` `style`, adding a new element if necessary.

        If `style` is |None|, remove `./w:pStyle` when present.
        N)r,   r*   r&   )rI   r…   r<   s      r"   r…   zCT_PPr.style5  s-   € ð ˆ=Ø×ÑÔ!ØØ×'Ñ'Ó)ˆØˆ�
r!   c                ó8   — | j                   }|€y|j                  S )z:The value of `widowControl/@val` or |None| if not present.N)ÚwidowControlr&   )rI   rˆ   s     r"   ÚwidowControl_valzCT_PPr.widowControl_valA  s$   € ð ×(Ñ(ˆØÐØØ×ÑÐr!   c                óT   — |€| j                  «        y || j                  «       _        y rR   )Ú_remove_widowControlÚget_or_add_widowControlr&   r]   s     r"   r‰   zCT_PPr.widowControl_valI  s$   € àˆ=Ø×%Ñ%Õ'à16ˆD×(Ñ(Ó*Õ.r!   )Úreturnr   )rM   r   )r�   zWD_ALIGN_PARAGRAPH | None)r�   ú
str | None)r…   rŽ   )!r   r   r   r   r   Ú_tag_seqr   r<   re   r_   rk   rˆ   ÚnumPrÚtabsrq   rE   rW   ÚsectPrÚpropertyrJ   ÚsetterrP   rT   rY   r`   rf   rl   rt   ry   r}   r‚   r…   r‰   r    r!   r"   r(   r(   5   s_  … ÙIà(Ó(Ø.Ó.Ø/Ó/Ø&Ó&Ø&Ó&ð%€HñL  )Ø˜x¨¨˜|ô €FÐó ñ ˜°(¸1¸2°,Ô?€HÙ˜-°H¸Q¸R°LÔA€IÙÐ 3ÀÈÈÀÔM€OÙÐ-¸(À1À2¸,ÔG€LÙ�i¨H°Q°R¨LÔ9€EÙ�X¨(°2°3¨-Ô8€DÙ˜°¸¸°Ô>€GÙ"Ø˜H R S˜Mô€Cˆó ñ 
�6 h¨r¨s mÔ	4€BÙ�z¨h°r°s¨mÔ<€FØàòó ðð" ×Ñò
"ó ð
"ð òó ðð ‡_�_òó ðð òó ðð ×Ñòó ðð ò<ó ð<ð ‡]�]ñ)ó ð)ð ñó ðð ×Ññ4ó ð4ð ñó ðð ×Ññ3ó ð3ð ñ#ó ð#ð ×Ññ:ó  ð:ð ñó ðð ×Ññ0ó ð0ð
 ñó ðð ×Ññ1ó ð1ð
 ñó ðð ×Ññ/ó ð/ð
 ñó ðð" ×Ññ3ó ð3ð
 òó ðð ‡\�\ò	ó ð	ð ñ ó ð ð ×Ññ7ó ñ7r!   r(   c                  óX   — e Zd ZdZ ede«      Z ede«      Z ede«      Z	 ede
«      Zy)Ú
CT_Spacingzk``<w:spacing>`` element, specifying paragraph spacing attributes such as space
    before and line spacing.zw:afterzw:beforezw:linez
w:lineRuleN)r   r   r   r   r   r   rr   rx   r
   r|   r   r€   r    r!   r"   r–   r–   Q  s:   „ ñ ñ ˜i¨Ó9€EÙ˜z¨?Ó;€FÙ˜XÐ'<Ó=€DÙ  ¨Ó?�Hr!   r–   c                  ó†   — e Zd ZU dZ ede«      Zded<    ede	e	j                  ¬«      Zded<    ed	e«      Zd
ed<   dd„Zy)Ú
CT_TabStopz´`<w:tab>` element, representing an individual tab stop.

    Overloaded to use for a tab-character in a run, which also uses the w:tab tag but
    only needs a __str__ method.
    r%   r   r&   zw:leader)ÚdefaultzWD_TAB_LEADER | NoneÚleaderzw:posr   Úposc                 ó   — y)z®Text equivalent of a `w:tab` element appearing in a run.

        Allows text of run inner-content to be accessed consistently across all text
        inner-content.
        ú	r    rX   s    r"   Ú__str__zCT_TabStop.__str__l  s   € ð r!   N)r�   Ústr)r   r   r   r   r   r   r&   r   r   r	   ÚSPACESrš   r
   r›   rž   r    r!   r"   r˜   r˜   [  s`   … ññ .ØÐ!ó€CÐ	ó ñ $5Ø�M¨=×+?Ñ+?ô$€FÐ ó ñ $ØÐ&ó€Cˆó ôr!   r˜   c                  ó*   — e Zd ZdZ edd¬«      Zd„ Zy)ÚCT_TabStopszC``<w:tabs>`` element, container for a sorted sequence of tab stops.zw:tabr    r:   c                óò   — | j                  «       }|||c|_        |_        |_        | j                  D ]0  }|j                  |j                  k  sŒ|j                  |«       |c S  | j                  |«       |S )z<Insert a newly created `w:tab` child element in `pos` order.)Ú_new_tabr›   r&   rš   Útab_lstÚaddpreviousÚappend)rI   r›   Úalignrš   Únew_tabÚtabs         r"   Úinsert_tab_in_orderzCT_TabStops.insert_tab_in_orderz  sj   € à—-‘-“/ˆØ36¸¸vÐ0ˆŒ�W”[ '¤.Ø—<‘<ò 	ˆCØ�{‰{˜SŸW™WÓ$Ø—‘ Ô(Ø’ð	ð 	�‰�GÔØˆr!   N)r   r   r   r   r   rª   r«   r    r!   r"   r¢   r¢   u  s   „ ÙMá
�G¨Ô
+€Có	r!   r¢   N) r   Ú
__future__r   Útypingr   r   Údocx.enum.textr   r   r   r	   Údocx.oxml.simpletypesr
   r   Údocx.oxml.xmlchemyr   r   r   r   r   Údocx.sharedr   Údocx.oxml.sectionr   Údocx.oxml.sharedr   r   r$   r(   r–   r˜   r¢   r    r!   r"   ú<module>r´      sƒ   ðÙ Få "ç *÷ó ÷ I÷õ õ áÝ+Ý*ôˆ_ô ô"ˆOô ôY7ˆ_ô Y7ôx@�ô @ô�ô ô4�/õ r!   