0
     ˆÁÀƒh¹¿¾      0
  *   ˆl–Ým_J
h¥ ¶ Z¸ÜêbÑ¿Á930_†I|¥�+ÁÀ ¢    /*
 * Summary: interface for the XSLT attribute handling
 * Description: this module handles the specificities of attribute
 *              and attribute groups processing.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XSLT_ATTRIBUTES_H__
#define __XML_XSLT_ATTRIBUTES_H__

#include <libxml/tree.h>
#include "xsltexports.h"

#ifdef __cplusplus
extern "C" {
#endif

XSLTPUBFUN void XSLTCALL
	xsltParseStylesheetAttributeSet	(xsltStylesheetPtr style,
					 xmlNodePtr cur);
XSLTPUBFUN void XSLTCALL
	xsltFreeAttributeSetsHashes	(xsltStylesheetPtr style);
XSLTPUBFUN void XSLTCALL
	xsltApplyAttributeSet		(xsltTransformContextPtr ctxt,
					 xmlNodePtr node,
					 xmlNodePtr inst,
					 const xmlChar *attributes);
XSLTPUBFUN void XSLTCALL
	xsltResolveStylesheetAttributeSet(xsltStylesheetPtr style);
#ifdef __cplusplus
}
#endif

#endif /* __XML_XSLT_ATTRIBUTES_H__ */

  "   ˆl–äY>”je¶…8 Cq§nµ1hßÃƒmÀ3ÂÁ ã    a
    ´ib  ã                   @   s®   d Z g d¢ZdZdZdZdZzddlmZmZ W n e	yJ   dZdZY n0 d	d
„ Z
dd„ Zddd„Zddd„Zddd„Zd dd„Zdd„ Zdd„ Zdd„ Zedkrªeƒ  dS )!zHConversions to/from quoted-printable transport encoding as per RFC 1521.)ÚencodeÚdecodeÚencodestringÚdecodestringó   =éL   s   0123456789ABCDEFó    é    )Úa2b_qpÚb2a_qpNc                 C   s:   | dv r|S | dkr|S | t kp8d|   ko2dkn   S )zìDecide whether a particular byte ordinal needs to be quoted.

    The 'quotetabs' flag indicates whether embedded tabs and spaces should be
    quoted.  Note that line-ending tabs and spaces are always encoded, as per
    RFC 1521.
    ó    	ó   _ó    ó   ~)ÚESCAPE)ÚcÚ	quotetabsÚheader© r   ú/usr/lib64/python3.9/quopri.pyÚneedsquoting   s
    r   c                 C   s(   t | ƒ} ttt| d  t| d  fƒ S )zQuote a single character.é   )Úordr   ÚbytesÚHEX©r   r   r   r   Úquote$   s    r   Fc                 C   s2  t dur,|  ¡ }t |||d�}| |¡ dS |dfdd„}d}|  ¡ }|sN�qg }	d}
|dd… dkrv|dd… }d}
|D ]D}t|fƒ}t|||ƒrœt|ƒ}|r´|dkr´|	 d	¡ qz|	 |¡ qz|durÐ||ƒ t 	|	¡}t
|ƒtk�r||dtd
 … dd� |td
 d… }qÚ|}q>|du�r.|||
d� dS )av  Read 'input', apply quoted-printable encoding, and write to 'output'.

    'input' and 'output' are binary file objects. The 'quotetabs' flag
    indicates whether embedded tabs and spaces should be quoted. Note that
    line-ending tabs and spaces are always encoded, as per RFC 1521.
    The 'header' flag indicates whether we are encoding spaces as _ as per RFC
    1522.N©r   r   ó   
c                 S   sj   | r<| dd … dv r<|  | d d… t| dd … ƒ | ¡ n*| dkrX|  t| ƒ| ¡ n|  | | ¡ d S )Néÿÿÿÿr   ó   .)Úwriter   )ÚsÚoutputÚlineEndr   r   r   r    ;   s
    (zencode.<locals>.writer   r   r   r   é   s   =
)r#   )r
   Úreadr    Úreadliner   r   r   ÚappendÚEMPTYSTRINGÚjoinÚlenÚMAXLINESIZE)Úinputr"   r   r   ÚdataÚodatar    ZprevlineÚlineZoutlineÚstrippedr   Zthisliner   r   r   r   ,   s>    	




r   c                 C   sF   t d urt | ||d�S ddlm} || ƒ}|ƒ }t||||ƒ | ¡ S )Nr   r   ©ÚBytesIO)r
   Úior2   r   Úgetvalue)r!   r   r   r2   ÚinfpÚoutfpr   r   r   r   j   s    r   c                 C   sö  t dur*|  ¡ }t ||d�}| |¡ dS d}|  ¡ }|s>�qâdt|ƒ }}|dkrœ||d |… dkrœd}	|d }|dkr ||d |… dv r |d }qtnd}	||k �rÊ|||d … }
|
dkrØ|rØ|d	 }|d }q |
tkrò||
 }|d }q |d |k�r|	�sd}	�qÊq |d |k �rJ||d |d
 … tk�rJ|t }|d
 }q |d
 |k �r¸t||d |d
 … ƒ�r¸t||d
 |d … ƒ�r¸|tt||