Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/
Upload File :
Current File : //usr/lib/python2.7/sre_compile.pyc


|_c@sndZddlZddlZddlZddlTejeksOtdejdkrgdZndZdZ	e
eegZ
e
eeegZe
eegZe
eegZd	Zdd
ZdZdZd
ZdZdZye Wn e!k
r-e"dfZ#nXe"de"e dfZ#dZ$dZ%ddZ&dS(sInternal support module for sreiN(t*sSRE module mismatchiilcCs|S(N((tx((s!/usr/lib/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}||}|dt
|
||||||||<q.|	tkrY|t@rH|ttq|ttq.|	|kr5|t@rtd|tt||}|d||
d||
dt||
d||tt|||||<qt|
r|	tk	r|	tkr&|ttn|tt||}|d||
d||
dt||
d||tt|||||<q|tt||}|d||
d||
dt||
d||||||<|	tkr$|ttq|ttq.|	tkr|
drr|tt||
dddnt||
d||
dr|tt||
ddddqq.|	|kr|t|	q.|	|kr|t|	||}|d|
ddkr(|dn8|
dj\}
}|
|krVtdn||
t||
d||tt|||||<q.|	tkr|t|	||}|dt||
||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}
||}|dt||
||tt*||||d|||||<qW|dx|D]}|||||<q7Wq.|	t+kr|t|	|t$@rt,|
}
n|t&@rt-|
}
n|t.|
q.|	t/kr|t@r|tt|	n|t|	||
dq.|	t0kr|t|	||
dd||}|dt||
d||
dr|tt*||}|d|||d||<t||
d||||||<q|||d||<q.t1d|	fq.WdS(NcSstj||S(N(t_sretgetlower(tliteraltflags((s!/usr/lib/python2.7/sre_compile.pytfixup3sis'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/lib/python2.7/sre_compile.pyR s	





	




 






	











cCs_|j}|dkrt}nx,t||D]\}}|t||tkrWq.|tkrv|||q.|tkr|||d|||dq.|tkr|j	|q.|t
kr|j	|q.|tkr@|t@r|t
t|qI|t@r/|t
t|qI|t
|q.tdq.W|ttdS(Niis"internal: unsupported set operator(RtNoneRt_optimize_charsetRtNEGATEtLITERALtRANGEtCHARSETtextendt
BIGCHARSETR0R)R3R1R+R2RtFAILURE(tcharsetRR7RR9R?R@((s!/usr/lib/python2.7/sre_compile.pyRs0		


cCs/g}|j}dgd}yx|D]\}}|tkrQ|||fq&|tkrpd|||<q&|tkrxLt||d||ddD]}d||<qWq&|tkr&|Sq&WWntk
rt||SXd}}}	g}
|
j}x_|D]W}|r@|	dkr3|}n|	d}	n|	r_|||	fd}	n|d}qW|	r|||	fnt|
dkrxQ|
D]I\}}	|	dkr|t|fq|t|||	dffqWt|t|kr+|Sn t	|}
|t
|
f|S|S(Niiii(RRJRKRLtrangeR0t
IndexErrort_optimize_unicodeR	t
_mk_bitmapRM(RQRtoutt	outappendtcharmapR?R@titptntrunst
runsappendtctdata((s!/usr/lib/python2.7/sre_compile.pyRIsR	
.
	
	
	"cCsg}|j}tjdkr'd}nd}|\}}xP|D]H}|rY||}n||}|tkr@|||\}}q@q@W|S(Niiill(ii(ll(RRtCODESIZEtMAXCODE(tbitsR_t
dataappendtstarttmtvR^((s!/usr/lib/python2.7/sre_compile.pyRUs		



cCsfyddl}Wntk
r$|SXdgd}d}yx|D]\}}|tkrcd}qB|tkrd|||<qB|tkrxLt||d||ddD]}d||<qWqB|tkrB|SqBWWntk
r|SX|r9tj	dkr|Sx&tdD]}||||<qWni}dgd}	d}
g}xxtdD]j}t
||d|dd!}|j||
}
|
|	|<|
|
kre|
d}
|t|}qeqeW|
g}t
jdkrd}nd	}|jd
|	j}	|j||	}	|	jt
jks<t||	j}||dd+t|fgS(NiiiiiiitHtItb(tarraytImportErrorRJRKRLtxrangeR0RStsyst
maxunicodettuplet
setdefaultRURR`ttostringtitemsizetAssertionErrorttolistRO(RQRRjRXtnegateR?R@RYtcompstmappingtblockR_tchunktnewtheaderR7((s!/usr/lib/python2.7/sre_compile.pyRT-sZ

	.



		
cCsl|dj\}}|dkr:|tkr:tdn||koQdknok|dddtkS(Niisnothing to repeati(R#t	MAXREPEATRR!(R@RBRC((s!/usr/lib/python2.7/sre_compile.pyRbsc
Csi|j\}}|dkr"dSg}|j}d}g}|j}	|t@sfx|jD]\}
}|
tkrt||kr|d}n||qZ|
tkrt|ddkr|dd\}
}|
tkr||qPqZPqZW|rf|jrf|jd\}
}|
tkr|dr|dd\}
}|
tkrb|	|
|fq`|
tkr`g}|j}
xU|dD]@}|sPn|d\}
}|
tkr|
|
|fqPqW|}q`qc|
tkrKg}|j}
xj|dD]@}|sPn|d\}
}|
tkr=|
|
|fqPqW|}qc|
tkrc|}qcqfn|j}|t	t
t|}|dd}|rt}t||kot|jknr|t}qn|r|t
}n|||tkr||n|t|t }|tkrC||n
|d|r8|t||||j|dgdgt|}xtt|D]y}||d||d<xZ||ddkr|||||ddkr|||ddd||d<qWqW|j|dn|rQt|||nt||||<dS(Niii(R#RRR_RKR	R!R.RRtINFOtSRE_INFO_PREFIXtSRE_INFO_LITERALtSRE_INFO_CHARSETRaRNRlR(R7R8RRBRCtprefixtprefixappendtprefix_skipRQt
charsetappendR?R@R^tcappendRZR9RAtmaskttableRY((s!/usr/lib/python2.7/sre_compile.pyt
_compile_infois		


"
				
+








7*tcCs(x!tD]}t||rdSqWdS(Nii(tSTRING_TYPESt
isinstance(tobjttp((s!/usr/lib/python2.7/sre_compile.pytisstrings
cCsN|jj|B}g}t|||t||j||jtt|S(N(R8RRRR_RRR(RZRR7((s!/usr/lib/python2.7/sre_compile.pyt_codesicCst|r'|}tj||}nd}t||}|jjdkr]tdn|jj}dg|jj}x$|j	D]\}}|||<qWt
j|||jjB||jjd||S(Nids6sorry, but this version only supports 100 named groupsi(
Rt	sre_parsetparseRHRR8tgroupsRst	groupdicttitemsRtcompileR(RZRR8R7t
groupindext
indexgrouptkRY((s!/usr/lib/python2.7/sre_compile.pyRs 
('t__doc__RRmRt
sre_constantstMAGICRsR`RaRtsetRKtNOT_LITERALR
Rt
MIN_REPEATRRRRPRtASSERTt
ASSERT_NOTR
RRHRRIRURTRRtunicodet	NameErrorttypeRRRR(((s!/usr/lib/python2.7/sre_compile.pyt<module>s6
				3	+	5		j