
    Bhe              
          S  r S rS rS rS rS r\" S V Vs/ s H  n S  H  nX4PM     M     snn S V Vs/ s H  n S	  H  nX4PM     M     snn -   S
 V Vs/ s H  n S  H  nX4PM     M     snn -   S V Vs/ s H  n S  H  nX4PM     M     snn -   S Vs/ s H  nSU4PM	     sn-   S Vs/ s H  nSU4PM	     sn-   S V s/ s H  o S4PM     sn -   / SQ-   5      rgs  snn f s  snn f s  snn f s  snn f s  snf s  snf s  sn f )c                 R    / n[        XR                  5        SR                  U5      $ )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     E/var/www/html/env/lib/python3.13/site-packages/tinycss2/serializer.py	serializer
      s#     F%'776?    c                 0   U S:X  a  gU SS S:X  a  S[        U SS 5      -   $ U S   S:X  a  SnU SS n OSnU S   nUUS	;   d  [        U5      S
:  a  UO0US:X  a  SO(US:X  a  SO US:X  a  SOUS;   a  S[        U5      -  OSU-   -  nU[        U SS 5      -  nU$ )a8  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     |RayDnU12Y///Qx3ab	aA
 0 147FTM 	
t)t)t)-#a&qF nU12Y''FMr   c                 2    SR                  S U  5       5      $ )Nr   c              3      #    U  H9  nUS ;   d  [        U5      S:  a  UOUS:X  a  SOUS:X  a  SOUS:X  a  SOSU-   v   M;     g	7f)
z@abcdefghijklmnopqrstuvwxyz-_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZr   r   r   r   r   r   r   r   N)r   .0r   s     r	   	<genexpr>!serialize_name.<locals>.<genexpr>:   s\       A  0 147FTM 	
t)t)t)q	 s   AAr   r   s    r	   r   r   9   "    77    r   c                 2    SR                  S U  5       5      $ )Nr   c              3   v   #    U  H/  nUS :X  a  SO!US:X  a  SOUS:X  a  SOUS:X  a  SO	US:X  a  S	OUv   M1     g
7f)"\"r   \\r   r   r   r   r   r   N r#   s     r	   r%   )serialize_string_value.<locals>.<genexpr>F   sM       A cdt)t)t)		
 s   79r'   r(   s    r	   serialize_string_valuer1   E   r)   r   c                 2    SR                  S U  5       5      $ )Nr   c              3      #    U  HW  nUS :X  a  SOIUS:X  a  SOAUS:X  a  SO9US:X  a  SO1US:X  a  S	O)US
:X  a  SO!US:X  a  SOUS:X  a  SOUS:X  a  SO	US:X  a  SOUv   MY     g7f)'z\'r,   r-   r   r.    z\ 	z\9 r   r   r   r   r   r   (z\()z\)Nr/   r#   s     r	   r%    serialize_url.<locals>.<genexpr>R   sz       A ccdct)t)t)t)cc	
	
 s   AA!r'   r(   s    r	   serialize_urlr:   Q   s"    77    r   c                 @   [         nSnU  H  nUR                  S:w  a  UR                  OUR                  nX54U;   a	  U" S5        O4US:X  a.  US:X  a   UR                  R                  S5      (       d  U" S5        UR	                  U5        US:X  a  U" S5        UnM     g)	zxSerialize 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+/99	+Adii#':: 	.);&Md""l2

%%d++$K5!.#J* r   )ident
at-keywordhash	dimension#r   number)rH   functionurlrM   
percentagerK   unicode-range)rH   rI   rJ   rK   )r   z-->)rL   r   rM   @)rH   rN   rO   )rQ   .+)rM   rP   rK   )rH   rN   rO   rQ   r   rR   )rH   rN   ?rQ   z$*^~|=))rH   z() block)|rW   )/*N)r
   r    r   r1   r:   r   setr@   )abs   00r	   <module>r]      sw  &"J		$+. Q1QA0A V0 Q1
 >=AA V =	 +/*A-A V- */	/ -8,A6A V6 ,88 JJI!c1XIJK $>>#=aoq#=>? w!Xw   4!4	1/8 K>s(   C#
C)C/;C5C;
1D 
D
