
    ,gC                     F    d Z ddlmZmZ ddlmZ ddlmZmZ d Z	d Z
d Zy	)
zLayout for columns.    )floorinf   )absolute_layout)
percentageresolve_percentagesc	                    ddl m}	m}
m}m}m} |j                  }|d   }|d   }|d   }|}d| _        |d   dk(  rg }|j                  |j                        }|xj                   ||      |j                  z
  z  c_
        |d	k7  rY|j                  d
k7  rJ|j                  dk(  sJ d}| j                  |j                         z
  |j                  z
  }t!        ||      }nd} |||       |d   dk(  r|d   }nt#        |d   |j$                        }|d	k(  r(|d	k7  r#t!        d|j$                  |dz
  |z  z
        |z  }n|d	k7  rC|d	k(  r>t!        dt'        |j$                  |z   ||z   z              }|j$                  |z   |z  |z
  }nGt!        dt)        |t'        |j$                  |z   ||z   z                    }|j$                  |z   |z  |z
  }g }g }|r|j+                         nd\  }t-        |j                  |d |      D ]{  \  }}|j                  d   dk(  rE|r|j/                  |t1        |      z
  |f       |j/                  ||j3                         f       g }]|j/                  |j3                                } |r"|j/                  dz   t1        |      z
  |f       |rd||   i}|j                  sddd}d}g }|j                         }g }d}d}d} | j4                  j6                  d	k(  rdn| j4                  j9                         g}!d}"|D ]  \  }#}$t;        |$t<              s|$}%t?        |%|       |jA                         |%_!        ||%_
         |
| |%|||||||	      \  }&}'}}}(}(d}|&d}d}  ng|j/                  |&       |&jE                         |&jG                         z   }|j/                  |&jH                         |'r	d}d} |'} nd}|$}| ||      z  }g }tK        |||||      })| j                  |z
  |z
  x}}*|}tL        }+| jN                  dd },|}-dx}x}.}/	 t1        | jN                        t1        |,      kD  r<| jN                  jQ                          t1        | jN                        t1        |,      kD  r<|}g }0g }1tS        |      D ]4  } |	| |)| j                  |z
  |z
  |||xs |/ g g g dd      \  }2}'}}(}(}(|2ddi} n|1j/                  |2       |'}|2j                  D cg c]  }|jU                         r| }3}|3r|3d   j9                         |3d   j                  z   |z
  }4||4z
  }|rZ |	| |)tL        ||dg g g dd      d   }5|5j                  D ]$  }|jU                         s|j9                         }6 n  || |5gg g        n	d}6ndx}4x}}6|0j/                  |4       6|z
  dkD  rt)        |+|6|z
        }+|'5 n | j4                  j6                  d	k(  rdn| j4                  j9                         }" || |1g g        |rn|/r|n|+tL        k(  rdn|+}7||7z  }||*kD  r|*}d}.n|"|!vr||"|!d   z
  z  }|!j/                  |"       -| xr t!        |0      |*k  }8|8r*|*|"z  }*|d   dk(  s|#|d   d   k  rd}/tW        |0      |z  }n.n/||!d   z  }t1        |!      dkD  rt)        |"|!d         }"||"z  }d}.nt!        || j                  |z
  |z
        }d}d}9g }:	 tK        |||||      })|d   dk(  r/|)xjB                  |j$                  |dz   |z  z
  ||z  z
  z  c_!        n|)xjB                  |||z   z  z  c_!         |	| |)||||-||ddd      \  }&}};}(}(}(|&g }:d} nB|;}|}|:j/                  |&       t!        |9|&j9                               }9||}n|dz  }||k(  r|sn|t)        |*|9      z  }|:D ]  }<|9|<_        |j/                  |<        d}d}|.s n tY        | |"       |j                  r|sd| _        dddddg dfS ||_	        | ||      z  }||j                         z
  }|j6                  d	k(  r
||_        d}=n|j6                  |z
  }=|jZ                  d	k7  rF|jZ                  |j6                  kD  r-|=|jZ                  |j6                  z
  z  }=|jZ                  |_        |ddd   D ]%  }|j\                  r|xj6                  |=z  c_        % n |d   dk(  r|D ]  }>t_        | |>|||d         |r|j+                         \  }#|z   ||   i}n| r#di}| j4                  j6                  d	k7  rE| xj                  |!d   z  c_        | xj                  | j4                  j9                         z  c_        d| _        ||g dfS c c}w )!zLay out a multi-column ``box``.r   )block_box_layoutblock_level_layoutblock_level_widthcollapse_marginremove_placeholderscolumn_widthcolumn_countheightTpositionrelativeauto%pxF
column_gapnormal	font_sizer   )r   N)startcolumn_spanallany)breakpage)discard	max_linescolumn_fillbalance   	directionrtl)r   N)
skip_stack)0blockr
   r   r   r   r   style	in_columncopy_with_childrenchildren
position_y
margin_topunitpage_bottomcontent_box_yvaluemaxr   widthr   minkeys	enumerateappendlencopycurrent_footnote_arear   margin_height
isinstancelistr   content_box_x
position_xborder_heightborder_box_ymargin_bottom_create_column_boxr   excluded_shapespoprangeis_in_normal_flowsum_report_footnotes
min_height	is_columnr   )?contextboxbottom_spacer(   containing_blockpage_is_emptyabsolute_boxesfixed_boxesadjoining_marginsr
   r   r   r   r   r*   r5   countr   original_bottom_spaceheight_definedempty_spacegapcolumns_and_blockscolumn_childrenskipichild	next_pagecurrent_position_ynew_childrencolumn_skip_stack	last_loop
break_pagefootnote_area_heightslast_footnotes_heightindexcolumn_children_or_blockr)   	new_child	resume_at_
column_box
max_height
lost_spaceoriginal_excluded_shapesoriginal_page_is_emptystop_rendering	balancingconsumed_heights	new_boxesnew_boxin_flow_childrenconsumed_heightnext_boxnext_box_height
add_heighteverything_fitsmax_column_heightcolumnscolumn_next_pagecolumnheight_differenceabsolute_boxs?                                                                  p/home/viktor/gitlab-persoonlijk/factuur-applicatie/venv/lib/python3.12/site-packages/weasyprint/layout/column.pycolumns_layoutr   	   s   . . IIE.!E.!E8_F(GZJ&

 
 
.CNNo&783>>IIN FKK3.{{d"""))C,=,=,??&,,N<5 c+,\h&K |,cii8 5F?AsyyEAI#445=	&Uf_Aucii#o%#+>?@SE)C/As5%SUS[(I"JKLSE)C/ O!+JOOEDcll451> -5;;}%."))_--?A%%q%**,&78 Ouzz|,- !!US))?;	= D)*
<<#T2	
 **,LIJ**11V;**88:< += a''2D9,E'78"002E1E"U$9:$m^!24 EIy)->1
 J  	!
	*'')I,B,B,DD $$Y%<%<= 	!
$-!!M 3 	o.?@@'!?E;MO
 "447LL	N
 '
#*#:#:1#= !.5:::g--.5M1NN''++- g--.5M1NN !+!I5\ =9IZ''*<<vE%'7!2]BB!T:36Iq!Q ?)*D	%  )$-! (/'7'7$2#..0 $2  $2 $ ),::<(,778:LM $ #)?":K )#3#Z6G,dBB$)T$; <=$> &.%6%6 &E$668272E2E2G %& ,GhZRH*+FGGOGkO ''8 #[014!$Z;1N!OJ ${=B 2299VC22@@B "  B;$, #-"3Q
*$J&'F%)N(0EE 36KB6OOOF)001FG *) 8()Z7   # "77Jm,	9!$6r$:1$==$(	!$%5!6!> 3B77F01A50313H3L1N-33F%)N{ @ '--0BBVKM +%"$J [!U*%%a!eu_)Dq3w)NN%%%eck)::% Zz$&<nuF DI(*:Aq!
  !
(I*JNN9% #!9#:#:#<!>!4FAEz.
 ? D 	c*.?@@ 	(F-FM'	( 
CaH g45
||L!Y% >EII  CL/*;<<#"3"3"55F
zzV
JJ/ ~~CNNSZZ$?S^^cjj88^^
dd# ??LL--L	 ZJ&* 	!LsK!	! !&&(dl$5d$;<
	T]
 $$++v54Q77w<<JJLLG
Ir500W$2s   ,f
c                 6   | j                   syd}| j                  j                         |kD  rA| j                  | j                   d          |dz  }| j                  j                         |kD  rA|dk\  r'| j                  d| dz
  d   }|| j                  | d yy)z4Report footnotes above the defined footnotes height.Nr   r"   r   r%   )current_page_footnotesr<   r=   report_footnotereported_footnotes)rN   footnotes_heightr   extras       r   rK   rK     s    )) 

'
'
5
5
7:J
J > >r BCa 
'
'
5
5
7:J
J Q**2/A.A!.CB+FG;@""$6#6#78     c                     | j                  | |      }t        ||       d|_        ||_        | j	                         |_        ||_        |S )z-Create a column box including given children.)r-   T)anonymous_fromr   rM   r5   r@   rA   r.   )rO   rQ   r-   r5   r.   rm   s         r   rE   rE     sQ    ##C(#;J
$45JJ--/J&Jr   N)__doc__mathr   r   absoluter   percentr   r   r   rK   rE    r   r   <module>r      s#      % 4z1zA$r   