§
    ¡”jG  ã                   óŠ  — d dl Z d„ Zd„ Zd„ Zddddd	d
œZd                     d„ eD ¦   «         ¦  «        Z e j        de› d�e j        ¦  «        Zd„ Z	d„ Z
d„ Zd„ Z ed„ dD ¦   «         d„ dD ¦   «         z   d„ dD ¦   «         z   d„ dD ¦   «         z   d„ dD ¦   «         z   d„ dD ¦   «         z   d„ d D ¦   «         z   g d!¢z   ¦  «        ZdS )"é    Nc                 óZ   — g }t          | |j        ¦  «         d                     |¦  «        S )aã  Serialize nodes to CSS syntax.

    This should be used for :term:`component values`
    instead of just :meth:`tinycss2.ast.Node.serialize` on each node
    as it takes care of corner cases such as ``;`` between declarations,
    and consecutive identifiers
    that would otherwise parse back as the same token.

    :type nodes: :term:`iterable`
    :param nodes: An iterable of :class:`tinycss2.ast.Node` objects.
    :returns: A :obj:`string <str>` representing the nodes.

    Ú )Ú_serialize_toÚappendÚjoin)ÚnodesÚchunkss     úb/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/tinycss2/serializer.pyÚ	serializer      s+   € ð €FÝ�%˜œÑ'Ô'Ð'Ø�7Š7�6‰?Œ?Ðó    c                 ó~  — | dk    rdS | dd…         dk    rdt          | dd…         ¦  «        z   S | d         dk    rd}| dd…         } nd}| d         }||d	v st          |¦  «        d
k    r|n2|dk    rdn*|dk    rdn"|dk    rdn|dv rdt          |¦  «        z  nd|z   z  }|t          | dd…         ¦  «        z  }|S )aX  Serialize any string as a CSS identifier

    :type value: :obj:`str`
    :param value: A string representing a CSS value.
    :returns:
        A :obj:`string <str>` that would parse as an
        :class:`tinycss2.ast.IdentToken` whose
        :attr:`tinycss2.ast.IdentToken.value` attribute equals the passed
        ``value`` argument.

    ú-z\-Né   z--r   é   r   Ú5abcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZé   ú
ú\A úú\D úú\C Ú
0123456789z\%X ú\)Úserialize_nameÚord)ÚvalueÚresultÚcs      r
   Úserialize_identifierr       s  € ð �‚|€|ØˆuàˆRˆaˆR„y�DÒÐØ•n U¨1¨2¨2¤YÑ/Ô/Ñ/Ð/àˆQ„x�3‚€ØˆØ�a�b�b”	ˆˆàˆØˆaŒ€AØ
Øð 0ð 1ð 1Ý47¸±F´F¸T²M°Mð 	
ˆà�t’)�)ˆˆØ�t’)�)ˆˆØ�t’)�)ˆˆØ Ð-Ð-ˆ•#�a‘&”&ÑÐØˆq‰ñ€Fð �n˜U 1 2 2œYÑ'Ô'Ñ'€FØ€Mr   c                 ó@   — d                      d„ | D ¦   «         ¦  «        S )Nr   c              3   ó‚   K  — | ]:}|d v st          |¦  «        dk    r|n|dk    rdn|dk    rdn|dk    rdnd|z   V — Œ;d	S )
z@abcdefghijklmnopqrstuvwxyz-_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZr   r   r   r   r   r   r   r   N)r   ©Ú.0r   s     r
   ú	<genexpr>z!serialize_name.<locals>.<genexpr>=   s‹   è è € ð ð ð ð ð 0ð 1ð 1Ý47¸±F´F¸T²M°Mð 	
ˆà�t’)�)ˆˆØ�t’)�)ˆˆØ�t’)�)ˆˆØˆq‰ðð ð ð ð ð r   ©r   ©r   s    r
   r   r   <   s6   € Ø�7Š7ð ð ð ðñ ô ñ ô ð r   ú\"ú\\r   r   r   )ú"r   r   r   r   r   c              #   ó>   K  — | ]}t          j        |¦  «        V — Œd S ©N)ÚreÚescape)r$   Úchars     r
   r%   r%   O   s*   è è € ÐQÐQ¨t�2œ9 T™?œ?ÐQÐQÐQÐQÐQÐQr   ú[ú]c                 óB   — t           |                      d¦  «                 S )Nr   )Ú_replacement_string_valueÚgroup)Úmatchs    r
   Ú_serialize_string_value_matchr6   Q   s   € Ý$ U§[¢[°¡^¤^Ô4Ð4r   c                 óB   — t                                t          | ¦  «        S r,   )Ú_re_string_valueÚsubr6   r'   s    r
   Úserialize_string_valuer:   S   s   € Ý×ÒÕ =¸uÑEÔEÐEr   c                 ó@   — d                      d„ | D ¦   «         ¦  «        S )Nr   c              3   óº   K  — | ]V}|d k    rdnI|dk    rdnA|dk    rdn9|dk    rdn1|dk    rd	n)|d
k    rdn!|dk    rdn|dk    rdn|dk    rdn	|dk    rdn|V — ŒWdS )ú'z\'r*   r(   r   r)   ú z\ ú	z\9 r   r   r   r   r   r   ú(z\(ú)z\)N© r#   s     r
   r%   z serialize_url.<locals>.<genexpr>X   sº   è è € ð ð ð ð �c’�ˆˆØ�c’�ˆˆØ�d’�ˆˆØ�c’�ˆˆØ�t’)�)ˆˆØ�t’)�)ˆˆØ�t’)�)ˆˆØ�t’)�)ˆˆØ�c’�ˆˆØ�c’�ˆˆØ	ðð ð ð ð ð r   r&   r'   s    r
   Úserialize_urlrC   W   s6   € Ø�7Š7ð ð ð ðñ ô ñ ô ð r   c                 ó*  — t           }d}| D ]†}|j        dk    r|j        n|j        }||f|v r |d¦  «         n1|dk    r+|dk    r|j                             d¦  «        s |d¦  «         |                     |¦  «         |dk    r |d¦  «         |}Œ‡dS )	z€Serialize an iterable of nodes to CSS syntax.

    White chunks as a string by calling the provided :obj:`write` callback.

    NÚliteralz/**/r   Ú
whitespacer   Údeclarationú;)Ú	BAD_PAIRSÚtyper   Ú
startswithr   )r   ÚwriteÚ	bad_pairsÚprevious_typeÚnodeÚserialization_types         r
   r   r   i   sÒ   € õ €IØ€MØð +ð +ˆØ+/¬9¸	Ò+AÐ+A˜dœi˜iØ#'¤:ð 	àÐ-Ð.°)Ð;Ð;ØˆE�&‰MŒMˆMˆMØ˜dÒ"Ð"Ø" lÒ2Ð2Ø”
×%Ò% dÑ+Ô+ð 3àˆE�$‰KŒKˆKØ×Ò˜5Ñ!Ô!Ð!Ø Ò.Ð.ØˆE�#‰JŒJˆJØ*ˆˆð+ð +r   c                 ó    — g | ]}d D ]}||f‘ŒŒS ))ÚidentÚfunctionÚurlÚnumberÚ
percentageÚ	dimensionúunicode-rangerB   ©r$   ÚaÚbs      r
   ú
<listcomp>r\   �   sC   € ð 1ð 1ð 1Øð0ð1ð 1àð ˆ€Vð 1ð 1ð 1ð 1r   )rR   ú
at-keywordÚhashrW   ú#r   rU   c                 ó    — g | ]}d D ]}||f‘ŒŒS ))r   z-->rB   rY   s      r
   r\   r\   …   sA   € ð ð ð ØØðð àð ˆ€Vð ð ð ð r   )rR   r]   r^   rW   c                 ó    — g | ]}d D ]}||f‘ŒŒS ))rR   rS   rT   rB   rY   s      r
   r\   r\   ˆ   sA   € ð /ð /ð /ØØ-ð/ð /àð ˆ€Vð /ð /ð /ð /r   )r_   r   rU   ú@c                 ó    — g | ]}d D ]}||f‘ŒŒS ))rU   rV   rW   rB   rY   s      r
   r\   r\   ‹   sA   € ð 8ð 8ð 8ØØ6ð8ð 8àð ˆ€Vð 8ð 8ð 8ð 8r   )rX   ú.ú+c                 ó   — g | ]}d |f‘ŒS )rb   rB   ©r$   r[   s     r
   r\   r\   Ž   s   € ÐJÐJÐJ�!€cˆ1€XÐJÐJÐJr   )rR   rS   rT   rX   r   c                 ó   — g | ]}d |f‘ŒS )rX   rB   rg   s     r
   r\   r\   �   s   € Ð>Ð>Ð>˜a€o�qÐÐ>Ð>Ð>r   )rR   rS   ú?c                 ó   — g | ]}|d f‘ŒS )ú=rB   )r$   rZ   s     r
   r\   r\   �   s   € ÐÐÐ�!€aˆ€XÐÐÐr   z$*^~|))rR   z() block)ú|rl   )ú/Ú*)r-   r   r    r   r3   r   r8   ÚcompileÚ	MULTILINEr6   r:   rC   r   ÚsetrI   rB   r   r
   ú<module>rr      sÒ  ðØ 	€	€	€	ðð ð ð&"ð "ð "ðJ	ð 	ð 	ð 
Ø
Ø
Ø
Ø
ðð Ð ð —7’7ÐQÐQÐ7PÐQÑQÔQÑQÔQÐ Ø�2”:Ð5Ð"2Ð5Ð5Ð5°r´|ÑDÔDÐ ð5ð 5ð 5ðFð Fð Fðð ð ð$+ð +ð +ð. ˆCð1ð 1ØQð1ñ 1ô 1ðð Ø=ðñ ô ñ	ð/ð /Ø*ð/ñ /ô /ñ	/ð8ð 8Ø,ð8ñ 8ô 8ñ8ð KÐJÐIÐJÑJÔJñKð ?Ð>Ð#=Ð>Ñ>Ô>ñ?ð  Ð�wÐÑÔñ ð  4Ð3Ð3ñ!4ñô €	€	€	r   