§
    ¥”jÅ  ã                   ó^   — d Z ddlmZ ddlmZ ddlmZ ddlmZ d„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ ZdS )z&Resolve percentages into fixed values.é    )Úinfé   )Úresolve_math)Ú
check_math)Úboxesc                 óÔ   — t          | ¦  «        rt          | ||¬¦  «        } | �| dk    r| S | j                             ¦   «         dk    r| j        S | j        dk    sJ ‚|| j        z  dz  S )zuReturn the percentage of the reference value, or the value unchanged.

    ``refer_to`` is the length for 100%.

    )Úrefer_toNÚautoÚpxú%éd   )r   r   ÚunitÚlowerÚvalue)r   Úcomputedr	   s      úh/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/weasyprint/layout/percent.pyÚ
percentager   
   s�   € õ �%ÑÔð AÝ˜U H°xÐ@Ñ@Ô@ˆØ€}˜ š˜ØˆØ	Œ×	Ò	Ñ	Ô	˜tÒ	#Ð	#ØŒ{ÐàŒz˜SÒ Ð Ð Ð Ø˜%œ+Ñ%¨Ñ+Ð+ó    c                 ó¬   — | j         |         }t          || j         |¦  «        }t          | ||¦  «         |dv r|dk    rt          | |d¦  «         dS dS dS )z¨Set a used length value from a computed length value.

    ``refer_to`` is the length for 100%. If ``refer_to`` is not a number, it
    just replaces percentages.

    )Ú	min_widthÚ
min_heightr
   r   N)Ústyler   Úsetattr)ÚboxÚproperty_namer	   r   Úpercents        r   Úresolve_one_percentager      sq   € ð ŒI�mÔ$€Eå˜ ¤	¨8Ñ4Ô4€GÝˆC� Ñ(Ô(Ð(ØÐ3Ð3Ð3¸À6Ò8IÐ8IÝ��] AÑ&Ô&Ð&Ð&Ð&ð 4Ð3Ð8IÐ8Ir   c                 ó˜   — |\  }}t          | d|¦  «         t          | d|¦  «         t          | d|¦  «         t          | d|¦  «         d S )NÚleftÚrightÚtopÚbottom)r   )r   Úcontaining_blockÚcb_widthÚ	cb_heights       r   Úresolve_position_percentagesr&   +   sZ   € Ø*Ñ€HˆiÝ˜3 ¨Ñ1Ô1Ð1Ý˜3 ¨Ñ2Ô2Ð2Ý˜3  yÑ1Ô1Ð1Ý˜3 ¨)Ñ4Ô4Ð4Ð4Ð4r   c                 ól  — t          |t          j        ¦  «        r|j        }|j        }n|\  }}t          | t          j        ¦  «        r|}n|}t          | d|¦  «         t          | d|¦  «         t          | d|¦  «         t          | d|¦  «         t          | d|¦  «         t          | d|¦  «         t          | d|¦  «         t          | d|¦  «         t          | d	|¦  «         t          | d
|¦  «         t          | d|¦  «         |dk    rˆ| j        d         }|dk    st          |¦  «        s|j	        dk    rd| _        n+|j	         
                    ¦   «         dk    sJ ‚|j        | _        t          | dd¦  «         t          | dt          ¦  «         n3t          | d|¦  «         t          | d|¦  «         t          | d|¦  «         | j        d         dk    }dD ]6}d|› d�}|rt          | |¦  «        st          | || j        |         ¦  «         Œ7t          | d	¦  «         t          | d¦  «         dS )z0Set used values as attributes of the box object.Úmargin_leftÚmargin_rightÚ
margin_topÚmargin_bottomÚpadding_leftÚpadding_rightÚpadding_topÚpadding_bottomÚwidthr   Ú	max_widthr
   Úheightr   r   r   r   Ú
max_heightÚborder_collapseÚcollapse)r!   r    r"   r   Úborder_Ú_widthN)Ú
isinstancer   ÚBoxr0   r2   ÚPageBoxr   r   r   r   r   r   r   Úhasattrr   Úadjust_box_sizing)	r   r#   r$   r%   Úmaybe_heightr2   r5   ÚsideÚprops	            r   Úresolve_percentagesr@   3   st  € åÐ"¥E¤IÑ.Ô.ð /à#Ô)ˆØ$Ô+ˆ	ˆ	à.Ñˆ�)Ý�#•u”}Ñ%Ô%ð  Ø ˆˆàˆÝ˜3 ¨xÑ8Ô8Ð8Ý˜3 °Ñ9Ô9Ð9Ý˜3 ¨lÑ;Ô;Ð;Ý˜3 °Ñ>Ô>Ð>Ý˜3 °Ñ9Ô9Ð9Ý˜3 °Ñ:Ô:Ð:Ý˜3 ¨|Ñ<Ô<Ð<Ý˜3Ð 0°,Ñ?Ô?Ð?Ý˜3 ¨Ñ2Ô2Ð2Ý˜3 ¨XÑ6Ô6Ð6Ý˜3 ¨XÑ6Ô6Ð6ð �FÒÐð ”˜8Ô$ˆØ�VÒÐ�z¨&Ñ1Ô1Ð°V´[ÀCÒ5GÐ5GØˆCŒJˆJà”;×$Ò$Ñ&Ô&¨$Ò.Ð.Ð.Ð.ØœˆCŒJÝ˜s L°!Ñ4Ô4Ð4Ý˜s Lµ#Ñ6Ô6Ð6Ð6å˜s H¨iÑ8Ô8Ð8Ý˜s L°)Ñ<Ô<Ð<Ý˜s L°)Ñ<Ô<Ð<àŒyÐ*Ô+¨zÒ9€Hà2ð 0ð 0ˆØ%˜Ð%Ð%Ð%ˆð ð 	0�W S¨$Ñ/Ô/ð 	0Ý�C˜˜sœy¨œÑ/Ô/Ð/øõ �c˜7Ñ#Ô#Ð#Ý�c˜8Ñ$Ô$Ð$Ð$Ð$r   c                 óž  — dD ]É}d|› d�}| j         |         }|\  }}d||fv rt          | |d¦  «         Œ2|                     d¦  «        D ]}|| j        v rt          | |d¦  «          ndŒt	          || j         |                      ¦   «         ¦  «        }t	          || j         |                      ¦   «         ¦  «        }t          | |||f¦  «         ŒÊd S )N)Útop_leftÚ	top_rightÚbottom_rightÚbottom_leftr6   Ú_radius)r   r   )r   r   Ú_)r   r   ÚsplitÚremove_decoration_sidesr   Úborder_widthÚborder_height)r   Úcornerr   r   ÚrxÚryr>   s          r   Úresolve_radii_percentagesrO   k   s  € ØJð 2ð 2ˆØ1 &Ð1Ð1Ð1ˆØ”9˜]Ô+ˆØ‰ˆˆBð ˜˜R˜Ð Ð Ý�C˜¨Ñ/Ô/Ð/Øà—L’L Ñ%Ô%ð 	2ð 	2ˆDØ�sÔ2Ð2Ð2Ý˜˜]¨FÑ3Ô3Ð3Ø�ð 3õ ˜B ¤	¨3×+;Ò+;Ñ+=Ô+=Ñ>Ô>ˆBÝ˜B ¤	¨3×+<Ò+<Ñ+>Ô+>Ñ?Ô?ˆBÝ�C˜¨¨R¨Ñ1Ô1Ð1øð#2ð 2r   c                 óî  — | j         d         dk    rF|dk    r | j        | j        z   | j        z   | j        z   }nl| j        | j        z   | j        z   | j        z   }nL| j         d         dk    r&|dk    r| j        | j        z   }n%| j        | j        z   }n| j         d         dk    sJ ‚d}|dk    rÉt          | |¦  «        dk    r0t          | |t          dt          | |¦  «        |z
  ¦  «        ¦  «         t          | d|› �t          dt          | d|› �¦  «        |z
  ¦  «        ¦  «         t          | d	|› �¦  «        dk    r:t          | d	|› �t          dt          | d	|› �¦  «        |z
  ¦  «        ¦  «         d S d S d S )
NÚ
box_sizingz
border-boxr0   zpadding-boxzcontent-boxr   r
   Úmax_Úmin_)r   r,   r-   Úborder_left_widthÚborder_right_widthr.   r/   Úborder_top_widthÚborder_bottom_widthÚgetattrr   Úmax)r   ÚaxisÚdeltas      r   r<   r<   €   sº  € Ø
„y�Ô ,Ò.Ð.Ø�7Š?ˆ?àÔ  3Ô#4Ñ4ØÔ%ñ&Ø(+Ô(>ñ?ð ˆEð
 ” #Ô"4Ñ4ØÔ$ñ%Ø'*Ô'>ñ?ð ˆEð 
Œ�<Ô	  MÒ	1Ð	1Ø�7Š?ˆ?ØÔ$ sÔ'8Ñ8ˆEˆEà”O cÔ&8Ñ8ˆEˆEàŒy˜Ô&¨-Ò7Ð7Ð7Ð7Øˆð
 ˆq‚y€yÝ�3˜ÑÔ Ò'Ð'Ý�C˜�s 1¥g¨c°4Ñ&8Ô&8¸5Ñ&@ÑAÔAÑBÔBÐBÝ��]˜D�]�]¥C¨­7°3¸¸t¸¸Ñ+FÔ+FÈÑ+NÑ$OÔ$OÑPÔPÐPÝ�3˜˜t˜˜Ñ&Ô&¨&Ò0Ð0Ý�C˜ ˜˜­¨A­w°s¸MÀ4¸M¸MÑ/JÔ/JÈUÑ/RÑ(SÔ(SÑTÔTÐTÐTÐTð €yð 1Ð0r   N)Ú__doc__Úmathr   Úcssr   Úcss.functionsr   Úformatting_structurer   r   r   r&   r@   rO   r<   © r   r   ú<module>rb      s½   ðØ ,Ð ,à Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø (Ð (Ð (Ð (Ð (Ð (ð,ð ,ð ,ð"'ð 'ð 'ð 5ð 5ð 5ð5%ð 5%ð 5%ðp2ð 2ð 2ð*Uð Uð Uð Uð Ur   