
  "   1ˆl–Ü4ý(ÔÔD¨ JË‚fà€¦-ÿÕƒœÃÓ Ö    1a
    õ¶aI  ã                   @   sÂ   d dl mZ d dlZd dlZd dlZd dlZddlmZ dZej	ded�Z
e
jdd	d
dddd� e
jdddddd� ddd„Zdd„ Ze dejejB ¡Ze dejejB ¡Zdd„ Zdd„ ZdS ) é    )Úabsolute_importNé   )ÚhtmldiffÚ zR%prog [OPTIONS] FILE1 FILE2
%prog --annotate [OPTIONS] INFO1 FILE1 INFO2 FILE2 ...)ÚusageÚdescriptionz-oz--outputÚFILEÚoutputú-zFile to write the difference to)ÚmetavarÚdestÚdefaultÚhelpz-az--annotationÚ
store_trueÚ
annotationzDo an annotation)Úactionr   r   c                 C   s  | d u rt jdd … } t | ¡\}} |jr4t|| ƒS t| ƒdkrZtdƒ t ¡  t  	d¡ | \}}t
|ƒ}t
|ƒ}t|ƒd }t|ƒ\}}}	t||ƒ}
||
 |	 }
|jdkrÌ|
 d¡s¾|
d7 }
t j |
¡ n6t|jdƒ�}| |
¡ W d   ƒ n1 sø0    Y  d S )Nr   é   zError: you must give two filesr
   Ú
Úwb)ÚsysÚargvÚparserÚ
parse_argsr   ÚannotateÚlenÚprintÚ
print_helpÚexitÚ	read_fileÚ
split_bodyr   r	   ÚendswithÚstdoutÚwriteÚopen)ÚargsÚoptionsZfile1Zfile2Zinput1Zinput2Zbody1ÚpreZbody2ÚpostÚresultÚf© r*   ú</usr/lib64/python3.9/site-packages/lxml/html/_diffcommand.pyÚmain    s,    




r,   c                 C   sd   | dkrt j ¡ }nLtj | ¡s.td|  ƒ‚n2t| dƒ�}| ¡ }W d   ƒ n1 sV0    Y  |S )Nr
   zInput file %s does not existÚrb)r   ÚstdinÚreadÚosÚpathÚexistsÚOSErrorr#   )ÚfilenameÚcr)   r*   r*   r+   r   9   s    ÿ&r   z	<body.*?>z
</body.*?>c                 C   sn   d }}t  | ¡}|r6| d | ¡ … }| | ¡ d … } t | ¡}|rd| | ¡ d … }| d | ¡ … } || |fS )Nr   )Úbody_start_reÚsearchÚendÚbody_end_reÚstart)Zhtmlr&   r'   Úmatchr*   r*   r+   r   I   s    

r   c                 C   s   t dƒ t d¡ d S )NzNot yet implementedr   )r   r   r   )r%   r$   r*   r*   r+   r   U   s    r   )N)Z
__future__r   Zoptparser   Úrer0   Údiffr   r   ZOptionParserr   Z
add_optionr,   r   ÚcompileÚIÚSr6   r9   r   r   r*   r*   r*   r+   Ú<module>   sB   ýûü
ÿÿ  	   3ˆ¿Õ0ÃÓ  #   5ˆl–ß=¿J2/”Š
€nãm\e•1hßÖƒB÷ÌÄÔ F    5/*
 * Header file for common error description library.
 *
 * Copyright 1988, Student Information Processing Board of the
 * Massachusetts Institute of Technology.
 *
 * For copyright and distribution info, see the documentation supplied
 * with this package.
 */

#if !defined(__COM_ERR_H) && !defined(__COM_ERR_H__)

#ifdef __GNUC__
#define COM_ERR_ATTR(x) __attribute__(x)
#else
#define COM_ERR_ATTR(x)
#endif

#include <stddef.h>
#include <stdarg.h>

typedef long errcode_t;

struct error_table {
	char const * const * msgs;
	long base;
	int n_msgs;
};
struct et_list;

extern void com_err (const char *, long, const char *, ...)
	COM_ERR_ATTR((format(printf, 3, 4)));

extern void com_err_va (const char *whoami, errcode_t code, const char *fmt,
		 va_list args)
	COM_ERR_ATTR((format(printf, 3, 0)));

extern char const *error_message (long);
extern void (*com_err_hook) (const char *, long, const char *, va_list);
extern void (*set_com_err_hook (void (*) (const char *, long,
					  const char *, va_list)))
	(const char *, long, const char *, va_list);
extern void (*reset_com_err_hook (void)) (const char *, long,
					  const char *, va_list);
extern int init_error_table(const char * const *msgs, long base, int count);
extern char *(*set_com_err_gettext (char *(*) (const char *)))
	(const char *);

extern errcode_t add_error_table(const struct error_table * et);
extern errcode_t remove_error_table(const struct error_table * et);
extern void add_to_error_table(struct et_list *new_table);

/* Provided for Heimdall compatibility */
extern const char *com_right(struct et_list *list, long code);
extern const char *com_right_r(struct et_list *list, long code, char *str, size_t len);
extern void