Ë
    ©2Úi^¿  ã                   ó4  — d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
mZ dd	lmZmZmZ dd
lmZ ddlmZ ddlmZ ddlmZmZmZ ddlmZ ddlmZmZ 	 	 	 d$d„Zd„ Z d„ Z!ed„ «       Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d „ Z.d!„ Z/d"„ Z0d#„ Z1y)%zCPage breaking and layout for block-level and block-container boxes.é    )Úinfé   )Úboxesé   )ÚAbsolutePlaceholderÚabsolute_layout)Úcolumns_layout)Úflex_layout)Úavoid_collisionsÚfloat_layoutÚget_clearance)Úgrid_layout)Úiter_line_boxes)Úhandle_min_max_width)Ú
percentageÚresolve_percentagesÚresolve_position_percentages)Úblock_replaced_box_layout)Útable_layoutÚtable_wrapper_widthNc                 ó�  — |€g n|}|€g n|}|€g n|}t        |t        j                  «      �st        ||«       |j                  dk(  rd|_        |j
                  dk(  rd|_        | j                  dkD  rS|rQ|j                  xs |}|r?|j                  d   dk(  rd|_        n%|j                  d   dk(  r| j                  sd|_        t        g |¢|j                  ‘«      }t        | ||«      |_        |j                  �2|j                  |z   |j                  z   }||j                  z
  |_        g }t        | |||||||||	|
||«      S )z Lay out the block-level ``box``.Úautor   r   Úmargin_breakÚdiscard)Ú
isinstancer   ÚTableBoxr   Ú
margin_topÚmargin_bottomÚcurrent_pageÚis_for_root_elementÚstyleÚforced_breakÚcollapse_marginr   Ú	clearanceÚ
position_yÚblock_level_layout_switch)ÚcontextÚboxÚbottom_spaceÚ
skip_stackÚcontaining_blockÚpage_is_emptyÚabsolute_boxesÚfixed_boxesÚadjoining_marginsÚfirst_letter_styleÚfirst_line_styler   Ú	max_linesÚcollapse_with_pageÚcollapsed_marginÚtop_border_edges                   úN/var/www/html/acx/venv/lib/python3.12/site-packages/weasyprint/layout/block.pyÚblock_level_layoutr7      se  € ð
 *Ð1‘R°~€NØ#Ð+‘"°€KØ/Ð7™Ð=NÐä�cœ5Ÿ>™>Õ*Ü˜CÐ!1Ô2à�>‰>˜VÒ#ØˆCŒNØ×Ñ Ò&Ø !ˆCÔà×Ñ !Ò#©ð !×4Ñ4ò "Ø!ð ñ "Ø—9‘9˜^Ñ,°	Ò9Ø%&�C•NØ—Y‘Y˜~Ñ.°&Ò8Ø"×/Ò/Ø)*˜œä*Ð+OÐ->Ð+OÀÇÁÐ+OÓPÐÜ% g¨sÐ4DÓEˆŒØ�=‰=Ð$Ø!Ÿn™nÐ/?Ñ?À#Ç-Á-ÑOˆOØ,¨s¯~©~Ñ=ˆCŒNØ "Ðä$Ø��l JÐ0@Ø�~ {Ð4EØÐ,¨g°yóBð Bó    c                 ó  — t        |t        j                  «      rt        | |||||||«      }nÖt        |t        j                  «      rt        | |||||||||	|
||«      S t        |t        j                  «      rt        | ||«      }n}t        |t        j                  «      rt        | ||||||||«	      }nOt        |t        j                  «      rt        | |||||||«      }n"t        dt        |«      j                  › d�«      ‚g |¢d‘­S )z;Call the layout function corresponding to the ``box`` type.zLayout for z not handled yetN)r   r   r   r   ÚBlockBoxÚblock_box_layoutÚBlockReplacedBoxr   ÚFlexBoxr
   ÚGridBoxr   Ú	TypeErrorÚtypeÚ__name__)r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r   r2   Úresults                 r6   r&   r&   A   s  € ô
 �#”u—~‘~Ô&ÜØ�S˜,¨
Ð4DØ˜>¨;ó8‰ô 
�CœŸ™Ô	(ÜØ�S˜,¨
Ð4DØ˜>¨;Ð8IØÐ 0°'¸9óFð 	Fô 
�Cœ×/Ñ/Ô	0Ü*¨7°CÐ9IÓJ‰Ü	�CœŸ™Ô	'ÜØ�S˜,¨
Ð4DØ˜>¨;¸óA‰ô 
�CœŸ™Ô	'ÜØ�S˜,¨
Ð4DØ˜>¨;ó8‰ô ˜+¤d¨3£i×&8Ñ&8Ð%9Ð9IÐJÓKÐKØˆVˆ?�T‰?Ðr8   c                 óÚ  — |j                   d   dk7  s|j                   d   dk7  ryt        | |||||||||	|
«      }|d   }|€V|d   }|j                  |j                  z   |j                  z   }|r)t        | |g||«       ||z  }t        | |||||||||	|
«      }g |¢d‘­S |j                  r#t        | ||j                  |j                  f«       t        ||«       t        | ||||||||	|
||«      }|d   x}r|j                  s|j                  r|S |j                  s|j                  «       r?t        | ||d¬«      \  }}}|j!                  ||j"                  z
  ||j$                  z
  «       |S )	zLay out the block ``box``.Úcolumn_widthr   Úcolumn_countr   Nr   F)Úouter)r!   r	   r   Úpadding_bottomÚborder_bottom_widthÚremove_placeholdersÚis_table_wrapperr   ÚwidthÚheightÚblock_level_widthÚblock_container_layoutÚ	is_columnÚis_flex_itemÚestablishes_formatting_contextr   Ú	translateÚ
position_xr%   )r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r   r2   rB   Ú	resume_atÚnew_boxÚcolumns_bottom_spacerS   r%   Ú_s                       r6   r;   r;   ^   sÌ  € ð
 	�	‰	�.Ñ! VÒ+Ø�I‰I�nÑ%¨Ò/ÜØ�S˜,¨
Ð4DÀmØ˜KÐ):Ð<NØóˆð ˜1‘Iˆ	àÐØ˜Q‘iˆGà×%Ñ%¨×(>Ñ(>Ñ>Ø×+Ñ+ñ,ð !ñ $Ü#Ø˜g˜Y¨¸ôEàÐ 4Ñ4�Ü'Ø˜S ,°
Ð<LØ! >°;Ð@QØ&Ð(8ó:�ð �ˆ˜‰ÐØ	×	Ò	ÜØ�SÐ+×1Ñ1Ð3C×3JÑ3JÐKô	Mä�cÐ+Ô,ä#Ø��l J°¸~ØÐ&Ð(:Ð<LÈgØó€Fð ˜a‘yÐ ˆGÐ  W×%6Ò%6¸'×:NÒ:NØˆØ×Ò 7×#IÑ#IÔ#Kô %5Ø�WÐ.°eô%=Ñ!ˆ
�J à×ÑØ˜×+Ñ+Ñ+¨Z¸'×:LÑ:LÑ-Lô	Nà€Mr8   c                 ób  — t        |t        j                  «      r|j                  }|j                  d   }n|d   }d}| j
                  }| j                  }| j                  }| j                  }| j                  }| j                  }	| j                  }
||z   |z   |	z   }| j                  dk7  r:||
z   }|dk7  r||z  }|dk7  r||z  }||kD  r|dk(  r	dx}| _        |dk(  r	dx}| _        |
dk7  r<|dk7  r7|dk7  r2|dk(  r-| j                  s!| xj                  ||z
  |
z
  |z
  |z
  z  c_        |
dk(  r.|dk(  r	dx}| _        |dk(  r	dx}| _        |||z   |z   z
  x}
| _        ||z
  |
z
  }||cxk(  rdk(  rn n|dz  | _        |dz  | _        y|dk(  r|dk7  r||z
  | _        y|dk7  r|dk(  r||z
  | _        yyy)zSet the ``box`` width.Ú	directionr   Últrr   Úrtlr   N)r   r   ÚBoxrK   r!   Úmargin_leftÚmargin_rightÚpadding_leftÚpadding_rightÚborder_left_widthÚborder_right_widthrO   rS   )r(   r+   Úcb_widthrY   Úmargin_lÚmargin_rÚ	padding_lÚ	padding_rÚborder_lÚborder_rrK   Úpaddings_plus_bordersÚtotalÚ
margin_sums                 r6   rM   rM   �   s  € ô Ð"¤E§I¡IÔ.Ø#×)Ñ)ˆØ$×*Ñ*¨;Ñ7‰	à# AÑ&ˆàˆ	ð
 �‰€HØ×Ñ€HØ× Ñ €IØ×!Ñ!€IØ×$Ñ$€HØ×%Ñ%€HØ�I‰I€Eð &¨	Ñ1°HÑ<¸xÑGÐØ
‡y�y�FÒØ%¨Ñ-ˆØ�vÒØ�XÑˆEØ�vÒØ�XÑˆEØ�8ÒØ˜6Ò!Ø-.Ð.�˜3œ?Ø˜6Ò!Ø./Ð/�˜3Ô+Ø�‚˜8 vÒ-°(¸fÒ2Dà˜Ò c§m¢mØ�NŠNØÐ0Ñ0°5Ñ8¸8ÑCÀhÑNñP�Nð �‚Ø�vÒØ)*Ð*ˆH�s”Ø�vÒØ*+Ð+ˆH�sÔ'Ø$Ø! HÑ,¨xÑ7ñ9ð 	9ˆ�”	àÐ1Ñ1°EÑ9€JØ�8Ô%˜vÕ%Ø$ q™.ˆŒØ%¨™>ˆÕØ	�VÒ	 ¨FÒ 2Ø$ xÑ/ˆ�Ø	�VÒ	 ¨FÒ 2Ø%¨Ñ0ˆÕð !3Ð	r8   c                 óv  — | j                   d   dk(  rßt        | |«       | j                  dk7  r<| j                  dk7  r-| j                   d   dk(  r| j                  }nI| j                   }n;| j                  dk7  r| j                  }n| j                  dk7  r| j                   }nd}| j                  dk7  r| j                  }n| j
                  dk7  r| j
                   }nd}| j                  ||«       t        | t        j                  t        j                  f«      r| j                  D ]  }t        ||«       Œ yy)z5Translate the ``box`` if it is relatively positioned.ÚpositionÚrelativer   rY   rZ   r   N)r!   r   ÚleftÚrightÚtopÚbottomrR   r   r   Ú	InlineBoxÚLineBoxÚchildrenÚrelative_positioning)r(   r+   Útranslate_xÚtranslate_yÚchilds        r6   rw   rw   Ï   s  € à
‡y�y�Ñ 
Ò*Ü$ SÐ*:Ô;à�8‰8�vÒ #§)¡)¨vÒ"5Ø�y‰y˜Ñ%¨Ò.Ø!Ÿh™h‘à"Ÿy™y˜j‘Ø�X‰X˜ÒØŸ(™(‰KØ�Y‰Y˜&Ò ØŸ9™9˜*‰KàˆKà�7‰7�fÒØŸ'™'‰KØ�Z‰Z˜6Ò!ØŸ:™:˜+‰KàˆKà�‰�k ;Ô/ä�#œŸ™¬¯©Ð7Ô8Ø—\‘\ò 	:ˆEÜ  Ð(8Õ9ñ	:ð 9r8   c
           	      óp  — d}
d }d }d }|xj                   t        |«      z  c_         |j                  «       r]t        |«      x}}||_        |j                  |«       |j                  d   dk(  r|j                  |«       �n1|j                  |«       �n|j                  «       r¿t        | |||||	d ¬«      \  }}| j                  |	|j                   |j                  z   «      }|xr | xs | xs |j                  «       }|r||_        |j                  |«       n—t        |«      }t        ||«      }|d i}d }d}
|rvt        || «      rjt        | |||«      }|rZ|\  |d d  }d }nO|j!                  «       r?|j                  d   d   }| j"                  }| j$                  |   |   j                  |«       |
|||fS )NFrn   Úabsolute©r*   Tr   )r%   r#   Úis_absolutely_positionedr   ÚindexÚappendr!   Ú
is_floatedr   Úoverflows_pagerL   Úis_monolithicÚfind_last_in_flow_childÚblock_level_page_breakÚavoid_page_breakÚfind_earlier_page_breakÚ
is_runningr   Úrunning_elements)r'   r(   r   rz   Únew_childrenr,   r-   r.   r/   r)   ÚstoprT   Ú	new_childÚout_of_flow_resume_atÚplaceholderÚpage_overflowÚ	add_childÚlast_in_flow_childÚ
page_breakrB   Úrunning_nameÚpages                         r6   Ú_out_of_flow_layoutr•   î   sð  € ð €DØ€IØ€IØ Ðð
 
×ÒœÐ(9Ó:Ñ:Õð ×%Ñ%Ô'Ü"5°eÓ"<Ð<ˆ	�KØ!ˆÔØ×Ñ˜KÔ(Ø�;‰;�zÑ" jÒ0Ø×!Ñ! +Ö.à×Ñ˜{Ö+ð 
×	Ñ	Ô	Ü+7Ø�U˜C °¸lØô,Ñ(ˆ	Ð(ð
  ×.Ñ.Ø˜)×.Ñ.°×1AÑ1AÑAóCˆð Ò/ <Ð/ò  ØÐò à×ÑÓð 	ñ à#ˆIŒOØ×Ñ 	Õ*ô "9¸Ó!FÐÜ/Ð0BÀEÓJˆJØ ˜ˆIØ$(Ð!ØˆDÙÔ 0°¸WÔ Eä0Ø˜\¨>¸;óH�áà17Ñ.�L¡�O YØ $‘Ið 
×	Ñ	Ô	Ø—{‘{ :Ñ.¨qÑ1ˆØ×#Ñ#ˆØ× Ñ  Ñ.¨tÑ4×;Ñ;¸EÔBà�˜IÐ'<Ð<Ð<r8   c                 óf  — t        |«      |j                  d   z
  }|dk  r|st        | |j                  |	|
«       dd|fS ||kD  r|st        | |j                  |	|
«       dd|fS |r.||k  r)|| d D ]  }t        | |j                  |	|
«       Œ || d…= t        | |j                  |	|
«       dd||ifS )z[Break line where allowed by orphans and widows.

    Return (abort, stop, resume_at).

    Úorphansr   TFN)Úlenr!   rI   rv   )r'   r(   ÚlinerŠ   Úneededr,   r   r*   rT   r-   r.   Úover_orphansrz   s                r6   Ú_break_linerœ   0  sÞ   € ô �|Ó$ s§y¡y°Ñ';Ñ;€LØ�aÒ¡ô 	˜G T§]¡]°NÀKÔPØ�U˜IÐ%Ð%ð �Ò¡]ä˜G T§]¡]°NÀKÔPØ�U˜IÐ%Ð%Ù�&˜LÒ(à! 6 ' (Ð+ò 	FˆEÜØ˜Ÿ™¨¸õFð	Fð ˜&˜™Ð"ä˜ §¡°ÀÔLØ�$˜ 
Ð+Ð+Ð+r8   c                 ól  ‡ — dx}}d }g }t        |j                  «      dk(  sJ d«       ‚|r|
t        |«      z  }
|}t        ‰ ||
|	||||||«
      }t	        |«      D �]=  \  }\  }}|�$|dk(  r|j
                  d   |d   _         �n|dz  }||_        |j                  |j                  z   }||d u z  }|r|j                  |j                  z   }nd}|xs | xr ‰ j                  |	||z   «      }|�rJdx}}|j
                  d   dz
  }|D ]  }|dz  }|dk(  sŒ n t        |«      dz   |j
                  d	   k  rd}n|dk\  rd}t        |«      |j
                  d	   k  rd}n|dkD  rd}t        d|«      }‰ j                   xr |xr | }d} |rg‰ j                  r[‰ j!                  ‰ j                  d   «       | dz  } ‰ j                  |	||z   «      s|j#                  |«       d}n(|r‰ j                  rŒ[t%        ‰ ||||||||||«      \  }}}| d
k\  r&‰ j&                  d|  dz
  d…   }!|!‰ j&                  |  d   �na|rE‰ j                  |	|«      r3||j(                  z  }|j+                  d|j(                   «       d|_        ‰ j,                  röd}"ˆ fd„|j/                  «       D «       }#|#D ]Ò  }$‰ j1                  |$«      }|j#                  |$«       |xs# ‰ j&                  xs ‰ j                  |	||z   «      }|sŒO‰ j!                  |$«       |s|rŒe|$j
                  d   dk(  rD|j
                  d   dz
  x}r|D ]  }|dz  }|dk(  sŒ n t%        ‰ ||||||||||«      \  }}}d}" n|$j
                  d   dk(  sŒÎdx}}" n |"r n|j#                  |«       |}
|}�Œ@ |r||d   j                  i}||||
||fS )NFr   z$line box with siblings before layoutr   Úblock_ellipsiséÿÿÿÿTÚwidowsr—   r   c              3   óf   •K  — | ](  }|j                   ‰j                  v r|j                   –— Œ* y ­w©N)ÚfootnoteÚ	footnotes)Ú.0Ú
descendantr'   s     €r6   ú	<genexpr>z"_linebox_layout.<locals>.<genexpr>®  s3   øè ø€ ò =Ø(2Ø×&Ñ&¨'×*;Ñ*;Ñ;ð ×#Õ#ñ=ùs   ƒ.1Úfootnote_policyr™   Úblock)r˜   rv   r#   r   Ú	enumerater!   rž   rT   r%   rL   rH   rG   r‚   ÚmaxÚ	in_columnÚcurrent_page_footnotesÚreport_footnoter€   rœ   Úreported_footnotesr   rR   r¤   ÚdescendantsÚlayout_footnote)%r'   r(   r   rz   rŠ   r,   r-   r.   r/   r)   r%   r*   r0   r1   Údraw_bottom_decorationr2   Úabortr‹   rT   Únew_footnotesÚnew_containing_blockÚlines_iteratorÚir™   Únew_position_yÚoffset_yÚoverflowÚcould_break_beforeÚcan_break_nowrš   rW   Úreportr¯   ÚextraÚbreak_lineboxr¤   r£   s%   `                                    r6   Ú_linebox_layoutrÀ   N  s±  ø€ ð Ð€EˆDØ€IØ€Mäˆs�|‰|Ó Ò!ÐIÐ#IÓIÐ!áØ”oÐ&7Ó8Ñ8ˆ
ØÐÜ$Ø�˜
 L°*Ð>RØ˜Ð%7Ð9IóK€Nô !*¨.Ó 9ó vÑˆÑˆD�)àÐ Ø˜AŠ~Ø25·)±)Ð<LÑ2M�˜RÑ Ô/ÚØ˜‰NˆIð #ˆŒØŸ™¨4¯;©;Ñ6ˆð 	 )¨tÐ"3Ñ3ÐÙ!Ø×.Ñ.°×1CÑ1CÑC‰HàˆHð
 Ò. Ð.ò LØ×"Ñ" <°À(Ñ1JÓKð 	ò ð 26Ð5Ð Ø—Y‘Y˜xÑ(¨1Ñ,ˆFØ#ò �Ø˜!‘�à˜R“<Ùð	ô
 �<Ó  1Ñ$ s§y¡y°Ñ';Ò;Ø %‘Ø˜1’Ø %�Ü�<Ó  3§9¡9¨YÑ#7Ò7Ø%*Ñ"Ø˜!’Ø%*Ð"Ü˜˜F“^ˆFØ ×*Ñ*Ð*ÒW¨}ÒWÐEWÐAWˆFØ!"ÐÙ˜W×;Ò;Ø×'Ñ'¨×(FÑ(FÀrÑ(JÔKØ" aÑ'Ð"Ø×-Ñ-¨l¸NÈXÑ<UÔVØ ×'Ñ'¨Ô-Ø�DØñ ˜W×;Ó;ô *5Ø˜S $¨°f¸mÈUØ 	¨>¸;ó*HÑ&��t˜Yð " QÒ&Ø×2Ñ2°2Ð7IÐ6IÈ!Ñ6KÈBÐ3NÑO�ØCH�×*Ñ*Ð,>Ð+>Ð+?Ð@âñ ˜w×5Ñ5°lÀNÔSð ˜cŸn™nÑ,ˆNØ�N‰N˜1˜sŸ~™~˜oÔ.ØˆCŒNà×ÒØ!ˆMó=Ø6:×6FÑ6FÓ6Hô=ˆIð &ò "�Ø"×2Ñ2°8Ó<�Ø×$Ñ$ XÔ.àò TØ×.Ñ.òTà×*Ñ*¨<¸È(Ñ9RÓSð ò Ø×+Ñ+¨HÔ5ñ
 $ª=Ø#Ÿ>™>Ð*;Ñ<ÀÒFØ),¯©°8Ñ)<¸qÑ)@Ð@˜vÐ@Ø)7ò !. AØ$*¨a¡K Fà'-°£{Ù(-ð	!.ô
 6AØ '¨¨d°LÀ&È-Ø % z°9¸nØ +ó6-Ñ2˜E 4¨ð -1˜MÙ!Ø%Ÿ^™^Ð,=Ñ>À'ÓIØ48Ð8˜E MÙ!ð;"ñ< Ùà×Ñ˜DÔ!Ø#ˆ
ØŠ
ðmvñp Ø˜L¨Ñ,×6Ñ6Ð7ˆ	à�$˜	 :¨}¸iÐGÐGr8   c                 ó 	  — dx}}t        |«      }|�Nt        ||«      }t        ||«      }|st        || «      r*|j	                  «       d   }||dœ}|d i}d}||||
||||fS d}|j
                  �st        ||«       |�€
|j                  «       rút        |«      }|j                  }|dk(  rd}nF| j                  dkD  r7|r5|j                  d   dk(  rd}n |j                  d   dk(  r| j                  sd}t        g |¢|‘«      }||z
  }|D ]  }|j                  |¬	«       Œ t        | ||«      }|�Y|D ]  }|j                  | ¬	«       Œ t        |«      }|xj                  ||j                  z
  z  c_        g }|j!                  «       }
|rÂ|j
                  r#t        |«      }|xj                  |z  c_        g }n“t#        |t$        j&                  «      sy|j                  d
   dk(  rd}n.t)        |j                  d
   |j                  |j*                  «      }|j-                  |«       t        |«      |z
  }|xj                  |z  c_        g }|xr t/        d„ |D «       «       } t1        | ||	||| |||||||«      \  }!}}}"}#}|!��n|#�s|!j!                  «       |!j2                  z   }$| j5                  |	|$«      }%|	|!j6                  |!j8                  z   z  }	|j;                  «       s|	|!j<                  z  }	|!j?                  «       |!jA                  «       z   }&| j5                  |	|&«      }'| xs |jC                  «        }(|(r|%rtE        | |!g||«       d }!nU|(rQ|'rOtE        | |!g||«       t1        | ||	||| |||||«      \  }!}}}"}#}|!r$|!j?                  «       |!jA                  «       z   }
n|&}
|"}|!r|j-                  |!j<                  «       |!r-|!jF                  r!|!j?                  «       |!jA                  «       z   }
|!€rtI        || «      r/tK        | |||«      })|)r|)\  }}d}||||
||||fS |sd}||||
||||fS tM        d„ |D «       «      rtE        | |||«       g }|r|d i}d}nd}||||
||||fS ||!_'        |j-                  |!«       |�||i}d}||||
||||fS )NFr   ©Úbreakr”   Tr   r   r   r   )Údyr   c              3   ó@   K  — | ]  }t        |t        «      s|–— Œ y ­wr¢   )r   r   ©r¥   rz   s     r6   r§   z"_in_flow_layout.<locals>.<genexpr>(  s#   è ø€ ò ?7ØÜ˜%Ô!4Ô5ô 	ñ?7ùs   ‚c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr¢   )r~   rÆ   s     r6   r§   z"_in_flow_layout.<locals>.<genexpr>v  s   è ø€ ÒJ°Eˆu×-Ñ-×/ÑJùs   ‚)(r„   r…   Úblock_level_page_nameÚforce_page_breakÚpage_valuesrJ   r   Útop_margin_collapsesr#   r   r   r!   r"   rR   r   r%   Úcontent_box_yr   r   r:   r   rK   r€   Úanyr7   rL   r‚   rG   rH   Úbottom_margin_collapsesr   Úborder_box_yÚborder_heightrƒ   rI   r$   r†   r‡   Úallr   )*r'   r(   r   rz   rŠ   r,   r-   r.   r/   r)   r%   r*   r0   r1   r   Ú	next_pager2   r³   r‹   r‘   r’   Ú	page_namerT   Úold_collapsed_marginÚchild_margin_topÚnew_collapsed_marginÚcollapsed_margin_differenceÚprevious_new_childr$   r4   r   r¹   Úpage_is_empty_with_no_childrenrŒ   Únext_adjoining_marginsÚcollapsing_throughÚnew_content_position_yÚcontent_page_overflowr¸   Úborder_page_overflowÚ	can_breakrB   s*                                             r6   Ú_in_flow_layoutrà   Ü  s³  € ð Ð€EˆDô 1°Ó>ÐØÐ%Ü+Ð,>ÀÓFˆ
Ü)Ð*<¸eÓDˆ	ÙÔ(¨°WÔ=Ø×)Ñ)Ó+¨AÑ.ˆIØ",°iÑ@ˆIØ ˜ˆIØˆDà�t˜Y¨
Ð4EØ˜<¨ð4ð 4ð ˆ
ð ×ÓÜ˜E 3Ô'ØÑ%¨#×*BÑ*BÔ*Dô $3Ð3DÓ#EÐ ð  %×/Ñ/ÐØ 6Ò)Ø#$Ñ Ø×%Ñ%¨Ò)©mØ—9‘9˜^Ñ,°	Ò9Ø'(Ñ$Ø—Y‘Y˜~Ñ.°&Ò8Ø"×/Ò/Ø+,Ð(Ü#2Ø6Ð#Ð6Ð%5Ð6ó$8Ð ð %Ð';Ñ;ð (à&2ò MÐ"Ø"×,Ñ,Ð0KÐ,ÕLðMä% g¨uÐ6JÓKˆIØÐ$Ø*6ò 9Ð&Ø&×0Ñ0Ø7Ð7ð 1õ 9ð9ô $3Ð3DÓ#EÐ Ø—’Ð"2°S·^±^Ñ"CÑC•à$&Ð!Ø ×.Ñ.Ó0�
ñ Ø×ÒÜ.Ð/@ÓAÐØ×ÒÐ 0Ñ0ÕØ "ÑÜ˜E¤5§>¡>Ô2Ø�{‰{˜<Ñ(¨FÒ2Ø‘
ä'Ø—K‘K Ñ-¨u¯{©{¸C¿I¹IóG�
à×$Ñ$ ZÔ0Ü&Ð'8Ó9¸JÑFˆHØ×Ò Ñ(ÕØ "Ðà%2ò &7¼3ñ ?7Ø'ô?7ó <7ð 87Ð"ô
 '9Ø	�%˜ z°3Ð8VØ	˜Ð&7Ð9KØ	˜7 Ió'/ñ$€Y�	˜9Ð&<Ø˜ð ÑÚ!à%.×%<Ñ%<Ó%>À×AQÑAQÑ%QÐ"Ø$+×$:Ñ$:ØÐ4ó%6Ð!ð
 ˜I×4Ñ4°y×7TÑ7TÑTÑTˆLØ×.Ñ.Ô0Ø 	× 7Ñ 7Ñ7�Ø&×3Ñ3Ó5¸	×8OÑ8OÓ8QÑQˆNØ#*×#9Ñ#9¸,ÈÓ#WÐ à;ÒR¸s×?PÑ?PÓ?RÐSˆIÙÑ2ä# G¨i¨[¸.È+ÔVØ ‘	ÙÑ3ô $ G¨i¨[¸.È+ÔVä2DØ˜e \°:¸sØ3°^À[Ø&¨°ó3<ñ0�˜I yÐ2HØ# Yñ Ø!*×!7Ñ!7Ó!9¸I×<SÑ<SÓ<UÑ!U‘Jà+�
ð 3ÐÙØ×$Ñ$ Y×%<Ñ%<Ô=ñ ˜×,Ò,Ø"×/Ñ/Ó1°I×4KÑ4KÓ4MÑMˆJàÐä˜J¨Ô0ä,Ø˜ ~°{óDˆFáØ*0Ñ'�˜iØ�à˜4 ¨JÐ8IØ˜|¨Yð8ð 8ñ
 %ð !�Eà˜t Y°
Ð<MØ! <°ð<ð <ô ÑJ¸\ÔJÔJô   ¨°~À{ÔSØˆLáà ˜ˆIØ‰Dð ˆEà�4˜ JÐ0AÀ9Ø˜)ð%ð 	%ð €I„Oà×Ñ˜	Ô"ØÐØ˜IÐ&ˆ	Øˆð 	ˆt�Y 
Ð,=¸yØ�ið!ð !r8   c                 ó–  — t        |t        j                  «      sJ ‚|j                  «       r| j	                  |«       |du }|j                  | d¬«       |
|j                  d   dk(  z  }
|
xs |j                  d   dk(  }|€g }|r)||j                  |j                  z   |j                  z   z  }|j                  |j                  «       |}|j                  «       r|j                  }n=|xj                  t        |«      |j                  z
  z  c_        g }|j                  «       }|j!                  «       }|j                  d   d	k(  rg }g }d
ddœ}|j                  d   dk7  r!t#        |j                  d   |xs t$        «      }|j&                  �;|j&                  j(                  D �ci c]  }||j&                  |   “Œ }}|	€|}	n|	|z  }	|j*                  �;|j*                  j(                  D �ci c]  }||j*                  |   “Œ }}|€|}n||z  }|rd}n|j-                  «       \  \  }}t/        |j0                  |d |xs d¬«      D �]x  \  }}||_        ||_        g }|j5                  «       s“d}t7        | |||||||||«
      \  }}}}|r| j9                  ||||«       |j:                  �rK|j=                  «       |_        |j                  d   dk(  �r#|xj2                  |j>                  |j@                  z   z  c_        nöt        |t        jB                  «      r/tE        | |||||||||||||	||«      \  }}}}}}||du z  }g }dx}}	n­tG        | |||||||||||||	|
||«      \  }}}}}}}}d}dx}}	d||fvr}|}|dk  rvd}||j0                  d   k(  } | s`|}!|!r\|!d   } t        | t        jB                  «      r|j                  d   | _$        n't        | t        jJ                  «      r| j0                  }!Œ]	 |rs|jM                  «       d   }"tO        | |j0                  |d ||«       |D ]  }#| jQ                  |#«       Œ |j                  «       r| jS                  «        ddd
|"dœg d|fc S |s�Œ)|jT                  dk7  r?|j                  |jW                  «       z   }$t        |«      }%| jY                  |$||%z
  «      rd}g } n d}|duxs |jZ                  }&|j                  d   dk(  rd}|&ret]        |j                  d   | «      rL|sJtO        | g |¢|j0                  |d ¢||«       |j                  «       r| jS                  «        ddd
ddœg d|fS |j                  «       r+|xj                  t        |«      |j                  z
  z  c_        t_        |«      }'d}(|'€zt        |«      })|jT                  dv rYta        | ||)«      €Ltc        d„ |jd                  |jf                  |jh                  |j                  |j                  fD «       «      rd}(n||)z  }g }n|jT                  dk7  rg }|jk                  «       s|t        |«      z  }g }|&r5|r3|d   } t        | t        jB                  «      r|j                  d   | _$        |jm                  |«      }*|*j                  | |&xr |
 ¬«       |*jT                  dk(  r†| jn                  r:|*j                  d   dk7  r(tq        d„ | jn                  D «       «      }+tq        |+|«      }||*j                  «       cxk(  r	t$        k(  rn nd|*_*        n||*j                  «       z
  |*_*        |*j                  d   d	k(  r|D ]  },ts        | |,|*||d¬«       Œ |*j0                  D ]$  }tu        ||*j>                  |*jT                  f«       Œ& |j                  «       r| jS                  |*«       |
s|&s:tq        t#        |*jT                  |*jv                  «      |*jd                  «      |*_*        n¡|t$         kD  r—|*jx                  s‹| jz                  |z
  |*j                  z
  |*j}                  «       |*jT                  z
  z
  }-|-|*jT                  kD  rB|-|*_*        |r9|*xjT                  |j                  |j                  z   |j                  z   z  c_*        |d   €|*jM                  «       d   |d<   |*||||(|fS c c}w c c}w )zSet the ``box`` height.NF)ÚstartÚendÚcontinuer   Úbox_decoration_breakÚclonern   ro   rÍ   rÂ   r2   Únoner   )râ   rY   r[   TrŸ   rž   r   Úbreak_inside)r   r   c              3   ó&   K  — | ]	  }|d k(  –— Œ y­w©r   N© )r¥   Úvalues     r6   r§   z)block_container_layout.<locals>.<genexpr>J  s   è ø€ ò >˜u�˜•
ñ >ùs   ‚rº   Úvisiblec              3   óV   K  — | ]!  }|j                   |j                  «       z   –— Œ# y ­wr¢   )r%   Úmargin_height)r¥   Ú	float_boxs     r6   r§   z)block_container_layout.<locals>.<genexpr>l  s,   è ø€ ò ':àð ×$Ñ$ y×'>Ñ'>Ó'@Õ@ñ':ùs   ‚')r}   r”   r   )?r   r   ÚBlockContainerBoxrQ   Úcreate_block_formatting_contextÚremove_decorationr!   rG   rH   r   r€   r   rË   r%   r#   rÌ   Úcontent_box_xÚminr   r1   Úcascadedr0   Úitemsrª   rv   rS   Úis_in_normal_flowr•   Úadd_broken_out_of_flowÚis_outside_markerÚborder_box_xrK   r`   ru   rÀ   rà   rž   Ú	ParentBoxrÊ   rI   Úunlayout_footnoteÚfinish_block_formatting_contextrL   rÐ   Ú	overflowsÚforce_fragmentationr†   r„   r   rÑ   Ú
min_heightÚborder_top_widthÚpadding_toprÎ   Úcopy_with_childrenÚexcluded_shapesr«   r   rw   Ú
max_heightrO   Úpage_bottomrï   ).r'   r(   r)   r*   r,   r-   r.   r/   r0   r1   r   r2   Úis_startr²   Úthis_box_adjoining_marginsr%   rS   rŠ   rÒ   ÚkeyÚbox_first_line_styleÚbox_first_letter_styleÚskipr   rz   r´   r³   r‹   rT   rŒ   r�   Únew_max_linesÚ
last_childrv   r”   r£   Ú
box_bottomÚbottom_marginÚbox_is_fragmentedr‘   rÛ   r4   rU   Úmax_float_position_yÚabsolute_boxÚnew_box_heights.                                                 r6   rN   rN   •  s“	  € ô �cœ5×2Ñ2Ô3Ð3Ð3à
×)Ñ)Ô+Ø×/Ñ/°Ô4ð ˜TÐ!€HØ×Ñ H °%ÐÔ8àˆs�y‰y˜Ñ$¨	Ñ1Ñ1€GØ$ÒT¨¯	©	Ð2HÑ(IÈWÑ(TÐàÐ ØÐáØ˜×*Ñ*¨S×-DÑ-DÑDÀs×GXÑGXÑXÑXˆà×Ñ˜SŸ^™^Ô,Ø!2Ðà
×ÑÔ!ð —^‘^‰
à�Šœ/Ð*;Ó<¸s¿~¹~ÑMÑM�ØÐØ×&Ñ&Ó(ˆ
à×"Ñ"Ó$€Jà
‡y�y�Ñ 
Ò*àˆà€LØ¨Ñ.€Ià
‡y�y�Ñ Ò'Ü˜Ÿ	™	 +Ñ.°	Ò0@¼SÓAˆ	à
×ÑÐ'à69×6JÑ6J×6SÑ6Sö UØ/2ˆC�×%Ñ% cÑ*Ñ*ð UÐð  UàÐ#Ø3ÑàÐ 4Ñ4Ðà
×ÑÐ)à8;×8NÑ8N×8WÑ8Wö"YØ14ˆC�×'Ñ'¨Ñ,Ñ,ð"YÐð "YàÐ%Ø!7ÑàÐ"8Ñ8Ðñ Ø‰à(×.Ñ.Ó0ÑÑˆˆzÜ! #§,¡,¨t¨uÐ"5¸dºiÀaÔIó X‰ˆˆuØ%ˆÔØ%ˆÔØˆà×&Ñ&Ô(àˆEä#Ø˜S %¨°¸mØ" KÐ1BÀLóRñ >ˆD�)˜YÐ(=ñ %Ø×.Ñ.Ø˜u cÐ+@ôBà×&Ó&Ø'*×'7Ñ'7Ó'9�	Ô$Ø—;‘;˜{Ñ+¨uÓ4Ø×(Ò(¨C¯I©I¸×8IÑ8IÑ,IÑIÖ(ä˜œuŸ}™}Ô-ô *9Ø˜˜e U¨L¸-Ø Ð->ÀØ˜JÐ(:Ð<LØ&¨	ó	*3ñ'ˆU�D˜) ZØ˜Ið
 # i°4Ð&7Ñ7Ð"Ø "ÐØ48Ð8ÐÑ!1ô
 8GØ˜#˜u e¨\¸=Ø Ð.?ÀØ˜ZÐ);Ð=MØ˜) Yó	80ñ5ˆU�D˜) ZÐ1BØ˜ mð
 ˆJØ48Ð8ÐÐ!1ð ˜M¨9Ð5Ñ5Ø)�	Ø ’>à�DØ"'¨3¯<©<¸Ñ+;Ñ";�JÙ%ð $0˜Ù&Ø)1°"©˜JÜ)¨*´e·m±mÔDØ<?¿I¹IÐFVÑ<W 
Õ 9Ü!+¨J¼¿¹Ô!HØ+5×+>Ñ+> Ø (Ø!áà×$Ñ$Ó& qÑ)ˆDÜØ˜Ÿ™ d eÐ,¨n¸kôKà)ò 4�Ø×)Ñ)¨(Õ3ð4à×1Ñ1Ô3Ø×7Ñ7Ô9à�d e°TÑ:¸BÀØðò ó à�z‰z˜VÒ#Ø Ÿ^™^¨c×.?Ñ.?Ó.AÑA�
Ü /Ð0AÓ B�Ø×$Ñ$ Z°¸mÑ1KÔLð !%�IØ "ÐÙðkXðp ˆ	à!¨Ð-ÒH°×1HÑ1HÐØ
‡y�y�Ñ 	Ò)Øˆ	áÜ˜SŸY™Y ~Ñ6¸Ô@ÙÜØÐ:�|Ð: c§l¡l°4°5Ð&9Ð:¸NÈKô	Yà×-Ñ-Ô/Ø×3Ñ3Ô5Ø�T U°DÑ9¸2¸uÀiÐOÐOà
×ÑÔ!Ø�Šœ/Ð*DÓEÈÏÉÑVÑV�ô 1°Ó>ÐØÐØÐ!ä*Ð+<Ó=ÐØ�J‰J˜+Ñ%Ü˜' 3Ð(8Ó9ÐAÜñ >Ø—‘ × 4Ñ 4°c·o±oØ×'Ñ'¨×);Ñ);ð)=ô >ô >ð "&Ñð Ð*Ñ*ˆJØ "Ñð �:‰:˜Òà "Ðà×&Ñ&Ô(Ø”oÐ&7Ó8Ñ8ˆ
ØÐñ ™\Ø! "Ñ%ˆ
Ü�j¤%§-¡-Ô0Ø(+¯	©	Ð2BÑ(CˆJÔ%à×$Ñ$ \Ó2€GØ×ÑØˆlÐ 1Ò A¸'°kð ô Cð ‡~�~˜ÒØ×"Ò" w§}¡}°ZÑ'@ÀIÒ'MÜ#&ñ ':à!(×!8Ñ!8ô':ó $:Ð ô Ð1°:Ó>ˆJØ˜×.Ñ.Ó0Ô7´CÕ7ØˆG�Nà'¨'×*?Ñ*?Ó*AÑAˆGŒNà‡}�}�ZÑ  JÒ.à*ò 	!ˆLÜØ˜ w°¸\Øö!ð	!ð
 ×!Ñ!ò EˆÜ˜U W§]¡]°G·N±NÐ$CÕDðEð ×)Ñ)Ô+Ø×/Ñ/°Ô8áÑ'ô Ü�—‘ × 2Ñ 2Ó3°W×5GÑ5GóIˆ�à	œ˜Ò	 W×%6Ò%6ð ×Ñ ,Ñ.°×1CÑ1CÑCØ×"Ñ"Ó$ w§~¡~Ñ5ñ7ð 	ð ˜GŸN™NÒ*Ø+ˆGŒNÙ%Ø—’Ø×&Ñ&¨×)@Ñ)@Ñ@Ø×%Ñ%ñ&ñ'•ð �ÑÐ Ø#×/Ñ/Ó1°!Ñ4ˆ	�&Ñð 	�˜IÐ'8Ð:LØðð ùòg Uùò"Ys   Æ)cÇ0cc                 ó|   — dg}|j                  | «       d„ |D «       }d„ |D «       }t        |«      t        |«      z   S )zCGet the amount of collapsed margin for a list of adjoining margins.r   c              3   ó,   K  — | ]  }|d k\  sŒ	|–— Œ y­wrê   rë   ©r¥   Úms     r6   r§   z"collapse_margin.<locals>.<genexpr>   ó   è ø€ Ò.�q q¨A£v”Ñ.ùó   ‚
�c              3   ó,   K  — | ]  }|d k  sŒ	|–— Œ y­wrê   rë   r  s     r6   r§   z"collapse_margin.<locals>.<genexpr>¡  r  r  )Úextendr«   rõ   )r/   ÚmarginsÚ	positivesÚ	negativess       r6   r#   r#   œ  s=   € àˆc€GØ‡N�NÐ$Ô%Ù.˜GÔ.€IÙ.˜GÔ.€IÜˆy‹>œC 	›NÑ*Ð*r8   c                 ó  — g }t         j                  t         j                  t         j                  f}| }t	        ||«      rG|j                  |j                  d   «       |j                  sn|j                  d   }t	        ||«      rŒG|j                  «        |}t	        ||«      rG|j                  |j                  d   «       |j                  sn|j                  d   }t	        ||«      rŒGd}|D ]  }|dv s||fdv sŒ|}Œ |S )a�  Get the correct page break value between siblings.

    Return the value of ``page-break-before`` or ``page-break-after`` that
    "wins" for boxes that meet at the margin between two sibling boxes.

    For boxes before the margin, the 'page-break-after' value is considered;
    for boxes after the margin the 'page-break-before' value is considered.

    * 'avoid' takes priority over 'auto'
    * 'page' takes priority over 'avoid' or 'auto'
    * 'left' or 'right' take priority over 'always', 'avoid' or 'auto'
    * Among 'left' and 'right', later values in the tree take priority.

    See https://drafts.csswg.org/css-page-3/#allowed-pg-brk

    Úbreak_afterrŸ   Úbreak_beforer   r   )rp   rq   ÚrectoÚverso))r”   r   )r”   Úavoid)r”   ú
avoid-page)r”   úavoid-column)Úcolumnr   )r)  r&  )r)  r'  )r)  r(  )r&  r   )r'  r   )r(  r   )	r   ÚBlockLevelBoxÚTableRowGroupBoxÚTableRowBoxr   r€   r!   rv   Úreverse)Úsibling_beforeÚsibling_afterÚvaluesÚblock_parallel_box_typesr(   rB   rì   s          r6   r…   r…   ¥  s  € ð" €Fô 	×ÑœU×3Ñ3´U×5FÑ5Fð HÐð €CÜ
�SÐ2Ô
3Ø�‰�c—i‘i Ñ.Ô/Ø�|Š|ØØ�l‰l˜2Ñˆô	 �SÐ2Õ
3ð
 ‡N�NÔà
€CÜ
�SÐ2Ô
3Ø�‰�c—i‘i Ñ/Ô0Ø�|Š|ØØ�l‰l˜1‰oˆô	 �SÐ2Õ
3ð €FØò ˆØÐ7Ñ7¸EÀ6¸?ð O*ò <*ð ‰Fðð €Mr8   c                 ó^   — | j                  «       d   }|j                  «       d   }||k7  r|S y)zBReturn the next page name when siblings don't have the same names.r   r   N)rÊ   )r.  r/  Úbefore_pageÚ
after_pages       r6   rÈ   rÈ   Ý  s;   € à ×,Ñ,Ó.¨qÑ1€KØ×*Ñ*Ó,¨QÑ/€JØ�jÒ ØÐð !r8   c                 ó`  — |r€t        |d   t        j                  «      rc|d   j                  d   }|d   j                  d   }t	        |«      |z
  }||k  ry|d| }d|d   j
                  i}t        | ||d ||«       ||fS d}	t        |«      D �]†  \  }}
t        |
t        j                  «      r|
j                  s|
j                  rŒ:|
j                  rŒG|
j                  «       r9t        |
|	«      }|	�)t        || «      s|dz  }|d| }||   j                  di} ný|
}	|
j                  «       sŒ¡t        |
j                  d   | «      rŒ»t        j                   t        j"                  t        j                  f}t        |
|«      sŒ÷t%        | |
j&                  ||«      }|s�Œ|\  }}|
j)                  |«      }g |d| ¢|‘}t        |
t        j                  «      r(||d D ]   }|j                  sŒ|j+                  |«       Œ" |j                  |i}|dz  } n yt        | ||d ||«       ||fS )aq  Find the last possible page break in ``children``.

    Because of a `page-break-before: avoid` or a `page-break-after: avoid` we
    need to find an earlier page break opportunity inside `children`.

    Absolute or fixed placeholders removed from children should also be
    removed from `absolute_boxes` or `fixed_boxes`.

    Return (new_children, resume_at).

    r   r—   r    NrŸ   r   rè   )r   r   ru   r!   r˜   rT   rI   Úreversed_enumerater+  Ú	is_headerÚ	is_footerrO   rø   r…   r†   r   r:   r   r‡   rv   r  r€   )r'   rv   r-   r.   r—   r    r   rŠ   rT   Úprevious_in_flowrz   r’   Úbreakable_box_typesrB   Únew_grand_childrenrŒ   Ú
next_childs                    r6   r‡   r‡   å  s]  € ñ ”J˜x¨™{¬E¯M©MÔ:ð ˜1‘+×#Ñ# IÑ.ˆØ˜!‘×"Ñ" 8Ñ,ˆÜ�H“ Ñ&ˆØ�7Š?ØØ  Ð'ˆØ˜ RÑ(×2Ñ2Ð3ˆ	ÜØ�X˜e˜fÐ% ~°{ô	Dà˜YÐ&Ð&àÐÜ*¨8Ó4ó ,‰ˆˆuÜ�eœU×3Ñ3Ô4Ø—’ 5§?¢?àØ�_Š_àà×"Ñ"Ô$Ü/°Ð7GÓHˆJØÐ+Ü(¨°WÔ=Ø˜‘
�Ø'¨¨Ð/�à% e™_×2Ñ2°DÐ9�	ÙØ$Ðà×"Ñ"Õ$Ü$ U§[¡[°Ñ%@À'ÕJä—‘¤§¡´×0FÑ0Fð#HÐä˜%Ð!4Õ5Ü0Ø˜UŸ^™^¨^¸[óJ�ãØ4:Ñ1Ð&¨	Ø %× 8Ñ 8Ð9KÓ L�IØ#A X¨f¨uÐ%5Ð#A°yÐ#A�Lô " %¬×)?Ñ)?Ô@Ø*2°5°6Ð*:ò @˜JØ)×3Ó3Ø ,× 3Ñ 3°JÕ ?ð@ð
 "+§¡°)Ð <�IØ˜Q‘J�EÙðU,ðX ô ˜ ¨%¨&Ð!1°>À;ÔOØ˜Ð"Ð"r8   c                 óL   — t        | «      D ]  }|j                  «       sŒ|c S  y)z=Find and return the last in-flow child of given ``children``.N)Úreversedrø   )rv   rz   s     r6   r„   r„   3  s'   € ä˜(Ó#ò ˆØ×"Ñ"Õ$ØŠLñr8   c           	      ób   — t        t        t        t        | «      «      «      t        | «      «      S )zBLike reversed(list(enumerate(seq))) without copying the whole seq.)Úzipr>  Úranger˜   )Úseqs    r6   r6  r6  :  s    € äŒxœœc #›h›Ó(¬(°3«-Ó8Ð8r8   c                 ó¶  — |D ]Ô  }t        |t        j                  «      rt        | |j                  ||«       |j
                  d   dk(  r||v r|j                  |«       n'|j
                  d   dk(  r||v r|j                  |«       |j                  r| j                  |j                  «       || j                  v sŒº| j                  j                  |«       ŒÖ y)zúRemove placeholders from absolute and fixed lists.

    For boxes that have been removed in find_earlier_page_break(), remove the
    matching placeholders in absolute_boxes and fixed_boxes.

    Also takes care of removed footnotes and floats.

    rn   r|   ÚfixedN)r   r   rü   rI   rv   r!   Úremover£   rý   Úbroken_out_of_flowÚpop)r'   Úbox_listr-   r.   r(   s        r6   rI   rI   ?  s¾   € ð ò 0ˆÜ�cœ5Ÿ?™?Ô+ÜØ˜Ÿ™ ~°{ôDà�9‰9�ZÑ  JÒ.°3¸.Ñ3HØ×!Ñ! #Õ&Ø�Y‰Y�zÑ" gÒ-°#¸Ñ2DØ×Ñ˜sÔ#Ø�<Š<Ø×%Ñ% c§l¡lÔ3Ø�'×,Ñ,Ò,Ø×&Ñ&×*Ñ*¨3Õ/ñ0r8   c                 ó*   — |j                   r| dv S | dv S )z$Test whether we should avoid breaks.)r&  r'  r(  )r&  r'  ©r¬   ©r’   r'   s     r6   r†   r†   V  s#   € à×ÒØÐDÐDÐDØÐ0Ð0Ð0r8   c                 ó*   — |j                   r| dv S | dv S )z$Test whether we should force breaks.)r”   rp   rq   r$  r%  r)  )r”   rp   rq   r$  r%  rJ  rK  s     r6   rÉ   rÉ   ]  s,   € à×ÒØð Að Að 	AàÐDÐDÐDr8   )TNNNNNFN)2Ú__doc__Úmathr   Úformatting_structurer   r|   r   r   r)  r	   Úflexr
   Úfloatr   r   r   Úgridr   Úinliner   Úmin_maxr   Úpercentr   r   r   Úreplacedr   Útabler   r   r7   r&   r;   rM   rw   r•   rœ   rÀ   rà   rN   r#   r…   rÈ   r‡   r„   r6  rI   r†   rÉ   rë   r8   r6   ú<module>rX     s½   ðÙ Iå å (ß :Ý "Ý ß @Ñ @Ý Ý #Ý )ß RÑ RÝ /ß 4ð MQØBFØGKó,Bò^ò:/ðd ñ;1ó ð;1ò|:ò>?=òD,ò<KHò\v!òrDòN+ò5òpòK#ò\ò9ò
0ò.1óEr8   