
    Mhe                         d  Z d 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 )c                 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     S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/tinycss2/serializer.py	serializer
      s+     F%'''776??    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   5abcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ   
\A \D \C 
0123456789z\%X \)serialize_nameord)valueresultcs      r	   serialize_identifierr       s    ||uRaRyDnU122Y////Qx3abb	aA
 0 1 147FFTMM 	
t))t))t))--#a&&qF nU122Y'''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 147FFTMM 	
t))t))t))q     r   r   r   s    r	   r   r   9   6    77        r   c                 @    d                     d | D                       S )Nr   c              3   j   K   | ].}|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  /d
S )"\"r   \\r   r   r   r   r   r   N r#   s     r	   r%   z)serialize_string_value.<locals>.<genexpr>F   sy          cdt))t))t))	     r   r&   r'   s    r	   serialize_string_valuer/   E   r(   r   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\)Nr.   r#   s     r	   r%   z serialize_url.<locals>.<genexpr>R   s          ccdct))t))t))t))cc	     r   r&   r'   s    r	   serialize_urlr7   Q   s6    77        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 )	zSerialize 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   c   s     IM + ++/9	+A+Adii#': 	-.);;E&MMMMd"""l22
%%d++ 3E$KKK5!!!..E#JJJ*+ +r   c                      g | ]}d D ]}||fS ))identfunctionurlnumber
percentage	dimensionunicode-ranger.   r$   abs      r	   
<listcomp>rP   {   sC     1 1 101 1 V 1 1 1 1r   )rF   
at-keywordhashrK   #r   rI   c                      g | ]}d D ]}||fS ))r   z-->r.   rM   s      r	   rP   rP      sA         V    r   )rF   rQ   rR   rK   c                      g | ]}d D ]}||fS ))rF   rG   rH   r.   rM   s      r	   rP   rP      sA     / / /-/ / V / / / /r   )rS   r   rI   @c                      g | ]}d D ]}||fS ))rI   rJ   rK   r.   rM   s      r	   rP   rP      sA     8 8 868 8 V 8 8 8 8r   )rL   .+c                     g | ]}d |fS )rV   r.   r$   rO   s     r	   rP   rP      s    JJJ!c1XJJJr   )rF   rG   rH   rL   r   c                     g | ]}d |fS )rL   r.   r[   s     r	   rP   rP      s    >>>aoq>>>r   )rF   rG   ?c                     g | ]}|d fS )=r.   )r$   rN   s     r	   rP   rP      s    !aXr   z$*^~|))rF   z() block)|r`   )/*N)r
   r    r   r/   r7   r   setr=   r.   r   r	   <module>rd      sR    &" " "J	 	 		 	 	  $+ + +. 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   