§
    ¥”j_-  ã                   ó€   — d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ d	d
lmZ  G d„ dej        ¦  «        ZdS )zPDF stream.é    )ÚcontextmanagerNé   )ÚLOGGER)ÚMatrix)Úffi)Úget_pango_font_keyé   )ÚFontc                   ó<  ‡ — e Zd ZdZˆ fd„Zd„ Zed„ ¦   «         Zˆ fd„Zˆ fd„Z	dˆ fd	„	Z
ˆ fd
„Zˆ fd„Zd d„Zˆ fd„Zˆ fd„Zd!ˆ fd„	Zd"d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ ¦   «         Zeˆ fd„¦   «         Zeˆ fd„¦   «         Zed„ ¦   «         Zed„ ¦   «         Zˆ xZS )#ÚStreamz&PDF stream object with extra features.c                 ó¼  •—  t          ¦   «         j        |i |¤Ž || _        || _        || _        || _        || _        || _        d x| _        | _	        d x| _
        | _        d x| _        | _        d x| _        | _        t!          ¦   «         g| _        t%          j        d¦  «        | _        t%          j        d¦  «        | _        t%          j        d¦  «        | _        d S )Nzunsigned int *zPangoRectangle *)ÚsuperÚ__init__Úpage_rectangleÚ_fontsÚ
_resourcesÚ_imagesÚ_tagsÚ_color_profilesÚ_current_colorÚ_current_color_strokeÚ_current_alphaÚ_current_alpha_strokeÚ_current_fontÚ_current_font_sizeÚ	_old_fontÚ_old_font_sizer   Ú
_ctm_stackr   ÚnewÚlengthÚink_rectÚlogical_rect)
ÚselfÚfontsr   Ú	resourcesÚimagesÚtagsÚcolor_profilesÚargsÚkwargsÚ	__class__s
            €úd/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/weasyprint/pdf/stream.pyr   zStream.__init__   sÖ   ø€ à�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ø,ˆÔØˆŒØ#ˆŒØˆŒØˆŒ
Ø-ˆÔØ;?Ð?ˆÔ˜dÔ8Ø;?Ð?ˆÔ˜dÔ8Ø7;Ð;ˆÔ˜TÔ4Ø/3Ð3ˆŒ˜Ô,Ý!™8œ8˜*ˆŒõ ”gÐ.Ñ/Ô/ˆŒÝœÐ 2Ñ3Ô3ˆŒÝœGÐ$6Ñ7Ô7ˆÔÐÐó    c                 óÞ   — d|vr
| j         |d<   d|vr
| j        |d<   d|vr
| j        |d<   d|vr
| j        |d<   d|vr
| j        |d<   d|vr
| j        |d<   d|vr
| j        |d<   t          di |¤ŽS )	Nr$   r   r%   r&   r'   r(   Úcompress© )r   r   r   r   r   r   r/   r   )r#   r*   s     r,   ÚclonezStream.clone$   s¹   € Ø˜&Ð Ð Ø"œkˆF�7‰OØ 6Ð)Ð)Ø'+Ô':ˆFÐ#Ñ$Ø˜fÐ$Ð$Ø"&¤/ˆF�;ÑØ˜6Ð!Ð!Ø#œ|ˆF�8ÑØ˜ÐÐØ!œZˆF�6‰NØ 6Ð)Ð)Ø'+Ô';ˆFÐ#Ñ$Ø˜VÐ#Ð#Ø!%¤ˆF�:ÑÝÐÐ˜ÐÐÐr-   c                 ó   — | j         d         S ©Néÿÿÿÿ)r   ©r#   s    r,   Úctmz
Stream.ctm5   s   € àŒ˜rÔ"Ð"r-   c                 ó†   •— t          ¦   «                              ¦   «          | j                             | j        ¦  «         d S ©N)r   Ú
push_stater   Úappendr6   ©r#   r+   s    €r,   r9   zStream.push_state9   s7   ø€ Ý‰Œ×ÒÑÔÐØŒ×Ò˜tœxÑ(Ô(Ð(Ð(Ð(r-   c                 ó6  •— | j         r+| j         d         dk    r| j                              ¦   «          n t          ¦   «                              ¦   «          d x| _        | _        d x| _        | _        d | _        | j	                             ¦   «          | j	        sJ ‚d S )Nr4   ó   q)
ÚstreamÚpopr   Ú	pop_stater   r   r   r   r   r   r;   s    €r,   r@   zStream.pop_state=   s˜   ø€ ØŒ;ð 	 ˜4œ; rœ?¨dÒ2Ð2ØŒK�OŠOÑÔÐÐå‰GŒG×ÒÑÔÐØ;?Ð?ˆÔ˜dÔ8Ø;?Ð?ˆÔ˜dÔ8Ø!ˆÔØŒ×ÒÑÔÐØŒÐÐÐÐÐr-   r	   r   c                 óœ   •— t          ¦   «                              ||||||¦  «         t          ||||||¦  «        | j        z  | j        d<   d S r3   )r   Ú
set_matrixr   r6   r   )r#   ÚaÚbÚcÚdÚeÚfr+   s          €r,   Ú	transformzStream.transformH   sP   ø€ Ý‰Œ×Ò˜1˜a  A q¨!Ñ,Ô,Ð,Ý$ Q¨¨1¨a°°AÑ6Ô6¸¼ÑAˆŒ˜ÑÐÐr-   c                 óÆ   •— | j         r8| j         d         dk    r'| j        | _        | j                              ¦   «          d S t	          ¦   «                              ¦   «          d S )Nr4   s   ET)r>   r   r   r?   r   Ú
begin_textr;   s    €r,   rK   zStream.begin_textL   s[   ø€ ØŒ;ð 	!˜4œ; rœ?¨eÒ3Ð3Ø!%¤ˆDÔØŒK�OŠOÑÔÐÐÐå‰GŒG×ÒÑ Ô Ð Ð Ð r-   c                 óp   •— | j         d c| _        | _         t          ¦   «                              ¦   «          d S r8   )r   r   r   Úend_textr;   s    €r,   rM   zStream.end_textS   s3   ø€ Ø-1Ô-?ÀÐ*ˆŒ˜Ô*Ý‰Œ×ÒÑÔÐÐÐr-   Fc                 óÞ  — |�^ }}|                       ||¦  «         |r'|j        g|¢R | j        k    rd S |j        g|¢R | _        n&|j        g|¢R | j        k    rd S |j        g|¢R | _        |j        dv r) | j        g |                     d¦  «        j        ¢|‘R Ž  d S |j        dv rO|                      d|¦  «         |                     d¦  «        j        \  }}}|                      d ||||¦  «         d S |j        dv rO|                      d|¦  «         |                     d¦  «        j        \  }}}|                      d ||||¦  «         d S |j        dk    r>|                      d	|¦  «         |j        \  }}	}
}|                      d |||	|
|¦  «         d S |j         	                    d
¦  «        r?|j        | j
        v r1|                      |j        |¦  «          | j        d |g|j        ¢R Ž  d S t          j        d|j        ¦  «         t          |¦  «        dk    r|d d…         }n7t          |¦  «        dk    rg |¢d‘R }nt          |¦  «        dk    r	g |¢d‘d‘R } | j        g |¢|‘R Ž  d S )N)ÚsrgbÚhslÚhwbrO   )zxyz-d65ÚoklabÚoklchzlab-d65Úlab)zxyz-d50rT   Úlchzlab-d50zdevice-cmykÚ
DeviceCMYKz--z,Unsupported color space %s, use sRGB insteadé   r   r   r	   )Ú	set_alphaÚspacer   r   Úset_color_rgbÚtoÚcoordinatesÚset_color_spaceÚset_color_specialÚ
startswithr   r   ÚwarningÚlen)r#   ÚcolorÚstrokeÚchannelsÚalphaÚ	lightnessrC   rD   rE   ÚmÚyÚks               r,   Ú	set_colorzStream.set_colorW   sí  € Ø Ñˆ�5Ø�Š�u˜fÑ%Ô%Ð%àð 		?Ø”Ð'˜hÐ'Ð'¨4Ô+EÒEÐEØ�à.3¬kÐ-E¸HÐ-EÐ-E�Ô*Ð*à”Ð'˜hÐ'Ð'¨4Ô+>Ò>Ð>Ø�à',¤{Ð&>°XÐ&>Ð&>�Ô#àŒ;Ð0Ð0Ð0ØˆDÔÐE §¢¨Ñ 0Ô 0Ô <ÐE¸fÐEÐEÐEÐEÐEÐEØŒ[Ð9Ð9Ð9Ø× Ò  ¨FÑ3Ô3Ð3Ø#Ÿhšh u™oœoÔ9‰OˆI�q˜!Ø×"Ò" 4¨°¸A¸qÑAÔAÐAÐAÐAØŒ[Ð5Ð5Ð5Ø× Ò  ¨FÑ3Ô3Ð3Ø#Ÿhšh u™oœoÔ9‰OˆI�q˜!Ø×"Ò" 4¨°¸A¸qÑAÔAÐAÐAÐAØŒ[˜MÒ)Ð)Ø× Ò  ¨vÑ6Ô6Ð6ØÔ*‰JˆAˆq�!�QØ×"Ò" 4¨°°A°q¸!Ñ<Ô<Ð<Ð<Ð<ØŒ[×#Ò# DÑ)Ô)ð 	2¨e¬k¸TÔ=QÐ.QÐ.QØ× Ò  ¤¨fÑ5Ô5Ð5Ø"ˆDÔ" 4¨ÐD°%Ô2CÐDÐDÐDÐDÐDÐDåŒNÐIÈ5Ì;ÑWÔWÐWÝ�8‰}Œ}˜qÒ Ð Ø# B Q Bœ<��Ý�X‘” !Ò#Ð#Ø'˜H˜< a˜<˜<��Ý�X‘” !Ò#Ð#Ø*˜H˜? a˜?¨˜?˜?�ØˆDÔÐ1 Ð1¨&Ð1Ð1Ð1Ð1Ð1Ð1r-   c                 ó|   •— ||f| j         k    rd S ||f| _         t          ¦   «                              ||¦  «         d S r8   )r   r   Úset_font_size)r#   ÚfontÚsizer+   s      €r,   rl   zStream.set_font_size�   sF   ø€ Ø�$ˆ<˜4Ô-Ò-Ð-ØˆFØ" D˜\ˆÔÝ‰Œ×Ò˜d DÑ)Ô)Ð)Ð)Ð)r-   c                 ó¤   •— dt          | j        d         ¦  «        › �}|| j        d         |<   t          ¦   «                              |¦  «         d S )NÚsÚ	ExtGState)ra   r   r   Ú	set_state)r#   ÚstateÚkeyr+   s      €r,   rr   zStream.set_state‡   sN   ø€ Ø5•#�d”o kÔ2Ñ3Ô3Ð5Ð5ˆØ,1ˆŒ˜Ô$ SÑ)Ý‰Œ×Ò˜#ÑÔÐÐÐr-   Nc                 óÎ  •— |€| }|rkd|› �}|| j         k    r[|| _         || j        d         vr$t          j        d|i¦  «        | j        d         |<   t	          ¦   «                              |¦  «         |rmd|› �}|| j        k    r_|| _        || j        d         vr$t          j        d|i¦  «        | j        d         |<   t	          ¦   «                              |¦  «         d S d S d S )NÚArq   ÚCArC   Úca)r   r   ÚpydyfÚ
Dictionaryr   rr   r   )r#   re   rc   Úfillrt   r+   s        €r,   rX   zStream.set_alphaŒ   s  ø€ Øˆ<Ø�:ˆDàð 	'Ø�e�+�+ˆCØ�dÔ0Ò0Ð0Ø-0�Ô*Ø˜dœo¨kÔ:Ð:Ð:Ý8=Ô8HÈ$ÐPUÈÑ8WÔ8W�D”O KÔ0°Ñ5Ý‘”×!Ò! #Ñ&Ô&Ð&àð 	'Ø�e�+�+ˆCØ�dÔ)Ò)Ð)Ø&)�Ô#Ø˜dœo¨kÔ:Ð:Ð:Ý8=Ô8HÈ$ÐPUÈÑ8WÔ8W�D”O KÔ0°Ñ5Ý‘”×!Ò! #Ñ&Ô&Ð&Ð&Ð&ð	'ð 	'à)Ð)r-   Ú
luminosityc           	      óè   — |                       ||||¦  «        }t          j        dt          j        dd|                     ¦   «         › �|dœ¦  «        dddœ¦  «        }|                      |¦  «         |S )Nú
/ExtGStatez/Maskú/)ÚTypeÚSÚGr	   Úfalse)r€   ÚSMaskrx   ÚAIS)Ú	add_groupry   rz   Ú
capitalizerr   )r#   Úxrh   ÚwidthÚheightÚmodeÚalpha_streamÚalpha_states           r,   Úset_alpha_statezStream.set_alpha_state    s�   € Ø—~’~ a¨¨E°6Ñ:Ô:ˆÝÔ&Ø ÝÔ%ØØ,˜ŸšÑ*Ô*Ð,Ð,Ø!ð'ð 'ñ ô ð
 Øð	(
ð 	(
ñ 	ô 	ˆð 	�Š�{Ñ#Ô#Ð#ØÐr-   c                 ó`   — |                       t          j        dd|› �dœ¦  «        ¦  «         d S )Nr~   r   )r€   ÚBM)rr   ry   rz   )r#   r‹   s     r,   Úset_blend_modezStream.set_blend_mode¯   sG   € Ø�Š•uÔ'Ø Ø�d�*�*ð)
ð )
ñ ô ñ 	ô 	ð 	ð 	ð 	r-   c                 óŠ   — t          |¦  «        \  }}}|| j        vrt          |||¦  «        | j        |<   | j        |         |fS r8   )r   r   r
   )r#   Ú
pango_fontrt   ÚdescriptionÚ	font_sizes        r,   Úadd_fontzStream.add_fontµ   sM   € Ý&8¸Ñ&DÔ&DÑ#ˆˆ[˜)Ø�d”kÐ!Ð!Ý# J°¸YÑGÔGˆDŒK˜ÑØŒ{˜3Ô Ð*Ð*r-   c                 ó  — t          j        t          j        ¦   «         t          j        ¦   «         t          j        ¦   «         t          j        ¦   «         | j        d         d dœ¦  «        }t          j        ddt          j        ||||z   ||z   f¦  «        |t          j        ddddd	œ¦  «        d
œ¦  «        }|                      ||¬¦  «        }dt          | j        d         ¦  «        › �|_        || j        d         |j        <   |S )NÚ
ColorSpace©rq   ÚXObjectÚPatternÚShadingr˜   r
   z/XObjectz/Formz/Groupz/TransparencyÚtruez
/DeviceRGB)r€   r�   ÚIÚCS)r€   ÚSubtypeÚBBoxÚ	ResourcesÚGroup©r%   Úextrarˆ   rš   )ry   rz   r   ÚArrayr1   ra   Úid)r#   rˆ   rh   r‰   rŠ   r%   r¥   Úgroups           r,   r†   zStream.add_group»   s  € ÝÔ$ÝÔ)Ñ+Ô+ÝÔ'Ñ)Ô)ÝÔ'Ñ)Ô)ÝÔ'Ñ)Ô)Øœ/¨,Ô7Øð&
ð &
ñ ô ˆ	õ Ô ØØÝ”K  A q¨5¡y°!°f±*Ð =Ñ>Ô>Ø"ÝÔ%Ø Ø$ØØ"ð	'ð 'ñ ô ð"
ð "
ñ ô ˆð —
’
 Y°e�
Ñ<Ô<ˆØ8•s˜4œ?¨9Ô5Ñ6Ô6Ð8Ð8ˆŒØ/4ˆŒ˜	Ô" 5¤8Ñ,Øˆr-   c                 óÚ   — d|j         › t          |¦  «        › �}d | j        d         |<   || j        v r(| j        |         d                              |¦  «         |S |||hd dœ| j        |<   |S )NÚirš   Ú
dpi_ratios)ÚimageÚinterpolater«   Úx_object)r§   Úintr   r   Úadd)r#   r¬   r­   ÚratioÚ
image_names        r,   Ú	add_imagezStream.add_imageÕ   s�   € Ø5˜œÐ5¥3 {Ñ#3Ô#3Ð5Ð5ˆ
Ø15ˆŒ˜	Ô" :Ñ.Ø˜œÐ%Ð%àŒL˜Ô$ \Ô2×6Ò6°uÑ=Ô=Ð=ØÐð Ø&Ø ˜'Øð	$
ð $
ˆŒ�ZÑ ð Ðr-   c                 ó  — t          j        t          j        ¦   «         t          j        ¦   «         t          j        ¦   «         t          j        ¦   «         | j        d         d dœ¦  «        }t          j        ddt          j        ||||z   ||z   g¦  «        ||ddt          j        |j        ¦  «        |dœ	¦  «        }	|                      ||	¬¦  «        }
dt          | j        d         ¦  «        › �|
_        |
| j        d         |
j        <   |
S )	Nr˜   r™   z/Patternr	   )	r€   ÚPatternTyper¡   ÚXStepÚYStepÚ
TilingTypeÚ	PaintTyper   r¢   r¤   Úpr›   )ry   rz   r   r¦   Úvaluesr1   ra   r§   )r#   rˆ   rh   r‰   rŠ   Úrepeat_widthÚrepeat_heightÚmatrixr%   r¥   Úpatterns              r,   Úadd_patternzStream.add_patternå   s  € ÝÔ$ÝÔ)Ñ+Ô+ÝÔ'Ñ)Ô)ÝÔ'Ñ)Ô)ÝÔ'Ñ)Ô)Øœ/¨,Ô7Øð&
ð &
ñ ô ˆ	õ Ô ØØÝ”K  A q¨5¡y°!°f±*Ð =Ñ>Ô>Ø!Ø"ØØÝ”k &¤-Ñ0Ô0Ø"ð
"
ð 
"
ñ 
ô 
ˆð —*’* y¸�*Ñ>Ô>ˆØ:�˜Tœ_¨YÔ7Ñ8Ô8Ð:Ð:ˆŒ
Ø18ˆŒ˜	Ô" 7¤:Ñ.Øˆr-   c                 ó(  — t          j        |d|› �t          j        |¦  «        t          j        |¦  «        |dœ¦  «        }|rt          j        d¦  «        |d<   dt          | j        d         ¦  «        › �|_        || j        d         |j        <   |S )Nz/Device)ÚShadingTyper˜   ÚDomainÚCoordsÚFunction)ó   truerÆ   ÚExtendrp   rœ   )ry   rz   r¦   ra   r   r§   )r#   Úshading_typeÚcolor_spaceÚdomainÚcoordsÚextendÚfunctionÚshadings           r,   Úadd_shadingzStream.add_shadingþ   sŸ   € åÔ"Ø'Ø1 KÐ1Ð1Ý”k &Ñ)Ô)Ý”k &Ñ)Ô)Ø ð$
ð $
ñ ô ˆð ð 	@Ý %¤Ð,>Ñ ?Ô ?ˆG�HÑØ:�˜Tœ_¨YÔ7Ñ8Ô8Ð:Ð:ˆŒ
Ø18ˆŒ˜	Ô" 7¤:Ñ.Øˆr-   c              #   ó–   K  — |                       ¦   «          	 dV — |                      ¦   «          dS # |                      ¦   «          w xY w)zDSave and restore stream context when used with the ``with`` keyword.N)r9   r@   r5   s    r,   ÚstackedzStream.stacked  sR   è è € ð 	�ŠÑÔÐð	ØˆEˆEˆEà�NŠNÑÔÐÐÐøˆD�NŠNÑÔÐÐøøøs	   ˜2 ²Ac              #   óœ  •K  — | j         �fd }t          | j         ¦  «        }|| j         vsJ ‚||dœ| j         |<   t          j        d|i¦  «        }t	          ¦   «                              ||¦  «         	 d V — | j         �"t	          ¦   «                              ¦   «          d S d S # | j         �!t	          ¦   «                              ¦   «          w w xY w)N)ÚtagÚmcidÚMCID)r   ra   ry   rz   r   Úbegin_marked_contentÚend_marked_content)r#   ÚboxrÓ   Úproperty_listrÔ   r+   s        €r,   ÚmarkedzStream.marked  sØ   øè è € àŒ:Ð!Ø ˆMÝ�t”z‘?”?ˆDØ˜dœjÐ(Ð(Ð(Ð(Ø&)°4Ð8Ð8ˆDŒJ�s‰OÝ!Ô,¨f°d¨^Ñ<Ô<ˆMÝ‰GŒG×(Ò(¨¨mÑ<Ô<Ð<ð	-ØˆEˆEˆEàŒzÐ%Ý‘”×*Ò*Ñ,Ô,Ð,Ð,Ð,ð &Ð%øˆtŒzÐ%Ý‘”×*Ò*Ñ,Ô,Ð,Ð,ð &øøøs   Á2B! Â!*Cc              #   ó  •K  — | j         �!t          ¦   «                              d¦  «         	 d V — | j         �"t          ¦   «                              ¦   «          d S d S # | j         �!t          ¦   «                              ¦   «          w w xY w)NÚArtifact)r   r   rÖ   r×   r;   s    €r,   ÚartifactzStream.artifact%  sŠ   øè è € àŒ:Ð!Ý‰GŒG×(Ò(¨Ñ4Ô4Ð4ð	-ØˆEˆEˆEàŒzÐ%Ý‘”×*Ò*Ñ,Ô,Ð,Ð,Ð,ð &Ð%øˆtŒzÐ%Ý‘”×*Ò*Ñ,Ô,Ð,Ð,ð &øøøs   ­A Á*Bc                 ó¢   — t          j        dt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        |dœ¦  «        S )Nr   )ÚFunctionTyperÃ   ÚC0ÚC1ÚN©ry   rz   r¦   )rÊ   Úc0Úc1Úns       r,   Úcreate_interpolation_functionz$Stream.create_interpolation_function/  sJ   € åÔØÝ”k &Ñ)Ô)Ý”+˜b‘/”/Ý”+˜b‘/”/Øð!
ð !
ñ ô ð 	r-   c           	      óÆ   — t          j        dt          j        | ¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœ¦  «        S )NrW   )rß   rÃ   ÚEncodeÚBoundsÚ	Functionsrã   )rÊ   ÚencodeÚboundsÚsub_functionss       r,   Úcreate_stitching_functionz Stream.create_stitching_function9  sX   € åÔØÝ”k &Ñ)Ô)Ý”k &Ñ)Ô)Ý”k &Ñ)Ô)Ýœ ]Ñ3Ô3ð!
ð !
ñ ô ð 	r-   )r	   r   r   r	   r   r   )F)FN)r|   ) Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r1   Úpropertyr6   r9   r@   rI   rK   rM   rj   rl   rr   rX   rŽ   r‘   r–   r†   r³   rÀ   rÏ   r   rÑ   rÚ   rÝ   Ústaticmethodrç   rï   Ú__classcell__)r+   s   @r,   r   r      s^  ø€ € € € € Ø0Ð0ð8ð 8ð 8ð 8ð 8ð( ð  ð  ð" ð#ð #ñ „Xð#ð)ð )ð )ð )ð )ð	ð 	ð 	ð 	ð 	ðBð Bð Bð Bð Bð Bð!ð !ð !ð !ð !ðð ð ð ð ð(2ð (2ð (2ð (2ðT*ð *ð *ð *ð *ðð ð ð ð ð
'ð 'ð 'ð 'ð 'ð 'ð(ð ð ð ðð ð ð+ð +ð +ðð ð ð4ð ð ð ð ð ð2ð ð ð ðð ñ „^ðð ð-ð -ð -ð -ñ „^ð-ð ð-ð -ð -ð -ñ „^ð-ð ðð ñ „\ðð ðð ñ „\ðð ð ð ð r-   r   )ró   Ú
contextlibr   ry   Úloggerr   r¾   r   Útext.ffir   Ú
text.fontsr   r$   r
   r   r0   r-   r,   ú<module>rû      sÀ   ðØ Ð à %Ð %Ð %Ð %Ð %Ð %à €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø Ð Ð Ð Ð Ð ðsð sð sð sð sˆUŒ\ñ sô sð sð sð sr-   