Your IP : 18.216.161.178
3
\�2 � @ s� d dl Z d dlZd dlZd dlmZ d dlmZ dddgZG dd� d�Zdd
d�Z ej
dej�jZ
dd� Zd
d� Zedkr�eej�dkr�ee� � n,ejd Zee��Zeeee�� W dQ R X dS )� N)�deque)�StringIO�shlex�split�quotec @ sb e Zd Zddd�Zdd� Zddd�Zd d
� Zdd� Zd
d� Zdd� Z ddd�Z
dd� Zdd� ZdS )r NFc C s t |t�rt|�}|d k r(|| _|| _ntj| _d | _|| _|rHd | _nd| _d| _ d| _
| jrn| j
d7 _
d| _d| _d| _
d| _d | _d
| _t� | _d| _d| _d| _t� | _d | _|s�d}n|d
kr�d}|| _|�rt� | _| j
d7 _
| j
jtj|��}| j
j|�| _
d S )N� �#Z?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u| ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞz
Fz'"�\�"� � r Tz();<>|&z~-./*?=)�
isinstance�strr �instream�infile�sys�stdin�posix�eof�
commenters� wordchars�
whitespace�whitespace_split�quotes�escape�
escapedquotes�stater �pushback�lineno�debug�token� filestack�source�punctuation_chars�_pushback_chars� maketrans�dict�fromkeys� translate)�selfr r r r# �t� r+ �/usr/lib64/python3.6/shlex.py�__init__ sJ
zshlex.__init__c C s* | j dkrtdt|� � | jj|� d S )Nr zshlex: pushing token )r �print�reprr �
appendleft)r) �tokr+ r+ r, �
push_tokenD s
zshlex.push_tokenc C sp t |t�rt|�}| jj| j| j| jf� || _|| _d| _| jrl|d k r\t d| jf � nt d| jf � d S )Nr zshlex: pushing to file %szshlex: pushing to stream %s)
r
r r r! r0 r r r r r. )r) � newstream�newfiler+ r+ r, �push_sourceJ s
zshlex.push_sourcec C sD | j j� | jj� \| _| _ | _| jr:td| j | jf � d| _d S )Nzshlex: popping to %s, line %dr ) r �closer! �popleftr r r r. r )r) r+ r+ r, �
pop_sourceX s
zshlex.pop_sourcec C s� | j r.| j j� }| jdkr*tdt|� � |S | j� }| jd k r~x<|| jkr|| j| j� �}|rr|\}}| j||� | j � }qBW x*|| j
kr�| js�| j
S | j� | j � }q�W | jdkr�|| j
kr�tdt|� � ntd� |S )Nr zshlex: popping token z
shlex: token=zshlex: token=EOF)
r r7 r r. r/ �
read_tokenr"