§
    ¦”jé3  ã                  ó   — d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	m
Z
mZmZ d dlmZmZ  ej        e¦  «        Zddd
„Zddd„Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    )ÚannotationsN)Ú
TableStyle)ÚpisaTag)ÚgetAlignÚgetBorderStyleÚgetSizeÚ	set_value)ÚPmlKeepInFrameÚPmlTableÚvalueústr | float | NoneÚreturnc                ót   — | €d S t          | ¦  «        } |                      d¦  «        r| nt          | ¦  «        S ©Nú%©ÚstrÚendswithr   ©r   s    ú_/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/xhtml2pdf/tables.pyÚ_widthr      ó8   € Ø€}ØˆtÝ�‰JŒJ€EØ—N’N 3Ñ'Ô'Ð;ˆ5ˆ5­W°U©^¬^Ð;ó    c                ót   — | €d S t          | ¦  «        } |                      d¦  «        r| nt          | ¦  «        S r   r   r   s    r   Ú_heightr   #   r   r   c                  ó8   — e Zd Zdd„Zdd„Zd„ Zd„ Zd„ Zdd
„ZdS )Ú	TableDatar   ÚNonec                ó®   — d| _         d| _        g | _        g | _        d| _        d| _        d| _        d| _        g | _        g | _	        g | _
        d| _        d S )NÚ r   F)ÚalignÚcolÚcolwÚdataÚmodeÚpaddingÚrepeatÚrowÚrowhÚspanÚstylesÚwidth)Úselfs    r   Ú__init__zTableData.__init__+   sa   € ØˆŒ
ØˆŒØˆŒ	ØˆŒ	ØˆŒ	ØˆŒØ!ˆŒØˆŒØˆŒ	ØˆŒ	ð ð 	Œð #$ˆŒ
ˆ
ˆ
r   Nc                ó�   — | xj         dz  c_         | j        t          | j        ¦  «        dz
                                |¦  «         d S ©Né   )r"   r$   ÚlenÚappend©r-   r$   s     r   Úadd_cellzTableData.add_cell;   s?   € ØˆŒ�A‰ˆŒØŒ	•#�d”i‘.”. 1Ñ$Ô%×,Ò,¨TÑ2Ô2Ð2Ð2Ð2r   c                ó^   — | j                              t          j        |¦  «        ¦  «         d S ©N)r+   r3   Úcopyr4   s     r   Ú	add_stylezTableData.add_style?   s&   € ØŒ×Ò�4œ9 T™?œ?Ñ+Ô+Ð+Ð+Ð+r   c                ó>   — | j                              ||f¦  «         d S r7   )r*   r3   )r-   ÚxÚys      r   Ú	add_emptyzTableData.add_emptyB   s"   € ØŒ	×Ò˜!˜Q˜Ñ Ô Ð Ð Ð r   c                óŒ   — | j         }| j        D ]4\  }}|t          |¦  «        k     r||                              |d¦  «         Œ5|S )Nr    )r$   r*   r2   Úinsert)r-   r$   r;   r<   s       r   Úget_datazTableData.get_dataE   sM   € ØŒyˆØ”Ið 	&ð 	&‰DˆAˆqð •3�t‘9”9Š}ˆ}Ø�Q”—’˜q "Ñ%Ô%Ð%øØˆr   Útdc                ód  — |                      ¦   «         | _        |j        j        r)|dk    r#|                      d|||j        j        f¦  «         	 t'          |j        j        ¦  «        rU|j        j        rI|j        j	        �=|                      d||d         |d         f|j        j        |j        j	        df¦  «         t'          |j        j        ¦  «        rU|j        j        rI|j        j        �=|                      d||d         |d         f|j        j        |j        j        df¦  «         t'          |j        j        ¦  «        rU|j        j        rI|j        j        �=|                      d	|d         |d         f||j        j        |j        j        df¦  «         t'          |j        j        ¦  «        rU|j        j
        rI|j        j        �=|                      d
|d         |d         f||j        j
        |j        j        df¦  «         |                      d|||j        j        p| j        f¦  «         |                      d|||j        j        p| j        f¦  «         |                      d|||j        j        p| j        f¦  «         |                      d|||j        j        p| j        f¦  «         d S )NÚtrÚ
BACKGROUNDr   z%rÚ	LINEABOVEr1   ÚsquaredÚ
LINEBEFOREÚ	LINEAFTERÚ	LINEBELOWÚLEFTPADDINGÚRIGHTPADDINGÚ
TOPPADDINGÚBOTTOMPADDING)Úupperr%   ÚfragÚ	backColorr9   ÚlogÚdebugÚborderTopWidthÚborderTopStyleÚborderTopColorÚborderBottomWidthÚborderBottomStyleÚborderBottomColorÚborderLeftWidthÚborderLeftStyleÚborderLeftColorÚborderRightWidthÚborderRightStyleÚborderRightColorr   ÚpaddingLeftr&   ÚpaddingRightÚ
paddingTopÚpaddingBottom)r-   ÚcÚbeginÚendr%   s        r   Úadd_cell_styleszTableData.add_cell_stylesO   sØ  € Ø—J’J‘L”LˆŒ	ØŒ6Ôð 	I ¨¢ Ø�NŠN˜L¨%°°a´fÔ6FÐGÑHÔHÐHð	õ, ˜1œ6Ô0Ñ1Ô1ð	à”Ô%ð	ð ”Ô%Ð1à�NŠNàØØ˜”V˜U 1œXÐ&Ø”FÔ)Ø”FÔ)Øðñ	ô 	ð 	õ ˜1œ6Ô1Ñ2Ô2ð	à”Ô&ð	ð ”Ô&Ð2à�NŠNà ØØ˜1”X˜s 1œvÐ&Ø”FÔ*Ø”FÔ*Øðñ	ô 	ð 	õ ˜1œ6Ô2Ñ3Ô3ð	à”Ô'ð	ð ”Ô'Ð3à�NŠNàØ˜”V˜U 1œXÐ&ØØ”FÔ+Ø”FÔ+Øðñ	ô 	ð 	õ ˜1œ6Ô3Ñ4Ô4ð	à”Ô(ð	ð ”Ô(Ð4à�NŠNàØ˜1”X˜s 1œvÐ&ØØ”FÔ,Ø”FÔ,Øðñ	ô 	ð 	ð 	�Š˜ u¨c°1´6Ô3EÐ3UÈÌÐVÑWÔWÐWØ�ŠØ˜U C¨¬Ô)<Ð)LÀÄÐMñ	
ô 	
ð 	
ð 	�Š˜ e¨S°!´&Ô2CÐ2SÀtÄ|ÐTÑUÔUÐUØ�ŠØ˜e S¨!¬&Ô*>Ð*NÀ$Ä,ÐOñ	
ô 	
ð 	
ð 	
ð 	
r   )r   r   r7   )rA   )	Ú__name__Ú
__module__Ú__qualname__r.   r5   r9   r=   r@   rf   © r   r   r   r   *   sƒ   € € € € € ð$ð $ð $ð $ð 3ð 3ð 3ð 3ð,ð ,ð ,ð!ð !ð !ðð ð ð]
ð ]
ð ]
ð ]
ð ]
ð ]
r   r   c                  ó0   — e Zd Zed„ ¦   «         Zd„ Zd„ ZdS )ÚpisaTagTABLEc                ó€   — t          | d|j        ¦  «         t          | d|j        ¦  «         t          | dd¦  «         d S )N)r[   r^   rU   rX   ©rY   r\   rS   rV   )rW   rZ   rT   r]   Úsolid)r	   ÚbordercolorÚborder)rO   Úattrss     r   Úset_borderszpisaTagTABLE.set_borders°   sr   € åØðð Ôñ		
ô 		
ð 		
õ 	Øðð ŒLñ		
ô 		
ð 		
õ 	Øðð ñ		
ô 		
ð 		
ð 		
ð 		
r   c                óâ  — |                      ¦   «          | j        }t          ¦   «         |j        c|_        | _        |j        }|j        r"|j        r|                      |j        |¦  «         |j        |_	        | 
                    |ddd¦  «         |j                             ¦   «         |_        d|_        d|_        g |_        g |_        |j        |_        t%          |j        ¦  «        |_        d S )N)r   r   )éÿÿÿÿru   Útabler   )ÚaddParaÚattrr   Ú	tableDatarq   rp   rs   rO   Úcellpaddingr&   rf   r!   rN   r"   r(   r#   r)   r'   r   r,   )r-   rc   rr   Útdatas       r   ÚstartzpisaTagTABLE.startÒ   sÒ   € Ø	�	Š	‰Œˆà”	ˆå&/¡k¤k°1´;Ð#ˆŒ�T”^Ø”ˆàŒ<ð 	,˜EÔ-ð 	,Ø×Ò˜QœV UÑ+Ô+Ð+àÔ)ˆŒØ×Ò˜a ¨°7Ñ;Ô;Ð;Ø”k×'Ò'Ñ)Ô)ˆŒØˆŒ	ØˆŒ	ØˆŒ
ØˆŒ
Ø”|ˆŒÝ˜Uœ[Ñ)Ô)ˆŒˆˆr   c                ó   — |j         }|                     ¦   «         }	 t          d„ |D ¦   «         pdg¦  «        }n@# t          $ r3 t                               |                     d¦  «        ¦  «         dg}Y nw xY wt          |¦  «        D ])\  }}||xx         dg|t          |¦  «        z
  z  z  cc<   Œ*t                               d|j	        ¦  «         |j
        rŸt          ||j	        |j        d|j        |j        dt          |j        ¦  «        ¬¦  «        }t#          |j        ¦  «        |_        |j        j        |_        |j        j        |_        |j        j        |_        |                     |¦  «         n-t                               |                     d	¦  «        ¦  «         |                     ¦   «          | j         d c|_         | _         d S )
Nc                ó,   — g | ]}t          |¦  «        ‘ŒS rj   )r2   )Ú.0r(   s     r   ú
<listcomp>z$pisaTagTABLE.end.<locals>.<listcomp>ï   s   € Ð4Ð4Ð4¨�3˜s™8œ8Ð4Ð4Ð4r   r   z$<table> rows seem to be inconsistentr    zCol widths: %rr1   ÚTOP)Ú	colWidthsÚ
rowHeightsÚ
splitByRowÚ
repeatRowsÚhAlignÚvAlignÚstylez<table> is empty)ry   r@   ÚmaxÚ
ValueErrorrQ   ÚwarningÚ	enumerater2   rR   r#   r$   r   r)   r'   r!   r   r+   r   r,   Ú
totalWidthrO   ÚspaceBeforeÚ
spaceAfterÚkeepWithNextÚaddStoryÚ	clearFrag)r-   rc   r{   r$   ÚmaxcolsÚir(   Úts           r   re   zpisaTagTABLE.endç   s¹  € Ø”ˆØ�~Š~ÑÔˆð
	ÝÐ4Ð4¨tÐ4Ñ4Ô4Ð;¸¸Ñ<Ô<ˆGˆGøÝð 	ð 	ð 	Ý�KŠK˜Ÿ	š	Ð"HÑIÔIÑJÔJÐJØ�cˆGˆGˆGð	øøøõ   ‘o”oð 	3ð 	3‰FˆAˆsØ�ˆGˆGŒG˜�t˜w­¨S©¬Ñ1Ñ2Ñ2ˆGˆG‰GˆGå�	Š	Ð" E¤JÑ/Ô/Ð/ØŒ:ð 	7åØØœ*Ø œ:àà œ<Ø”{ØÝ  ¤Ñ.Ô.ðñ ô ˆAõ " %¤+Ñ.Ô.ˆAŒLØœFÔ.ˆAŒMØœ6Ô,ˆAŒLð œVÔ0ˆAŒNà�JŠJ�q‰MŒMˆMˆMå�KŠK˜Ÿ	š	Ð"4Ñ5Ô5Ñ6Ô6Ð6ð 	
�Š‰ŒˆØ&*¤n°dÐ#ˆŒ�T”^�^�^s   �: º:A7Á6A7N)rg   rh   ri   Ústaticmethodrs   r|   re   rj   r   r   rl   rl   ¯   sL   € € € € € Øð
ð 
ñ „\ð
ðB*ð *ð *ð*,;ð ,;ð ,;ð ,;ð ,;r   rl   c                  ó*   — e Zd Zd„ Zed„ ¦   «         ZdS )Ú	pisaTagTRc                óF  — |j         }|j        }d|f}d|f}|                     |||d¦  «         | j        j        p|j        j        |j        _        |j        j        r#|                     d|||j        j        f¦  «         d|_	        |j
                             g ¦  «         d S )Nr   ru   rC   rD   )ry   r(   rf   rx   ÚvalignrO   r‡   rP   r9   r"   r$   r3   )r-   rc   r{   r(   rd   re   s         r   r|   zpisaTagTR.start  s¤   € Ø”ˆØŒiˆØ�C�ˆØ�3ˆiˆà×Ò˜a ¨¨TÑ2Ô2Ð2Øœ	Ô(Ð9¨A¬F¬MˆŒŒØŒ6Ôð 	JØ�OŠO˜\¨5°#°q´vÔ7GÐHÑIÔIÐIàˆŒ	ØŒ
×Ò˜"ÑÔÐÐÐr   c                ó0   — | j         xj        dz  c_        d S r0   )ry   r(   )rc   s    r   re   zpisaTagTR.end%  s   € à	ŒˆŒ˜1ÑˆŒˆˆr   N)rg   rh   ri   r|   r–   re   rj   r   r   r˜   r˜     s>   € € € € € ðð ð ð ðð ñ „\ðð ð r   r˜   c                  ó   — e Zd Zd„ Zd„ ZdS )Ú	pisaTagTDc                óð  — | j         j        �#t          | j         j        ¦  «        |j        _        |                     ¦   «          |                     ¦   «         | _        | j         }|j        }|j	        }|j
        }|j        }|j        }	 |j        D ]&\  }}	||k    r|	|k    r|dz  }|xj        dz  c_        Œ'	 ||f}
||f}|r|d         |z   dz
  |d         f}|r|d         |d         |z   dz
  f}|
|k    rŠ|                     d|
|f¦  «         t          |
d         |d         dz   ¦  «        D ]R}t          |
d         |d         dz   ¦  «        D ]0}	||
d         k    s|	|
d         k    r|                     ||	¦  «         Œ1ŒS|                     ||
|d¦  «         |dz   t%          |j        ¦  «        k    r8|xj        |dz   t%          |j        ¦  «        z
  t)          ¦   «         gz  z  c_        |sÕ|j        j        p| j         j        }|�4t)          |¦  «        |j        |<   t,                               d||¦  «         n‡t,                               |¦  «         t%          | j        j        ¦  «        dk    rO|j        j        |j        j        z   }t,                               d||¦  «         |rt)          |¦  «        |j        |<   n	 |dz   t%          |j        ¦  «        k    r8|xj        |dz   t%          |j        ¦  «        z
  t)          ¦   «         gz  z  c_        |sr|j        j        p| j                              dd ¦  «        }|�It?          |¦  «        |j        |<   |                     d|
|df¦  «         |                     d	|
|df¦  «         | j         j         p|j        j!        }|�+|                     d
|
|| "                    ¦   «         f¦  «         |j        }tG          |dd¦  «         tG          |dd ¦  «         d S )Nr1   r   ÚSPANrA   zCol %d has width %sÚheightÚFONTSIZEg      ð?ÚLEADINGÚVALIGNrn   )r[   rZ   r^   r]   rU   rT   rX   rW   )$rx   r!   r   rO   Ú	alignmentr’   Ú	swapStoryÚstoryry   ÚcolspanÚrowspanr(   r"   r*   r9   Úranger=   rf   r2   r#   r   r,   rQ   rR   ÚnodeÚ
childNodesr_   r`   r)   r    Úgetr   rš   r‡   rN   r	   )r-   rc   rr   r{   ÚcspanÚrspanr(   r"   r;   r<   rd   re   r,   r    rš   rO   s                   r   r|   zpisaTagTD.start+  s  € ØŒ9Œ?Ð&Ý'¨¬	¬Ñ8Ô8ˆAŒFÔà	�Š‰ŒˆØ—[’[‘]”]ˆŒ
à”	ˆà”ˆà”ˆØ”ˆàŒiˆØŒiˆð	Øœ
ð #ð #‘��1Ø˜’8�8  S¢ Ø˜1‘H�CØ�I”I ‘N�I”IøØà�c�
ˆØ�CˆjˆØð 	/Ø�q”6˜E‘> AÑ% s¨1¤vÐ.ˆCØð 	/Ø�q”6˜3˜qœ6 E™>¨AÑ-Ð.ˆCØ�CŠ<ˆ<Ø�OŠO˜V U¨CÐ0Ñ1Ô1Ð1Ý˜5 œ8 S¨¤V¨a¡ZÑ0Ô0ð .ð .�Ý˜u Qœx¨¨Q¬°!©Ñ4Ô4ð .ð .�AØ˜E !œH’}�}¨¨U°1¬Xª¨ØŸš¨¨1Ñ-Ô-Ð-øð.ð
 	×Ò˜a ¨¨TÑ2Ô2Ð2ð �!‰G•s˜5œ:‘”Ò&Ð&ØˆJŒJ˜3 ™7¥S¨¬¡_¤_Ñ4½¹¼¸
ÑBÑBˆJŒJð ð 	Ø”F”LÐ3 D¤I¤OˆEàÐ Ý"(¨¡-¤-�”
˜3‘Ý—	’	Ð/°°eÑ<Ô<Ð<Ð<õ
 —	’	˜%Ñ Ô Ð Ý�t”yÔ+Ñ,Ô,°Ò1Ð1ØœFÔ.°´Ô1DÑD�EÝ—I’IÐ3°S¸%Ñ@Ô@Ð@Øð 8Ý*0°©-¬-˜œ
 3™øð ð �‰7•S˜œ‘_”_Ò$Ð$ØˆJŒJ˜3 ™7¥S¨¬¡_¤_Ñ4½¹¼¸
ÑBÑBˆJŒJØð 	>Ø”V”]ÐC d¤i§m¢m°H¸dÑ&CÔ&CˆFØÐ!Ý")¨&¡/¤/�”
˜3‘Ø—’ ¨U°C¸Ð =Ñ>Ô>Ð>Ø—’ ¨E°3¸Ð <Ñ=Ô=Ð=ð ”Ô!Ð2 Q¤V¤]ˆØÐØ�OŠO˜X u¨c°6·<²<±>´>ÐBÑCÔCÐCð ŒvˆåØðð ñ		
ô 		
ð 		
õ 	Øð	ð ñ	
ô 	
ð 	
ð 	
ð 	
r   c                ó  — |j         }|                     ¦   «          |j        }|j        j        s.|j                             dd¦  «        }t          dd||¬¦  «        }|                     | j        ¦  «         | 	                    |¦  «         d S )Nz-pdf-keep-in-frame-modeÚshrinkr   )ÚmaxWidthÚ	maxHeightr%   Úcontent)
ry   rw   r¦   rO   ÚinsideStaticFrameÚcssAttrr¬   r
   r¥   r5   )r-   rc   r{   Úcellr%   s        r   re   zpisaTagTD.end™  s…   € Ø”ˆà	�	Š	‰ŒˆØŒwˆð ŒvÔ'ð 	Tà”9—=’=Ð!:¸HÑEÔEˆDå!¨1¸ÀÈdÐSÑSÔSˆDà	�Š�D”JÑÔÐà�Š�tÑÔÐÐÐr   N)rg   rh   ri   r|   re   rj   r   r   r�   r�   *  s6   € € € € € ðl
ð l
ð l
ð\ð ð ð ð r   r�   c                  ó   — e Zd ZdS )Ú	pisaTagTHN)rg   rh   ri   rj   r   r   r¸   r¸   «  s   € € € € € Ø€Dr   r¸   r7   )r   r   r   r   )Ú
__future__r   r8   ÚloggingÚreportlab.platypus.tablesr   Úxhtml2pdf.tagsr   Úxhtml2pdf.utilr   r   r   r	   Úxhtml2pdf.xhtml2pdf_reportlabr
   r   Ú	getLoggerrg   rQ   r   r   r   rl   r˜   r�   r¸   rj   r   r   ú<module>rÀ      sÄ  ðð #Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€à 0Ð 0Ð 0Ð 0Ð 0Ð 0à "Ð "Ð "Ð "Ð "Ð "Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bà€gÔ˜Ñ!Ô!€ð<ð <ð <ð <ð <ð<ð <ð <ð <ð <ðB
ð B
ð B
ð B
ð B
ñ B
ô B
ð B
ðJd;ð d;ð d;ð d;ð d;�7ñ d;ô d;ð d;ðNð ð ð ð �ñ ô ð ð(~ð ~ð ~ð ~ð ~�ñ ~ô ~ð ~ðB	ð 	ð 	ð 	ð 	�	ñ 	ô 	ð 	ð 	ð 	r   