grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|jEmã@s$dZddlZddlZddlTejeksJdƒ‚eehZee e hZ e e hZeehZeeehBZdZdd„eDƒZejfdd „Zd d „Zd d „Zd-dd„ZejdZde>dZdZee 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Õ)i2i€)i4i�)i>i‚)iAiƒ)iBi„i…)iJi†)ici‡)iˆiK¦)iai›)iûiûcs.i|]}|D]‰ˆt‡fdd„|Dƒƒ“qqS)c3s�|] }ˆ|kr|VqdS©N©)Ú.0Új©Úirú2/opt/alt/python310/lib64/python3.10/sre_compile.pyÚ Ns€z.)Útuple)rÚtrr r Ú Ns ÿÿrcCs ||@r ||M}||B|@Srr)ÚflagsÚ add_flagsÚ del_flagsÚ TYPE_FLAGSrrr Ú_combine_flagsQs rcCsÐ|j}t}t}t}t}t}d} d} d} |t@r.|t@s.|t@r(t j } t j } t } nt j } t j} |D�]4\} } | |vrµ|t@sF|| ƒ|| ƒq0|t@rU|t| ƒ|| ƒq0| | ƒsb|| ƒ|| ƒq0| | ƒ}| ss|t| ƒ||ƒq0|| vr‚|t| ƒ||ƒq0|tƒ||ƒ}|dƒ| tur–|tƒ|f| |D] }|tƒ||ƒq�|tƒ||ƒ|||<q0| turøt| | | | ƒ\}}|t@rÏ|t@rÏ|tƒn|sÖ|tƒn | sÝ|tƒn|tƒ||ƒ}|dƒt|||ƒ||ƒ|||<q0| tu�r |t@�r|tƒq0|tƒq0| |v�r’|t@�rt d| fƒ‚t!| dƒ�r[| t"u�r.|t#ƒn|t$ƒ||ƒ}|dƒ|| dƒ|| dƒt%|| d|ƒ|t&ƒ||ƒ|||<q0|t'ƒ||ƒ}|dƒ|| dƒ|| dƒt%|| d|ƒ||ƒ|||<| t"u�r�|t(ƒq0|t)ƒq0| t*u�rÈ| \}}}}|�r¬|t+ƒ||ddƒt%||t,|||ƒƒ|�rÇ|t+ƒ||dddƒq0| |v�rÒ|| ƒq0| |v�r|| ƒ||ƒ}|dƒ| ddk�rï|dƒn| d -¡\}}||k�rt dƒ‚||ƒt%|| d|ƒ|t&ƒ||ƒ|||<q0| t.u�r=|| ƒ||ƒ}|dƒt%|| |ƒ|t&ƒ||ƒ|||<q0| t/u�rm|| ƒ|t0@�rQt1 2| | ¡} |t@�r]t3 2| | ¡} n |t@�rht4 2| | ¡} || ƒq0| t5u�rº|| ƒg}|j}| dD]'} ||ƒ}|dƒt%|| |ƒ|t6ƒ|||ƒƒ|dƒ||ƒ|||<�q|tƒ|D] }||ƒ|||<�q­q0| t7u�rÛ|| ƒ|t@�rÍt8| } n |t@�rÖt9| } || ƒq0| t:u�r|t@�sê|| ƒn|t@�rô|t;ƒn | �sü|t<ƒn|t=ƒ|| dƒq0| t>u�r_|| ƒ|| ddƒ||ƒ}|dƒt%|| d|ƒ| d�rT|t6ƒ||ƒ}|dƒ||ƒ|d||<t%|| d|ƒ||ƒ|||<q0||ƒ|d||<q0t d| fƒ‚dS)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Ú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=WsJ                              €                 ÿ             �âr=cCsà|j}|D]d\}}||ƒ|turq|tur||ƒq|tus#|tur0||dƒ||dƒq|tur:| |¡q|turD| |¡q|turc|t @rS|t |ƒq|t @r^|t |ƒq||ƒqt d|fƒ‚|tƒdS)Nrrz%internal: unsupported set operator %r)rr,r-ÚRANGEÚRANGE_UNI_IGNOREÚCHARSETÚextendÚ BIGCHARSETrNrrOr rPr8r.)rfrrVrXrarbrrr r3 s,       r3c Csxg}g}tdƒ}d}|D]À\}} z‘|tur?|r:|| ƒ} d|| <|r1| |vr1|| D]} d|| <q*|s9|| ƒr9d}ngd|| <nb|turŽt| d| ddƒ} |r„|rnt|| ƒD]} d|| <| |vrl|| D]} d|| <qeqWn t|| ƒD]} d|| <qs|sƒtt|| ƒƒ}n| D]} d|| <q†n|turš| || f¡n| || f¡Wn(tyÊt |ƒdkr·|dd7}Yq|rÁd}|turÁt }| || f¡Ynw q g}d} |  d|¡}|dkrÝn%t |ƒdkræd}n|  d|¡}|dkrú| |t |ƒf¡n| ||f¡qÒ|du�rB|D] \}}||dk�r| t|f¡�q | t||dff¡�q ||7}|�s:t |ƒt |ƒk�r>||fS||fSt |ƒdk�r\t |ƒ}| t |f¡||7}||fSt|ƒ}i}tdƒ}d}tƒ}tdd dƒD],} || | d…}||v�rŠ|||| d<�qq||| d<||<|d7}||7}�qqt |ƒ}|gt|ƒ|dd…<| t|f¡||7}||fS) NéFTrróiÿri)Ú bytearrayr-roÚrangeÚmapÚanyr,rÚ IndexErrorrrpÚfindÚ _mk_bitmaprqÚbytesÚ_bytes_to_codesrs)rfr^Úfixupr`ÚoutrkÚcharmaprgrarbrcreÚrr ÚrunsÚqriÚdataÚcompsÚmappingÚblockÚchunkrrr r0$sÄ     €   €ü € ÿ€    ë   õ   r0érs0111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111cs8| t¡ddd…‰‡‡‡fdd„ttˆƒdˆ ƒDƒS)Néÿÿÿÿcs"g|] }ˆˆ|ˆ|…dƒ‘qS)rr)rr ©Ú _CODEBITSÚ_intÚsrr Ú µsÿz_mk_bitmap..r)Ú translateÚ _BITS_TRANSrwr)Úbitsr�rŽrrŒr r|³sÿr|cCs@t|ƒ d¡}|jtjksJ‚t|ƒ|jt|ƒksJ‚| ¡S)NÚI)Ú memoryviewÚcastÚitemsizer!ÚCODESIZErÚtolist)ÚbÚarrr r~¸sr~cCsDt|ƒdkrdS|d\}}|tur|dduot|dƒS|tvS)NrFrr‹)rrBr9Ú _UNIT_CODES)rirarbrrr r9¿s  r9cCs|dgt|ƒ}tdt|ƒƒD]-}||d}||||kr5|dkr'd||<n||d}||||ks|d||<q|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)rrw)ÚprefixÚtabler Úidxrrr Ú_generate_overlap_tableÈs   ü €r cCs |t@sdS|t@r tjStjSr)rr r!r"r%)rrrr Ú _get_iscasedÝs r¡cCsäg}|j}d}t|ƒ}|jD]Y\}}|tur#|r||ƒrnO||ƒq|turf|\}} } } t|| | ƒ} | t@r=| t@r=n0t| | ƒ\} }}|dur\|durRt |ƒ}n |dur\t |ƒ|}|  | ¡|senqn||dfS||dfS)NTF) rr¡r…r-rBrrrÚ_get_literal_prefixrrr)rWrr�Ú prefixappendÚ prefix_skipr^rarbrhrrriÚflags1Úprefix1Ú prefix_skip1Úgot_allrrr r¢ås6       ÿ  r¢c CsZ |jsdS|jd\}}|turn|\}}}}t|||ƒ}|t@r(|t@r(dSqt|ƒ}|tur>|r9||ƒr9dS||fgS|turng}|j} |dD] } | sRdS| d\}}|turi|rb||ƒsi| ||fƒqKdS|S|t ur«|}|r©|D]0\}}|turˆ||ƒr‡dSqx|t ur¨|ddkr•dSt t |t |d|ddƒƒƒr¨dSqx|SdS)NTrriÿÿ)r…rBrrrr¡r-rLrr/roryrxrw) rWrrarbrhrrr^rfÚ charsetappendrirrr Ú_get_charset_prefixsV  ÷      ÿ  €rªc Cst| ¡\}}|tkr t}|dkr| tdd||g¡dSg}d}g}|t@r*|t@s9t||ƒ\}}}|s9t||ƒ}|j} | tƒt |ƒ} | dƒd} |rYt } |durX|rX| t B} n|r_| t B} | | ƒ|tkrl| |ƒn | tƒ|dt…}| t |tƒƒ|rž| t |ƒƒ|dur�t |ƒ}| |ƒ| |¡| t|ƒ¡n|r°t|ƒ\}} | rªJ‚t|||ƒt |ƒ| || <dS)Nré)rDÚMAXCODErrÚINFOrrr¢rªrrÚSRE_INFO_PREFIXÚSRE_INFO_LITERALÚSRE_INFO_CHARSETÚminr r0r3) rVrWrrcrjr�r¤rfr¨rXrdÚmaskrgrrr Ú _compile_info0sT   €      r³cCst|ttfƒSr)Ú isinstanceÚstrr})Úobjrrr Úisstringksr·cCs8|jj|B}g}t|||ƒt||j|ƒ| t¡|Sr)Ústaterr³r=r…rr>)rirrVrrr Ú_codens   r¹cCsdd dd„|Dƒ¡S)Nú[%s]ú, css&�|]}dtjdd|fVqdS)z%#0*xrN)r!r˜©rÚxrrr r ~s€$z_hex_code..)Újoin©rVrrr Ú _hex_code}srÀcsNddl‰tƒ‰d‰tttˆƒdƒƒ‰‡‡‡‡‡‡fdd„‰ˆdtˆƒƒdS)Nrrc sîddœ‡‡‡‡fdd„ }‡‡fdd„}ˆd7‰ˆ}||k�rñ|‰ˆ|}|d7}t|}|tttttttfvr=||ƒ�n°|tt t t t t ttfvr^ˆ|}|d7}||d|t|ƒfƒ�n�|tur…ˆ|}|d7}tt|ƒ}|dd…d kszJ‚|||dd…ƒ�nh|tur¬ˆ|}|d7}tt|ƒ}|dd …d ks¡J‚|||d d…ƒ�nA|ttttfvrЈ|}|||||d�ˆ|d||ƒ||7}�n|ttfvrõˆ||d …\}} |d 7}||d || t|ƒt| ƒfƒ�nø|tu�r||tˆ||dt…ƒƒ|dt7}�nÜ|tu�rhˆ|}|d7}t d !‡fdd„ˆ||dt"j#…Dƒ¡ƒ} |||| ƒ|dt"j#7}ˆd7‰t$|ƒD]} |tˆ||dt…ƒƒ|dt7}�qJˆd8‰�n…|t%t&t't(t)fv�r�ˆ|}|d7}|||ƒ�nl|t*u�r™ˆ|}|||||d�|d7}�nT|t+u�rÛˆ|}|||||d�|�rÕˆ|d||ƒ||7}|‰ˆ|}|�rÎ|d|||d�n|tƒ|�s®|d7}�n|t,t-t.fv�rˆ||d…\}} } | t/k�rõd} |||| | ||d�ˆ|d||ƒ||7}nß|t0u�r,ˆ||d …\}}||||||d�|d 7}nÁ|t1t2fv�rUˆ||d …\}}||||||d�ˆ|d ||ƒ||7}n˜|t3u�réˆ||d…\}}} } | t/k�rmd} |||t4|ƒ| | ||d�|d‰|t5@�r̈|d|d…\}}|d|ƒ|d‰ˆˆˆ|…}|ddd !dd„|Dƒ¡dd !t6t|ƒ¡ƒˆ|7‰|dˆˆˆ|…ƒˆ|7‰|t7@�räˆd7‰|dƒˆˆ||ƒˆd8‰||7}nt8|ƒ‚||ksˆd8‰dS)N)ÚtocsX|durˆ |¡|d|ff7}tdˆˆˆˆvrdndfdˆdd�t|ŽdS)Nz(to %d)z%*d%s ú:Ú.z r©Úend)ÚaddÚprint)rÁÚargs)ÚlabelsÚlevelÚ offset_widthÚstartrr Úprint_ˆs  ÿ z!dis..dis_..print_cs"tdˆdˆd�t|ŽdS)Nú rrÄ)rÇ)rÈ)rÊrËrr Úprint_2�s z"dis..dis_..print_2rz %#02x (%r)éZAT_é Z CATEGORY_rz%#02x %#02x (%r-%r)rtóc3s �|] }| tjˆj¡VqdSr)Úto_bytesr!r˜Ú byteorderr¼)Úsysrr r Ás€ÿz$dis..dis_..ÚbranchÚ MAXREPEATr«éz prefix_skipz prefixrºr»css�|]}d|VqdS)z%#02xNrr¼rrr r üs€z(%r)Úz overlapÚin)9ÚOPCODESr>r.r4r6r@rAr,r-r+ÚLITERAL_IGNOREÚNOT_LITERAL_IGNOREÚLITERAL_UNI_IGNOREÚNOT_LITERAL_UNI_IGNOREÚLITERAL_LOC_IGNOREÚNOT_LITERAL_LOC_IGNOREÚchrrFrµÚATCODESrNÚCHCODESr/r2r*r1rorprqrÀr�rsÚlistr¾r!r˜rwrCrQrSrTrRrMrLr?r;r<r×rUÚASSERTÚ ASSERT_NOTr­Úbinr®rxr°Ú ValueError)rÌrÅrÍrÏr raÚargrdrcrjr‡r r±ÚmaxrÚ prefix_lenr¤r�©rVÚdis_rÉrÊrËrÕ)rÌr rî‡sø  ÿ ý    "   ÿ    ÿ   ø          þ  � szdis..dis_)rÕÚsetrrµr¿rrír Údis€srðc Cs–t|ƒr |}t ||¡}nd}t||ƒ}|t@rtƒt|ƒ|jj}dg|jj }|  ¡D]\}}|||<q.t   |||jj B||jj d|t|ƒ¡S)Nr)r·Ú sre_parseÚparser¹ÚSRE_FLAG_DEBUGrÇrðr¸Ú groupdictÚgroupsÚitemsr!Úcompilerr)rirrWrVÚ groupindexÚ indexgrouprer rrr r÷s"   ýr÷)NNN)r).Ú__doc__r!rñÚ sre_constantsÚMAGICr-r+rr?Ú MIN_REPEATr:rr>r.rrærçrr4r/rœÚ _equivalencesr$rrr=r3r0r˜r�r¬r’Úintr|r~r9r r¡r¢rªr³r·r¹rÀrðr÷rrrr ÚsL   4ÿ ÿ3   ,;