
    i!              
          S SK Jr  S SKrS SKrS SKrS SKrSSKJr  SSK	J
r
  \R                  \R                  \R                  \R                  \R                  \R                   \R"                  \R$                  \R&                  \R(                  0r " S S\R,                  5      r " S	 S
\5      r " S S\
5      r\" 5         g)    )absolute_importN   )CloudflareSolveError   )JavaScriptInterpreterc                   6    \ rS rSrS rS rS r\S 5       rSr	g)Calc   c                     [         [        UR                  5         " U R                  UR                  5      U R                  UR
                  5      5      $ N)_OP_MAPtypeopvisitleftrightselfnodes     M/app/mltbenv/lib/python3.13/site-packages/cloudscraper/interpreters/native.pyvisit_BinOpCalc.visit_BinOp   s6    tDGG}%djj&;TZZ

=STT    c                     UR                   $ r   )nr   s     r   	visit_NumCalc.visit_Num   s    vvr   c                 8    U R                  UR                  5      $ r   )r   valuer   s     r   
visit_ExprCalc.visit_Expr$   s    zz$**%%r   c                 x    [         R                  " U5      nU " 5       nUR                  UR                  S   5      $ )Nr   )astparser   body)cls
expressiontreecalcs       r   doMathCalc.doMath)   s.    yy$uzz$))A,''r    N)
__name__
__module____qualname____firstlineno__r   r   r    classmethodr*   __static_attributes__r,   r   r   r	   r	      s&    U

&
 ( (r   r	   c                   &    \ rS rSrS rS rS rSrg)Parentheses2   c                 n    / n[        U/5      U l        U R                  XR                  U5      U5        U$ r   )setvisiteddfsinvalid)r   sress      r   fixParentheses.fix4   s/    A3xLLOS)
r   c                 `   US:X  a  UR                  U5        g [        [        U5      5       H~  nX   S;   d  M  US U XS-   S  -   nXPR                  ;  d  M+  U R	                  U5      U:  d  MB  U R                  R                  U5        U R                  XPR	                  U5      U5        M     g )Nr   ()r   )appendrangelenr8   r:   addr9   )r   r;   r   r<   is_news         r   r9   Parentheses.dfs<   s    6JJqMs1vAtz!"1a%&	),e1Dq1HLL$$U+HHULL$7= r   c                     S=p#SSS.nU H/  nX$R                  US5      -  nX2S:  a  SOS-  n[        SU5      nM1     X#-   $ )Nr   r   r@   )getmax)r   r;   plusminusmemocs         r   r:   Parentheses.invalidI   sU    R AHHQN"D(Q)Eq$<D  |r   )r8   N)r-   r.   r/   r0   r=   r9   r:   r2   r,   r   r   r4   r4   2   s    	>r   r4   c                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )ChallengeInterpreterU   c                 ,   > [         [        U ]  S5        g )Nnative)superrT   __init__)r   	__class__s    r   rY   ChallengeInterpreter.__init__W   s    "D28<r   c                    ^^^^ [         R                  [         R                  [         R                  [         R                  S.mU4S jmU4S jmUU4S jmUUU4S jnU" X5      $ )N)+-*/c                 `   > [        U [        5      (       a  [        [        TU 5      / 5      $ U /$ r   )
isinstancelistsummap)listsflattens    r   rg   *ChallengeInterpreter.eval.<locals>.flatteng   s,    3=eT3J3J3s7E*B/WQVPWWr   c                   > U R                  SS5      R                  SS5      R                  SS5      n U R                  S5      R                  SS5      R                  S	S
5      n [        5       R                  U 5      S   n / n/ nT" [        R
                  " 5       R                  U 5      R                  5       5       H/  nUS:X  a  UR                  U5        / nM  UR                  U5        M1     UR                  U5        [        S
R                  U Vs/ s H0  n[        [        R                  S
R                  U5      5      5      PM2     sn5      5      $ s  snf )Nz!+[]1z!![]z[]0r]   z(+rA     r   )replacelstripr4   r=   	pyparsing
nestedExprparseStringasListrC   intjoinstrr	   r*   )jsFuckstackbstackrG   rg   s       r   jsfuckToNumber1ChallengeInterpreter.eval.<locals>.jsfuckToNumberl   s   ^^FC088EMMdTWXF]]3'//c:BB3KF ]&&v.q1F EFY113??GNNPQ8LL(Fa  R LL rwweLeDKK
$; <eLMNNLs   7Ec                 z  > U R                  S5      nXS   ;   a~  [        R                  " SUS   5      S   nTUS      " [        T" US   5      5      [        [	        UT" US   US   R                  S5      [        S5      -   S 5         5      5      5      nOT" US   5      nT" US   5      [        U5      -  nU$ )Nr`   r   z^(.*?)(.)\(functionr   "("+p+")")})splitrefindallfloatordfindrE   )payloadneedledomain
jsfuckMathr'   expression_valuerz   	operatorss         r   divisorMath.ChallengeInterpreter.eval.<locals>.divisorMath   s     s+JA&ZZ(>
1NqQ
#,Z]#;.A78#f^JqM"1**=9C<NNr5 &   $  $2*Q-#@ -jm<uEU?VV##r   c                   > Sn [         R                  " SU [         R                  [         R                  -  5      R	                  5       n[         R                  " SUS   [         R                  [         R                  -  5      nU(       a   T" UR                  S5      5      n [         R                  " SU 5      R                  S	5      n [         R                  " SR                  U5      5      n0 nUR                  U 5       H/  nUR                  S5      U[        UR                  S5      5      '   M1     Xt   US'   [         R                  " SR                  US   US   5      US   5      US'   SUS   ;   a5  US   R                  S5      n	T" U	S   5      [!        T" U	S   5      5      -  nOT" US   5      nUS    HM  n
U
R#                  5       u  pSU;   a  T" USU5      nOSU;   a  T" US   SU5      nOT" U5      nTU   " X-5      nMO     SR                  U5      $ ! [
         a    [        S5      ef = f! [         a    [        S5      ef = f! [         a    [        S
5      ef = f! [
        [        4 a    [        S5      ef = f)Nr   zsetTimeout\(function\(\){\s+var.*?f,\s*(?P<variable>\w+).*?:(?P<init>\S+)};.*?\('challenge-form'\);.*?;(?P<challenge>.*?a\.value)\s*=\s*\S+\.toFixed\(10\);zNThere was an issue extracting "jsfuckChallenge" from the Cloudflare challenge.z(;|)\s*k.=(?P<kJSFUCK>\S+);	challengekJSFUCKzFThere was an issue extracting "kJSFUCK" from the Cloudflare challenge.z\s*k\s*=\s*'(?P<kID>\S+)';kIDzBThere was an issue extracting "kID" from the Cloudflare challenge.z3<div id="{}(?P<id>\d+)">\s*(?P<jsfuck>[^<>]*)</div>jsfuckidkzFThere was an issue extracting "kValues" from the Cloudflare challenge.z${}.*?([+\-*/])=(.*?);(?=a\.value|{})variabler`   initr   zfunction(p)Elementr}   z{0:.10f})r   searchDOTALL	MULTILINE	groupdictAttributeErrorr   SMgroup
IndexErrorcompileformatfinditerrt   r   r   groups)r%   r   jschl_answerjsfuckChallenger   r   rkValuesmvalexpressionMatchoperr'   r   r   rz   r   s                 r   challengeSolve1ChallengeInterpreter.eval.<locals>.challengeSolve   s   L}"$))hII,	#
 )+   ii >P[@\^`^b^begeiei^ijGy,W]]9-EFGu))$A4HNNuUC	y

#Y#`#`ad#efA GZZ-67ggh6GAGGDM 23 . ,3+;OC( ,.;;7>>#J/#J/  ,,OK( of--%f-33C8-c!f5nSQRV>T8UU-of.EF $3;#?#2#9#9#; *$'2:}f'U$ J.+6s7K]\b+c(+9*+E((|N $@( $$\22A " }*+{||} " y./wxxy
 " u./sttu '
3 y./wxxys1   AH  H9 $&I A2I+  H69II(+J)r   rF   submultruediv)r   r%   r   r   r   rg   rz   r   s       @@@@r   evalChallengeInterpreter.eval\   sM     	
		X
	O,	$(J	3\ d++r   r,   )r-   r.   r/   r0   rY   r   r2   __classcell__)rZ   s   @r   rT   rT   U   s    =
H, H,r   rT   )
__future__r   r#   r   operatorr   rp   
exceptionsr   rm   r   AddrF   Subr   Multr   Divr   Invertnegr   NodeVisitorr	   objectr4   rT   r,   r   r   <module>r      s    & 
 	   - #
 GGRVVGGRVVHHbffGGRZZJJ(3?? (4& FO,0 O,h  r   