B 1!@sddlZddlZddlTeehZeeehZ e e hZ e ehZeeehBZdZddeDZejfddZdd Zd d Zd+d d ZejdZde>dZdZeefddZddZ ddZ!ddZ"ddZ#ddZ$ddZ%dd Z&d!d"Z'd#d$Z(d%d&Z)d'd(Z*d,d)d*Z+dS)-N)*))ii1)si)i)iEii)ii)ii)ii)ii)ii)ii)ii)ii)ii)ii)iai)iics.i|]&}|D]tfdd|Dq qS)c3s|]}|kr|VqdS)N).0j)ir./opt/alt/python37/lib/python3.7/sre_compile.py >sz.)tuple)rtr)r r >srcCs ||@r||M}||B|@S)Nr)flags add_flags del_flags TYPE_FLAGSrrr _combine_flagsAs rcCs|j}t}t}t}t}t}d} d} d} |t@rd|t@sd|t@rX|t @sXt j } t j } t } n t j} t j} x|D]\} } | |kr|t@s|| || n|t@r|t| || n| | s|| || n| | }| s|t| ||n|| kr|t| ||nl|t||}|d| tkr>|tx(|f| |D]}|t||qNW|t|||||<ql| tkrt| | | | \}}|t@r|t@r|tn(|s|tn| s|tn|t||}|dt||||||||<ql| tkr:|t@r0|tn|tql| |krF|t @r\t!d| ft"| dr| t#kr~|t$n|t%||}|d|| d|| dt&|| d||t'|||||<nl|t(||}|d|| d|| dt&|| d||||||<| t#kr<|t)n|t*ql| t+kr| \}}}}|rz|t,||ddt&||t-||||r |t,||dddql| |kr|| ql| |krT|| ||}|d| ddkr|dn*| d.\}}||kr"t!d||t&|| d||t'|||||<ql| t/kr|| ||}|dt&|| ||t'|||||<ql| t0kr|| |t1@rt23| | } |t@rt43| | } n |t@r|t @st53| | } || ql| t6kr|| g}|j}xZ| dD]N} ||}|dt&|| ||t7||||d|||||<q,W|tx|D]}|||||<qWql| t8kr|| |t@rt9| } n|t@r|t @st:| } || ql| t;krL|t@s|| n,|t@r&|t<n| s6|t=n|t>|| dql| t?kr|| || dd||}|dt&|| d|| dr|t7||}|d|||d||<t&|| d||||||<n|||d||<qlt!d| fqlWdS)Nrz*internal: unsupported template operator %rz(look-behind requires fixed-width patternz%internal: unsupported operand type %r)@appendlen_LITERAL_CODES_REPEATING_CODES_SUCCESS_CODES _ASSERT_CODESSRE_FLAG_IGNORECASESRE_FLAG_LOCALESRE_FLAG_UNICODESRE_FLAG_ASCII_sreunicode_iscasedunicode_tolower_ignorecase_fixes ascii_iscased ascii_tolowerOP_LOCALE_IGNORE OP_IGNOREOP_UNICODE_IGNORE IN_UNI_IGNORE NOT_LITERALNEGATELITERALFAILUREIN_optimize_charset IN_LOC_IGNORE IN_IGNORE_compile_charsetANYSRE_FLAG_DOTALLANY_ALLSRE_FLAG_TEMPLATEerror_simple MAX_REPEAT REPEAT_ONEMIN_REPEAT_ONE_compileSUCCESSREPEAT MAX_UNTIL MIN_UNTIL SUBPATTERNMARKrgetwidthCALLATSRE_FLAG_MULTILINE AT_MULTILINEget AT_LOCALE AT_UNICODEBRANCHJUMPCATEGORY CH_LOCALE CH_UNICODEGROUPREFGROUPREF_LOC_IGNOREGROUPREF_IGNOREGROUPREF_UNI_IGNOREGROUPREF_EXISTS)codepatternremit_len LITERAL_CODESREPEATING_CODES SUCCESS_CODES ASSERT_CODESiscasedtolowerfixesopavloskipkcharsethascasedgrouprrphitail tailappendskipyesskipnorrr r<GsV                                                              r<cCs|j}x|D]\}}|||tkr&q |tkr8||q |tksH|tkrb||d||dq |tkrv||q |tkr||q |tkr|t @r|t |q|t @r|t @s|t |q||q td|fq W|tdS)Nrrz%internal: unsupported set operator %r)rr+r,RANGERANGE_UNI_IGNORECHARSETextend BIGCHARSETrMrrNrrrOr7r-)rerrUrWr`rarrr r2s,     r2c Csg}g}td}d}x|D]\}} xyB|tkr|r|| } d|| <|rp| |krpx|| D] } d|| <q`W|s|| rd}nd|| <n|tkrDt| d| dd} |r*|rx\t|| D].} d|| <| |krx|| D] } d|| <qWqWnxt|| D]} d|| <qW|sBtt|| }nx@| D]} d|| <q0Wn(|tkr^||| fn||| fWnXtk rt |dkr|dd7}w*|rd}|tkrt }||| fYnXPq*WqWg}d}xj| d|}|dkrPt |dkrd}P| d|}|dkr2||t |fP|||fqW|dk rxF|D]>\}}||dkr||t|fn|t||dffqVW||7}|st |t |kr||fS||fSt |dkrt |}|t |f||7}||fSt|}i}td}d}t}xftdd dD]V} || | d}||krX|||| d<n$||| d<||<|d7}||7}q(Wt |}|gt||dd<|t|f||7}||fS) NFrTriri) bytearrayr,rnrangemapanyr+r IndexErrorrrofind _mk_bitmaprpbytes_bytes_to_codesrr)rer]fixupr_outrjcharmaprfr`rarbrdrr runsqrhdatacompsmappingblockchunkrrr r/s                r/rs0111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111cs8|tdddfddttd DS)Ncs"g|]}||dqS)rr)rr ) _CODEBITS_intsrr sz_mk_bitmap..r) translate _BITS_TRANSrvr)bitsrrr)rrrr r{sr{cCst|d}|S)NI) memoryviewcasttolist)barrr r}sr}cCsDt|dkrdS|d\}}|tkr<|ddko:t|dS|tkS)NrFrr)rrAr8 _UNIT_CODES)rhr`rarrr r8s   r8cCsvdgt|}xbtdt|D]P}||d}x>||||kr`|dkrRd||<P||d}q0W|d||<qW|S)Nrr)rrv)prefixtabler idxrrr _generate_overlap_tables  rcCs,|t@s dS|t@r"|t@s"tjStjSdS)N)rrrr r!r$)rrrr _get_iscaseds rcCsg}|j}d}t|}x|jD]\}}|tkrF|r<||r} | sdS| d\}}|tkr|r||s| ||fqdSqW|S|t krb|}|r^xh|D]`\}}|tkr||rZdSq|t kr|ddkr6dSt t |t |d|ddrdSqW|SdS)Nrri)rrArrrrr,rKrr.rnrxrwrv) rVrr`rargrrr]re charsetappendrhrrr _get_charset_prefixsP         rc Csr|\}}|tkrt}|dkr8|tdd||gdSg}d}g}|t@rT|t@srt||\}}}|srt||}|j} | tt |} | dd} |rt } |dkr|r| t B} n |r| t B} | | |tkr| |n| t|dt}| t |t|r@| t ||dkrt |}| ||||t|n|r^t|\}} t|||t || || <dS)Nr)rCMAXCODErqINFOrrrrrrSRE_INFO_PREFIXSRE_INFO_LITERALSRE_INFO_CHARSETminrr/r2) rUrVrrbrirrrerrWrcmaskrfrrr _compile_infosR           rcCst|ttfS)N) isinstancestrr|)objrrr isstringSsrcCs8|jj|B}g}t|||t||j||t|S)N)rVrrr<rrr=)rhrrUrrr _codeVs    rcCsdddd|DS)Nz[%s]z, css$|]}dtjdd|fVqdS)z%#0*xrN)r CODESIZE)rxrrr r fsz_hex_code..)join)rUrrr _hex_codeesrcsNddltdtttdfdddtdS)Nrrc sddfdd }fdd}d7}xz||kr||}|d7}t|}|tttttttfkr|||q6|tt t t t t ttfkr|}|d7}||d|t|fq6|tkr|}|d7}tt|}|||ddq6|tkr.|}|d7}tt|}|||d dq6|ttttfkrv|}|||||d|d||||7}q6|ttfkr||d \}} |d 7}||d || t|t| fq6|tkr||t||d t|d t7}q6|tkr|}|d7}t d !fdd||d t"j#D} |||| |d t"j#7}d7x:t$|D].} |t||d t|d t7}qjWd8q6|t%t&t't(t)fkrֈ|}|d7}|||q6|t*kr|}|||||d|d7}q6|t+kr|}|||||dxT|r||d||||7}||}|rp|d|||dn|tq*W|d7}q6|t,t-t.fkr||d\}} } | t/krd} |||| | ||d|d||||7}q6|t0kr*||d \}}||||||d|d 7}q6|t1t2fkr|||d \}}||||||d|d ||||7}q6|t3kr||d\}}} } | t/krd} |||t4|| | ||d|d|t5@rj|d|d\}}|d||d|}|ddd!dd|Ddd!t6t||7|d||7|t7@rd7|d||d8||7}q6t8|q6Wd8dS)N)tocsX|dk r"||d|ff7}tdkr6dndfdddt|dS)Nz(to %d)z%*d%s :.z r)end)addprint)rargs)labelslevel offset_widthstartrr print_ps  z!dis..dis_..print_cs"tdddt|dS)N r)r)r)r)rrrr print_2xsz"dis..dis_..print_2rz %#02x (%r) rz%#02x %#02x (%r-%r)rsc3s|]}|tjjVqdS)N)to_bytesr r byteorder)rr)sysrr r sz$dis..dis_..branch MAXREPEATrz prefix_skipz prefixz[%s]z, css|]}d|VqdS)z%#02xNr)rrrrr r sz(%r)z overlapin)9OPCODESr=r-r3r5r?r@r+r,r*LITERAL_IGNORENOT_LITERAL_IGNORELITERAL_UNI_IGNORENOT_LITERAL_UNI_IGNORELITERAL_LOC_IGNORENOT_LITERAL_LOC_IGNOREchrrErATCODESrMCHCODESr.r1r)r0rnrorprrrrlistrr rrvrBrPrRrSrQrLrKr>r:r;rrTASSERT ASSERT_NOTrbinrrwr ValueError)rrrrr r`argrcrbrirrrmaxr prefix_lenrr)rUdis_rrrr)rr ros                                zdis..dis_)rsetrr)rUr)rUrrrrrr dishsrc Cst|r|}t||}nd}t||}|t@r>tt||jj}dg|jj }x| D]\}}|||<q^Wt |||jj B||jj d|t|S)Nr)r sre_parseparserSRE_FLAG_DEBUGrrrV groupdictgroupsitemsr compilerr )rhrrVrU groupindex indexgrouprdr rrr rs    r)NNN)r),r r sre_constantsr,r*rr> MIN_REPEATr9rr=r-rrrrr3r.r _equivalencesr#rrr<r2r/rrrrintr{r}r8rrrrrrrrrrrrrr  sB  "3    ,;