grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B ƒ¸±1Â�!ã@s$dZddlZddlZddlTejeks.tdƒ‚eehZe e e hZ e ehZeehZeeehBZdZdd„eDƒZejfdd „Zd d „Zd d „Zd-dd„ZejdZde>dZdZ ee!fdd„Z"dd„Z#dd„Z$dd„Z%dd„Z&dd„Z'dd „Z(d!d"„Z)d#d$„Z*d%d&„Z+d'd(„Z,d)d*„Z-d.d+d,„Z.dS)/zInternal support module for sreéN)Ú*zSRE module mismatch))éii1)ési)éµi¼)iEi¹i¾)i�iÓ)i°iã)i²iÐ)iµiõ)i¸iÑ)iºið)iÀiÖ)iÁiñ)iÂiÃ)iÆiÕ)iai›)iûiûcs.i|]&}|D]‰t‡fdd„|Dƒƒˆ“q qS)c3s|]}ˆ|kr|VqdS)N©)Ú.0Új)Úirú0/opt/alt/python37/lib64/python3.7/sre_compile.pyú >sz.)Útuple)rÚtr)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�]œ\} } | |k�r‚|t@sš|| ƒ|| ƒnæ|t@r¸|t| ƒ|| ƒnÈ| | ƒsÒ|| ƒ|| ƒn®| | ƒ}| sô|t| ƒ||ƒnŒ|| k�r|t| ƒ||ƒnl|tƒ||ƒ}|dƒ| tk�r>|tƒx(|f| |D]}|tƒ||ƒ�qNW|tƒ||ƒ|||<ql| tk�rt| | | | ƒ\}}|t@�r¼|t@�r¼|tƒn(|�sÌ|tƒn| �sÜ|tƒn|tƒ||ƒ}|dƒt|||ƒ||ƒ|||<ql| tk�r:|t@�r0|tƒn|tƒql| |k�rF|t @�r\t!d| fƒ‚t"| dƒ�rØ| t#k�r~|t$ƒn|t%ƒ||ƒ}|dƒ|| dƒ|| dƒt&|| d|ƒ|t'ƒ||ƒ|||<nl|t(ƒ||ƒ}|dƒ|| dƒ|| dƒt&|| d|ƒ||ƒ|||<| t#k�r<|t)ƒn|t*ƒql| t+k�r²| \}}}}|�rz|t,ƒ||ddƒt&||t-|||ƒƒ|�r |t,ƒ||dddƒql| |k�rÆ|| ƒql| |k�rT|| ƒ||ƒ}|dƒ| ddk�r|dƒn*| d .¡\}}||k�r"t!dƒ‚||ƒt&|| d|ƒ|t'ƒ||ƒ|||<ql| t/k�rœ|| ƒ||ƒ}|dƒt&|| |ƒ|t'ƒ||ƒ|||<ql| t0k�r|| ƒ|t1@�rÄt2 3| | ¡} |t@�rÜt4 3| | ¡} n |t@�rü|t @�süt5 3| | ¡} || ƒql| t6k�r¨|| ƒg}|j}xZ| dD]N} ||ƒ}|dƒt&|| |ƒ|t7ƒ|||ƒƒ|dƒ||ƒ|||<�q,W|tƒx|D]}||ƒ|||<�qŒWql| t8k�rô|| ƒ|t@�rÎt9| } n|t@�rê|t @�sêt:| } || ƒql| t;k�rL|t@�s|| ƒn,|t@�r&|t<ƒn| �s6|t=ƒn|t>ƒ|| dƒql| t?k�rü|| ƒ|| ddƒ||ƒ}|dƒt&|| d|ƒ| d�ræ|t7ƒ||ƒ}|dƒ||ƒ|d||<t&|| d|ƒ||ƒ|||<n||ƒ|d||<qlt!d| fƒ‚qlWdS)Nrz*internal: unsupported template operator %rééz(look-behind requires fixed-width patternz%internal: unsupported operand type %r)@ÚappendÚlenÚ_LITERAL_CODESÚ_REPEATING_CODESÚ_SUCCESS_CODESÚ _ASSERT_CODESÚSRE_FLAG_IGNORECASEÚSRE_FLAG_LOCALEÚSRE_FLAG_UNICODEÚSRE_FLAG_ASCIIÚ_sreÚunicode_iscasedÚunicode_tolowerÚ_ignorecase_fixesÚ ascii_iscasedÚ ascii_tolowerÚOP_LOCALE_IGNOREÚ OP_IGNOREÚOP_UNICODE_IGNOREÚ IN_UNI_IGNOREÚ NOT_LITERALÚNEGATEÚLITERALÚFAILUREÚINÚ_optimize_charsetÚ IN_LOC_IGNOREÚ IN_IGNOREÚ_compile_charsetÚANYÚSRE_FLAG_DOTALLÚANY_ALLÚSRE_FLAG_TEMPLATEÚerrorÚ_simpleÚ MAX_REPEATÚ REPEAT_ONEÚMIN_REPEAT_ONEÚ_compileÚSUCCESSÚREPEATÚ MAX_UNTILÚ MIN_UNTILÚ SUBPATTERNÚMARKrÚgetwidthÚCALLÚATÚSRE_FLAG_MULTILINEÚ AT_MULTILINEÚgetÚ AT_LOCALEÚ AT_UNICODEÚBRANCHÚJUMPÚCATEGORYÚ CH_LOCALEÚ CH_UNICODEÚGROUPREFÚGROUPREF_LOC_IGNOREÚGROUPREF_IGNOREÚGROUPREF_UNI_IGNOREÚGROUPREF_EXISTS)ÚcodeÚpatternrÚemitÚ_lenÚ LITERAL_CODESÚREPEATING_CODESÚ SUCCESS_CODESÚ ASSERT_CODESÚiscasedÚtolowerÚfixesÚopÚavÚloÚskipÚkÚcharsetÚhascasedÚgrouprrÚpÚhiÚtailÚ tailappendÚskipyesÚskipnorrr r<GsV                                                              r<cCsî|j}xÚ|D]Ò\}}||ƒ|tkr&q |tkr8||ƒq |tksH|tkrb||dƒ||dƒq |tkrv| |¡q |tkrŠ| |¡q |tkrÐ|t @r¨|t |ƒqÞ|t @rÆ|t @sÆ|t |ƒqÞ||ƒq td|fƒ‚q W|tƒdS)Nrrz%internal: unsupported set operator %r)rr+r,ÚRANGEÚRANGE_UNI_IGNOREÚCHARSETÚextendÚ BIGCHARSETrMrrNrrrOr7r-)rerrUrWr`rarrr r2ùs,     r2c Cs¾g}g}tdƒ}d}�xº|D�]°\}} �x¤�yB|tkrŒ|r‚|| ƒ} d|| <|rp| |krpx|| D] } d|| <q`W|sŠ|| ƒrŠd}nd|| <nà|tk�rDt| d| ddƒ} |�r*|röx\t|| ƒD].} d|| <| |krÂx|| D] } d|| <qàWqÂWnxt|| ƒD]} d|| <�qW|�sBtt|| ƒƒ}nx@| D]} d|| <�q0Wn(|tk�r^| || f¡n| || f¡WnXtk �rÆt |ƒdk�rœ|dd7}w*|�r´d}|tk�r´t }| || f¡YnXPq*WqWg}d}xj|  d|¡}|dk�rôPt |ƒdk�rd}P|  d|¡}|dk�r2| |t |ƒf¡P| ||f¡�qÜW|dk �rÈxF|D]>\}}||dk�r|| t|f¡n| t||dff¡�qVW||7}|�s¸t |ƒt |ƒk�rÀ||fS||fSt |ƒdk�rüt |ƒ}| t |f¡||7}||fSt|ƒ}i}tdƒ}d}tƒ}xftdd dƒD]V} || | d…}||k�rX|||| d<n$||| d<||<|d7}||7}�q(Wt |ƒ}|gt|ƒ|dd…<| t|f¡||7}||fS) NéFrTróiÿri)Ú bytearrayr,rnÚrangeÚmapÚanyr+rÚ IndexErrorrroÚfindÚ _mk_bitmaprpÚbytesÚ_bytes_to_codesrr)rer]Úfixupr_ÚoutrjÚcharmaprfr`rarbrdÚrr ÚrunsÚqrhÚdataÚcompsÚmappingÚblockÚchunkrrr r/s´                r/érs0111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111cs8| t¡ddd…‰‡‡‡fdd„ttˆƒdˆ ƒDƒS)Néÿÿÿÿcs"g|]}ˆˆ|ˆ|…dƒ‘qS)rr)rr )Ú _CODEBITSÚ_intÚsrr ú �sz_mk_bitmap..r)Ú translateÚ _BITS_TRANSrvr)Úbitsr‹rŒr)r‹rŒr�r r{›sr{cCs@t|ƒ d¡}|jtjkst‚t|ƒ|jt|ƒks8t‚| ¡S)NÚI)Ú memoryviewÚcastÚitemsizer ÚCODESIZEÚAssertionErrorrÚtolist)ÚbÚarrr r} sr}cCsDt|ƒdkrdS|d\}}|tkr<|ddko:t|dƒS|tkS)NrFrrŠ)rrAr8Ú _UNIT_CODES)rhr`rarrr r8§s   r8cCsvdgt|ƒ}xbtdt|ƒƒD]P}||d}x>||||kr`|dkrRd||<P||d}q0W|d||<qW|S)aj Generate an overlap table for the following prefix. An overlap table is a table of the same size as the prefix which informs about the potential self-overlap for each index in the prefix: - if overlap[i] == 0, prefix[i:] can't overlap prefix[0:...] - if overlap[i] == k with 0 < k <= i, prefix[i-k+1:i+1] overlaps with prefix[0:k] rr)rrv)ÚprefixÚtabler Úidxrrr Ú_generate_overlap_table°s  rŸcCs,|t@s dS|t@r"|t@s"tjStjSdS)N)rrrr r!r$)rrrr Ú _get_iscasedÅs r cCsâg}|j}d}t|ƒ}xÀ|jD]¬\}}|tkrF|r<||ƒr} | s¦dS| d\}}|tkrÔ|rÆ||ƒsÔ| ||fƒqšdSqšW|S|t k�rb|}|�r^xh|D]`\}}|tk�r||ƒ�rZdSqú|t krú|ddk�r6dSt t |t |d|ddƒƒƒrúdSqúW|SdS)Nrriÿÿ)r„rArrrr r,rKrr.rnrxrwrv) rVrr`rargrrr]reÚ charsetappendrhrrr Ú_get_charset_prefixìsP         r©c Cs|| ¡\}}|tkrt}|dkr8| tdd||g¡dSg}d}g}|t@rT|t@srt||ƒ\}}}|srt||ƒ}|j} | tƒt |ƒ} | dƒd} |r²t } |dkr¾|r¾| t B} n |r¾| t B} | | ƒ|tkrØ| |ƒn| tƒ|dt…}| t |tƒƒ|�r@| t |ƒƒ|dk�rt |ƒ}| |ƒ| |¡| t|ƒ¡n(|�rht|ƒ\}} | �r\t‚t|||ƒt |ƒ| || <dS)Nré)rCÚMAXCODErqÚINFOrrr¡r©rrÚSRE_INFO_PREFIXÚSRE_INFO_LITERALÚSRE_INFO_CHARSETÚminrŸr/r—r2) rUrVrrbrirœr£rer§rWrcÚmaskrfrrr Ú _compile_infosT            r²cCst|ttfƒS)N)Ú isinstanceÚstrr|)Úobjrrr ÚisstringSsr¶cCs8|jj|B}g}t|||ƒt||j|ƒ| t¡|S)N)rVrr²r<r„rr=)rhrrUrrr Ú_codeVs    r·cCsdd dd„|Dƒ¡S)Nz[%s]z, css$|]}dtjdd|fVqdS)z%#0*xrN)r r–)rÚxrrr r fsz_hex_code..)Újoin)rUrrr Ú _hex_codeesrºcsNddl‰tƒ‰d‰tttˆƒdƒƒ‰‡‡‡‡‡‡fdd„‰ˆdtˆƒƒdS)Nrrc sèddœ‡‡‡‡fdd„ }‡‡fdd„}ˆd7‰ˆ}�x¦||k�rÚ|‰ˆ|}|d7}t|}|tttttttfkr|||ƒq6|tt t t t t ttfkr¼ˆ|}|d7}||d|t|ƒfƒq6|tk�r ˆ|}|d7}tt|ƒ}|dd…d ksöt‚|||dd…ƒq6|tk�rZˆ|}|d7}tt|ƒ}|dd …d k�sFt‚|||d d…ƒq6|ttttfk�r¢ˆ|}|||||d�ˆ|d||ƒ||7}q6|ttfk�rìˆ||d …\}} |d 7}||d || t|ƒt| ƒfƒq6|tk�r"||tˆ||dt…ƒƒ|dt7}q6|t k�rÒˆ|}|d7}t!d "‡fdd„ˆ||dt#j$…Dƒ¡ƒ} |||| ƒ|dt#j$7}ˆd7‰x:t%|ƒD].} |tˆ||dt…ƒƒ|dt7}�q–Wˆd8‰q6|t&t't(t)t*fk�rˆ|}|d7}|||ƒq6|t+k�r0ˆ|}|||||d�|d7}q6|t,k�r´ˆ|}|||||d�xT|�r¨ˆ|d||ƒ||7}|‰ˆ|}|�rœ|d|||d�n|tƒ�qVW|d7}q6|t-t.t/fk�rˆ||d…\}} } | t0k�rèd} |||| | ||d�ˆ|d||ƒ||7}q6|t1k�rVˆ||d …\}}||||||d�|d 7}q6|t2t3fk�r¨ˆ||d …\}}||||||d�ˆ|d ||ƒ||7}q6|t4k�rЈ||d…\}}} } | t0k�rØd} |||t5|ƒ| | ||d�|d‰|t6@�r–ˆ|d|d…\}}|d|ƒ|d‰ˆˆˆ|…}|ddd "dd„|Dƒ¡dd "t7t|ƒ¡ƒˆ|7‰|dˆˆˆ|…ƒˆ|7‰|t8@�rƈd7‰|dƒˆˆ||ƒˆd8‰||7}q6t9|ƒ‚q6Wˆd8‰dS)N)ÚtocsX|dk r"ˆ |¡|d|ff7}tdˆˆˆˆkr6dndfdˆdd�t|ŽdS)Nz(to %d)z%*d%s ú:Ú.z r)Úend)ÚaddÚprint)r»Úargs)ÚlabelsÚlevelÚ offset_widthÚstartrr Úprint_ps  z!dis..dis_..print_cs"tdˆdˆd�t|ŽdS)Nú r)r¾)rÀ)rÁ)rÃrÄrr Úprint_2xsz"dis..dis_..print_2rz %#02x (%r)éZAT_é Z CATEGORY_rz%#02x %#02x (%r-%r)rsóc3s|]}| tjˆj¡VqdS)N)Úto_bytesr r–Ú byteorder)rr¸)Úsysrr r ©sz$dis..dis_..ÚbranchÚ MAXREPEATrªéz prefix_skipz prefixz[%s]z, css|]}d|VqdS)z%#02xNr)rr¸rrr r äsz(%r)Úz overlapÚin):ÚOPCODESr=r-r3r5r?r@r+r,r*ÚLITERAL_IGNOREÚNOT_LITERAL_IGNOREÚLITERAL_UNI_IGNOREÚNOT_LITERAL_UNI_IGNOREÚLITERAL_LOC_IGNOREÚNOT_LITERAL_LOC_IGNOREÚchrrEr´ÚATCODESr—rMÚCHCODESr.r1r)r0rnrorprºr‹rrÚlistr¹r r–rvrBrPrRrSrQrLrKr>r:r;rÐrTÚASSERTÚ ASSERT_NOTr¬Úbinr­rwr¯Ú ValueError)rÅr¾rÆrÈr r`Úargrcrbrir†rr°ÚmaxrÚ prefix_lenr£rœ)rUÚdis_rÂrÃrÄrÎ)rÅr ræosê                                 zdis..dis_)rÎÚsetrr´)rUr)rUrærÂrÃrÄrÎr Údishsrèc Csšt|ƒr|}t ||¡}nd}t||ƒ}|t@r>tƒt|ƒ|jj}dg|jj }x|  ¡D]\}}|||<q^Wt   |||jj B||jj d|t|ƒ¡S)Nr)r¶Ú sre_parseÚparser·ÚSRE_FLAG_DEBUGrÀrèrVÚ groupdictÚgroupsÚitemsr Úcompilerr )rhrrVrUÚ groupindexÚ indexgrouprdr rrr rï÷s    rï)NNN)r)/Ú__doc__r réÚ sre_constantsÚMAGICr—r,r*rr>Ú MIN_REPEATr9rr=r-rrßràrr3r.r›Ú _equivalencesr#rrr<r2r/r–r‹r«r�Úintr{r}r8rŸr r¡r©r²r¶r·rºrèrïrrrr Ú sF  "3    ,;