Your IP : 3.23.103.140


Current Path : /lib64/python2.7/
Upload File :
Current File : //lib64/python2.7/sre_compile.pyc

�
�mec@s~dZddlZddlZddlZddlTddlmZejeks_td��ejdkrwdZ	ndZ	d	�Z
eee
g�Zeeeeg�Zeeeg�Zeeeg�Zd
�Zdd�Zd�Zd
�Zd�Zd�Zd�Z ye!Wn e"k
r=e#d�fZ$nXe#d�e#e!d��fZ$d�Z%d�Z&dd�Z'dS(sInternal support module for srei����N(t*(t	MAXREPEATsSRE module mismatchii��l��cCs|S(N((tx((s#/usr/lib64/python2.7/sre_compile.pyt_identityfunctionscCs�|j}t}t}t}t}t}x�|D]�\}	}
|	|kr�|t@r{|tt|	�|t	j
|
|��q�|t|	�||
�q.|	tkr!|t@r�|tt|	�|d�}n|t|	�t}||�}|d�t
|
|||�||�|||<q.|	tkrY|t@rH|tt�q�|tt�q.|	|kr5|t@r�td�|tt�||�}|d�||
d�||
d�t||
d|�|tt�||�|||<q�t|
�r�|	tk	r�|	tkr&|tt�n|tt�||�}|d�||
d�||
d�t||
d|�|tt�||�|||<q�|tt�||�}|d�||
d�||
d�t||
d|�||�|||<|	tkr$|tt�q�|tt�q.|	tkr�|
drr|tt�||
ddd�nt||
d|�|
dr�|tt�||
dddd�q�q.|	|kr�|t|	�q.|	|kr�|t|	�||�}|d�|
ddkr(|d�n8|
dj�\}
}|
|krVtd�n||
�t||
d|�|tt�||�|||<q.|	tkr�|t|	�||�}|d�t||
|�|tt�||�|||<q.|	t kr�|t|	�|t!@r7t"j#|
|
�}
n|t$@rVt%j#|
|
�}
n|t&@rut'j#|
|
�}
n|t(|
�q.|	t)krX|t|	�g}|j}xt|
dD]h}
||�}|d�t||
|�|tt*�|||��|d�||�|||<q�W|d�x�|D]}||�|||<q7Wq.|	t+kr�|t|	�|t$@r�t,|
}
n|t&@r�t-|
}
n|t.|
�q.|	t/kr�|t@r�|tt|	�n|t|	�||
d�q.|	t0kr�|t|	�||
dd�||�}|d�t||
d|�|
dr�|tt*�||�}|d�||�|d||<t||
d|�||�|||<q�||�|d||<q.t1d|	f�q.WdS(NcSstj||�S(N(t_sretgetlower(tliteraltflags((s#/usr/lib64/python2.7/sre_compile.pytfixup4sis'internal: unsupported template operatoriis(look-behind requires fixed-width patternsunsupported operand type(2tappendtlent_LITERAL_CODESt_REPEATING_CODESt_SUCCESS_CODESt
_ASSERT_CODEStSRE_FLAG_IGNORECASEtOPCODESt	OP_IGNORERRtINRt_compile_charsettANYtSRE_FLAG_DOTALLtANY_ALLtSRE_FLAG_TEMPLATEterrortREPEATt_compiletSUCCESSt_simplet
MAX_REPEATt
REPEAT_ONEtMIN_REPEAT_ONEt	MAX_UNTILt	MIN_UNTILt
SUBPATTERNtMARKtgetwidthtCALLtATtSRE_FLAG_MULTILINEtAT_MULTILINEtgettSRE_FLAG_LOCALEt	AT_LOCALEtSRE_FLAG_UNICODEt
AT_UNICODEtATCODEStBRANCHtJUMPtCATEGORYt	CH_LOCALEt
CH_UNICODEtCHCODEStGROUPREFtGROUPREF_EXISTSt
ValueError(tcodetpatternRtemitt_lent
LITERAL_CODEStREPEATING_CODESt
SUCCESS_CODEStASSERT_CODEStoptavRtskiptlothittailt
tailappendtskipyestskipno((s#/usr/lib64/python2.7/sre_compile.pyR!s	





	




 






	











cCs_|j}|dkrt}nx,t||�D]\}}|t|�|tkrWq.|tkrv|||��q.|tkr�|||d��|||d��q.|tkr�|j	|�q.|t
kr�|j	|�q.|tkr@|t@r|t
t|�qI|t@r/|t
t|�qI|t
|�q.td�q.W|tt�dS(Niis"internal: unsupported set operator(R	tNoneRt_optimize_charsetRtNEGATEtLITERALtRANGEtCHARSETtextendt
BIGCHARSETR1R*R4R2R,R3RtFAILURE(tcharsetRR8RR:R@RA((s#/usr/lib64/python2.7/sre_compile.pyR�s0		


cCs/g}|j}dgd}y�x�|D]�\}}|tkrQ|||f�q&|tkrpd|||�<q&|tkr�xLt||d�||d�d�D]}d||<q�Wq&|tkr&|Sq&WWntk
r�t||�SXd}}}	g}
|
j}x_|D]W}|r@|	dkr3|}n|	d}	n|	r_|||	f�d}	n|d}qW|	r�|||	f�nt|
�dkrxQ|
D]I\}}	|	dkr�|t|f�q�|t|||	dff�q�Wt|�t|�kr+|Sn t	|�}
|t
|
f�|S|S(Niiii(R	RKRLRMtrangeR1t
IndexErrort_optimize_unicodeR
t
_mk_bitmapRN(RRRtoutt	outappendtcharmapR@RAtitptntrunst
runsappendtctdata((s#/usr/lib64/python2.7/sre_compile.pyRJ�sR	
.
	
	
	"cCs�g}|j}tjdkr'd}nd}|\}}xP|D]H}|rY||}n||}|tkr@||�|\}}q@q@W|S(Niiill(ii(ll(R	RtCODESIZEtMAXCODE(tbitsR`t
dataappendtstarttmtvR_((s#/usr/lib64/python2.7/sre_compile.pyRVs		



cCsfyddl}Wntk
r$|SXdgd}d}y�x�|D]�\}}|tkrcd}qB|tkr�d|||�<qB|tkr�xLt||d�||d�d�D]}d||<q�WqB|tkrB|SqBWWntk
r�|SX|r9tj	dkr|Sx&td�D]}||||<qWni}dgd}	d}
g}xxtd�D]j}t
||d|dd!�}|j||
�}
|
|	|<|
|
kre|
d}
|t|�}qeqeW|
g}t
jdkr�d}nd	}|jd
|	�j�}	|j||	�}	|	jt
jks<t�||	j�}||dd+t|fgS(Ni����iiii��iitHtItb(tarraytImportErrorRKRLRMtxrangeR1RTtsyst
maxunicodettuplet
setdefaultRVRRattostringtitemsizetAssertionErrorttolistRP(RRRRkRYtnegateR@RARZtcompstmappingtblockR`tchunktnewtheaderR8((s#/usr/lib64/python2.7/sre_compile.pyRU.sZ

	.



		
cCsH|dj�\}}||ko-dknoG|dddtkS(Niii(R$R"(RARCRD((s#/usr/lib64/python2.7/sre_compile.pyRcsc
Csi|j�\}}|dkr"dSg}|j}d}g}|j}	|t@sfx�|jD]�\}
}|
tkr�t|�|kr�|d}n||�qZ|
tkr�t|d�dkr�|dd\}
}|
tkr�||�q�PqZPqZW|rf|jrf|jd\}
}|
tkr�|dr�|dd\}
}|
tkrb|	|
|f�q`|
tkr`g}|j}
xU|dD]@}|s�Pn|d\}
}|
tkr�|
|
|f�q�Pq�W|}q`qc|
tkrKg}|j}
xj|dD]@}|sPn|d\}
}|
tkr=|
|
|f�q�Pq�W|}qc|
tkrc|}qcqfn|j}|t	t
�t|�}|d�d}|r�t}t|�|ko�t|j�knr�|t}q�n|r�|t
}n||�|tkr||�n|t�|t }|tkrC||�n
|d�|r8|t|��||�|j|�dgdgt|�}x�tt|��D]y}||d||d<xZ||ddkr|||||ddkr|||ddd||d<q�Wq�W|j|d�n|rQt|||�nt|�|||<dS(Niii����(R$R	RR`RLR
R"R/RRtINFOtSRE_INFO_PREFIXtSRE_INFO_LITERALtSRE_INFO_CHARSETRbRORmR(R8R9RRCRDtprefixtprefixappendtprefix_skipRRt
charsetappendR@RAR_tcappendR[R:RBtmaskttableRZ((s#/usr/lib64/python2.7/sre_compile.pyt
_compile_infohs�		


"
				
+








7*tcCs(x!tD]}t||�rdSqWdS(Nii(tSTRING_TYPESt
isinstance(tobjttp((s#/usr/lib64/python2.7/sre_compile.pytisstring�s
cCsN|jj|B}g}t|||�t||j|�|jtt�|S(N(R9RR�RR`R	RR(R[RR8((s#/usr/lib64/python2.7/sre_compile.pyt_code�sicCs�t|�r'|}tj||�}nd}t||�}|jjdkr]td��n|jj}dg|jj}x$|j	�D]\}}|||<q�Wt
j|||jjB||jjd||�S(Nids6sorry, but this version only supports 100 named groupsi(
R�t	sre_parsetparseRIR�R9tgroupsRtt	groupdicttitemsRtcompileR(R[RR9R8t
groupindext
indexgrouptkRZ((s#/usr/lib64/python2.7/sre_compile.pyR��s 
((t__doc__RRnR�t
sre_constantsRtMAGICRtRaRbRtsetRLtNOT_LITERALRRt
MIN_REPEATRRRRQR
tASSERTt
ASSERT_NOTRRRIRRJRVRURR�tunicodet	NameErrorttypeR�R�R�R�(((s#/usr/lib64/python2.7/sre_compile.pyt<module>s8
			�	3	+	5		j