ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3

  \"                 @   sl   d dl Z d dlZd dlZd dlmZ dgZdZdZdZdZ	dZ
d	Zeeee	e
egZG d
d dZdd ZdS )    N)quoteTemplateZffz-fzf-z--z.-z-.c               @   sl   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd ZdS )r   c             C   s   d| _ | j  d S )Nr   )	debuggingreset)self r   /usr/lib64/python3.6/pipes.py__init__U   s    zTemplate.__init__c             C   s   d| j f S )Nz<Template instance, steps=%r>)steps)r   r   r   r   __repr__Z   s    zTemplate.__repr__c             C   s
   g | _ d S )N)r
   )r   r   r   r   r   ^   s    zTemplate.resetc             C   s"   t  }| jd d  |_| j|_|S )N)r   r
   r   )r   tr   r   r   cloneb   s    zTemplate.clonec             C   s
   || _ d S )N)r   )r   flagr   r   r   debugj   s    zTemplate.debugc             C   s   t |t dk	rtd|tkr.td|f |tkr>td| jr^| jd d tkr^td|d dkrtjd	| rtd
|d dkrtjd| rtd| jj	||f d S )N z%Template.append: cmd must be a stringzTemplate.append: bad kind %rz-Template.append: SOURCE can only be prepended   z'Template.append: already ends with SINKr   fz\$IN\bz#Template.append: missing $IN in cmdz\$OUT\bz$Template.append: missing $OUT in cmd)
type	TypeError	stepkinds
ValueErrorSOURCEr
   SINKresearchappend)r   cmdkindr   r   r   r   n   s    zTemplate.appendc             C   s   t |t dk	rtd|tkr.td|f |tkr>td| jr^| jd d tkr^td|d dkrtjd	| rtd
|d dkrtjd| rtd| jj	d||f d S )Nr   z&Template.prepend: cmd must be a stringzTemplate.prepend: bad kind %rz+Template.prepend: SINK can only be appendedr   r   z,Template.prepend: already begins with SOURCEr   z\$IN\bz$Template.prepend: missing $IN in cmdz\$OUT\bz%Template.prepend: missing $OUT in cmd)
r   r   r   r   r   r
   r   r   r   insert)r   r   r   r   r   r   prepend~   s    zTemplate.prependc             C   s6   |dkr| j |S |dkr$| j|S td|f d S )Nrwz,Template.open: rw must be 'r' or 'w', not %r)open_ropen_wr   )r   fileZrwr   r   r   open   s    

zTemplate.openc             C   sB   | j st|dS | j d d tkr*td| j|d}tj|dS )Nr!   r   z)Template.open_r: pipeline ends width SINKr   r   )r
   r&   r   r   makepipelineospopen)r   r%   r   r   r   r   r#      s    
zTemplate.open_rc             C   sB   | j st|dS | j d d tkr*td| jd|}tj|dS )Nr"   r   r   z,Template.open_w: pipeline begins with SOURCEr   )r
   r&   r   r   r'   r(   r)   )r   r%   r   r   r   r   r$      s    
zTemplate.open_wc             C   s   t j| j||S )N)r(   systemr'   )r   infileoutfiler   r   r   copy   s    zTemplate.copyc             C   s(   t || j|}| jr$t| d| }|S )Nzset -x; )r'   r
   r   print)r   r+   r,   r   r   r   r   r'      s
    zTemplate.makepipelineN)__name__
__module____qualname__r	   r   r   r   r   r   r    r&   r#   r$   r-   r'   r   r   r   r   r   R   s   

c             C   s  g }x"|D ]\}}|j d||dg q
W |s>|j ddddg |d dd \}}|d dkrx|  rx|jdddddg | |d d< |d dd \}}|d dkr| r|j ddddg ||d d< g }xtdt|D ]v}||d  d }|| d }	|d dks|	d dkrtj \}
}tj|
 |j | | ||d  d< || d< qW x|D ]}|\}}}}|d dkrd	t| d
 | }|d dkrdt| d
 | }|d dkr|r|d t| }|d dkr|r|d t| }||d< q\W |d d }xd|dd  D ]T}|dd \}}|d dkrfd|krXd| d }|d | }n|d | }q W |rd}x|D ]}|d t| }qW dt|d  d }|d | d | }|S )Nr   catz--r   r      r      zOUT=z; zIN=-z <z >z{ z; }z |

zrm -f ztrap z; exitz 1 2 3 13 14 15r   r   r   r   )	r   r   rangelentempfileZmkstempr(   closer   )r+   r
   r,   listr   r   ZgarbageiZlkindZrkindfdZtempiteminfZoutfZcmdlistZrmcmdr%   Ztrapcmdr   r   r   r'      s`    

 


r'   )r   r(   r:   Zshlexr   __all__ZFILEIN_FILEOUTZSTDIN_FILEOUTZFILEIN_STDOUTZSTDIN_STDOUTr   r   r   r   r'   r   r   r   r   <module><   s   c