+
    Qj>                     F   ^ RI Ht ^ RI Ht ^ RIHt ^ RIHtHt ^dt	Rt
]P                  ]P                  P                  ]P                  P                  3t]P                  ]P                  P                   ]P                  P"                  3t]P&                  ]P&                  P(                  3tR&R ltR tR tR	 tR
 tR tR tR tR tR tR t R t!R t"R t#]! ]PH                  4      R 4       t%]! ]PL                  4      R 4       t'R t(R t)R t*]! ]PV                  4      R 4       t,]! ]PZ                  4      R 4       t.]! 4       R 4       t/]! ]P`                  4      R 4       t1]! ]PH                  4      R 4       t2]! 4       R 4       t3R t4R  t5R! R" R#R$R$^ 3R% lt6R## )'    )sql)tokens)SQLParseError)recurseimti'  c                   \         e   V\         8  d   \        R\          R24      h\        e2   \        V P                  4      \        8  d   \        R\         R24      h. p^ p\        V 4      p\        V4       F  w  rgWd,
          pVP                  '       d   K!  VP                  '       d'   \        Wq4      '       g   \        WqV^,           4       KY  VP                  ! VP                  !  '       d   VP                  V4       K  VP                  ! VP                  !  '       g   K   VP                  4       p	Tp
T P#                  YT
4       YJT	,
          ,          pK  	  R#   \          d     K  i ; i)z*Groups Tokens that have beginning and end.N!Maximum grouping depth exceeded ().#Maximum number of tokens exceeded ()MAX_GROUPING_DEPTHr   MAX_GROUPING_TOKENSlenr   list	enumerateis_whitespaceis_group
isinstance_group_matchingmatchM_OPENappendM_CLOSEpop
IndexErrorgroup_tokens)tlistclsdepthopenstidx_offset
token_listidxtokentidxopen_idx	close_idxs   &&&        M/var/www/idalgo/venv/lib/python3.14/site-packages/sqlparse/engine/grouping.pyr   r      sA   %%2D*D/0B/C2F
 	

 &u||2212E1FbI
 	
 EKeJ
+
  >>>*U"8"8 E	2;;

##LL[[#++&& 99;
 Isi8x//K9 ,,   s   )E""E10E1c                 :    \        V \        P                  4       R # N)r   r   SquareBracketsr   s   &r'   group_bracketsr,   L   s    E3--.    c                 :    \        V \        P                  4       R # r)   )r   r   Parenthesisr+   s   &r'   group_parenthesisr0   P   s    E3??+r-   c                 :    \        V \        P                  4       R # r)   )r   r   Caser+   s   &r'   
group_caser3   T   s    E388$r-   c                 :    \        V \        P                  4       R # r)   )r   r   Ifr+   s   &r'   group_ifr6   X   s    E366"r-   c                 :    \        V \        P                  4       R # r)   )r   r   Forr+   s   &r'   	group_forr9   \   s    E377#r-   c                 :    \        V \        P                  4       R # r)   )r   r   Beginr+   s   &r'   group_beginr<   `   s    E399%r-   c                 V    R  pR pR pT;rE\        V \        P                  WWS4       R# )c                 B    V P                  \        P                  R 4      # )z::r   TPunctuationr#   s   &r'   r   group_typecasts.<locals>.matche   s    {{1==$//r-   c                 
    V R J# r)    rB   s   &r'   validgroup_typecasts.<locals>.validh       D  r-   c                     W3# r)   rE   r   pidxr$   nidxs   &&&&r'   postgroup_typecasts.<locals>.postk   
    zr-   N_groupr   
Identifierr   r   rF   rM   
valid_prev
valid_nexts   &     r'   group_typecastsrV   d   s-    0! $#J
5#..%ZFr-   c                 V    R  pR pR pR p\        V \        P                  WW44       R# )c                 P    V P                   \        P                  P                  8H  # r)   )ttyper@   KeywordTZCastrB   s   &r'   r   group_tzcasts.<locals>.matchs   s    {{aii....r-   c                 
    V R J# r)   rE   rB   s   &r'   rT   !group_tzcasts.<locals>.valid_prevv   rH   r-   c                     V R J;'       de    V P                   ;'       gQ    V P                  \        P                  R4      ;'       g)    V P                  ! \        P
                  P                  !  # )NAS)r   r   r@   rZ   r   TypedLiteralr   rB   s   &r'   rU   !group_tzcasts.<locals>.valid_nexty   s`    D  
 
 6 6{{199d+6 6{{C,,445	
r-   c                     W3# r)   rE   rJ   s   &&&&r'   rM   group_tzcasts.<locals>.post   rO   r-   NrP   r   r   rT   rU   rM   s   &    r'   group_tzcastsrf   r   s*    /!
 5#..%ZFr-   c           
          R  pR pR pR pR pR p\        V \        P                  WVVRR7       \        V \        P                  W#VVRR7       R	# )
c                 L    \        V \        P                  P                  R 7      # )m)r   r   ra   r   rB   s   &r'   r   "group_typed_literal.<locals>.match   s    5C,,3344r-   c                 6    \        V \        P                  4      # r)   )r   r   ra   rB   s   &r'   match_to_extend,group_typed_literal.<locals>.match_to_extend   s    %!1!122r-   c                 
    V R J# r)   rE   rB   s   &r'   rT   'group_typed_literal.<locals>.valid_prev   rH   r-   c                 j    V R J;'       d)    V P                   ! \        P                  P                  !  # r)   )r   r   ra   r   rB   s   &r'   rU   'group_typed_literal.<locals>.valid_next   s*    D KKU[[#2B2B2J2J%KKr-   c                 j    V R J;'       d)    V P                   ! \        P                  P                  !  # r)   )r   r   ra   M_EXTENDrB   s   &r'   valid_final(group_typed_literal.<locals>.valid_final   s*    D LLU[[#2B2B2K2K%LLr-   c                     W#3# r)   rE   rJ   s   &&&&r'   rM   !group_typed_literal.<locals>.post   rO   r-   FextendTN)rQ   r   ra   )r   r   rm   rT   rU   ru   rM   s   &      r'   group_typed_literalr{      sZ    53!LM 5#""Ez
5#""Or-   c                 V    R  pR pR pR p\        V \        P                  WW44       R# )c                     \         P                  R 3\         P                  R3\         P                  R33 F  w  rV P                  W4      '       g   K   R# 	  R# ).z->z->>TF)r@   rA   Operatorr   )r#   rY   values   &  r'   r   group_period.<locals>.match   sM    mmS1jj$/jj%02LE {{5((	2
 r-   c                     \         P                  \         P                  3p\        P                  \        P
                  P                  3p\        WVR 7      # it)r   r*   rR   r@   NameStringSymbolr   r#   sqlclsttypess   &  r'   rT    group_period.<locals>.valid_prev   s9    ##S^^3(5f--r-   c                     R # TrE   rB   s   &r'   rU    group_period.<locals>.valid_next   s    r-   c                 8   \         P                  \         P                  3p\        P                  \        P
                  P                  \        P                  \        P
                  P                  3pVe	   W,          MR p\        WdVR7      pV'       d   W3# W3# )Nr   )
r   r*   Functionr@   r   r   r   WildcardSingler   )r   rK   r$   rL   r   r   next_rU   s   &&&&    r'   rM   group_period.<locals>.post   sg    ##S\\1!**ahhooE#/TF3
)|;|;r-   NrP   re   s   &    r'   group_periodr      s*    .
< 5#..%ZFr-   c                 V    R  pR pR pR p\        V \        P                  WW44       R# )c                 H    V P                   ;'       d    V P                  R 8H  # )r`   )
is_keyword
normalizedrB   s   &r'   r   group_as.<locals>.match   s!    <<E$4$4$<<r-   c                 R    V P                   R 8H  ;'       g    V P                  '       * # )NULL)r   r   rB   s   &r'   rT   group_as.<locals>.valid_prev   s$    6)AA1A1A-AAr-   c                     \         P                  \         P                  \         P                  3p\	        WR 7      '       * ;'       d    V RJ# )r   N)r@   DMLDDLCTEr   )r#   r   s   & r'   rU   group_as.<locals>.valid_next   s5    quu$u''==E,==r-   c                     W3# r)   rE   rJ   s   &&&&r'   rM   group_as.<locals>.post   rO   r-   NrP   re   s   &    r'   group_asr      s+    =B> 5#..%ZFr-   c                 V    R  pR pR pT;rE\        V \        P                  WWS4       R# )c                 B    V P                  \        P                  R 4      # )z:=)r   r@   
AssignmentrB   s   &r'   r   group_assignment.<locals>.match   s    {{1<<..r-   c                 V    V R J;'       d    V P                   \        P                  39  # r)   )rY   r@   rZ   rB   s   &r'   rF   group_assignment.<locals>.valid   s$    D DDU[[%DDr-   c                 l    \         P                  R 3pV P                  WCR7      w  rVT;'       g    TpW3# );rj   r"   )r@   rA   token_next_by)r   rK   r$   rL   m_semicolonsnidx_s   &&&&   r'   rM   group_assignment.<locals>.post   s8    mmS(&&&?}}zr-   N)rQ   r   r   rS   s   &     r'   group_assignmentr      s.    /E $#J
5#..%ZFr-   c           
      :  aa \         P                  \         P                  \         P                  \         P                  \         P
                  3o\        \        ,           \        ,           oR  pVV3R lpR pT;rE\        V \         P                  VWEVRR7       R# )c                 P    V P                   \        P                  P                  8H  # r)   )rY   r@   r   
ComparisonrB   s   &r'   r   group_comparison.<locals>.match   s    {{ajj3333r-   c                    < \        V SSR 7      '       d   R# V '       d&   V P                  '       d   V P                  R8X  d   R# R# ))r   r   Tr   F)r   r   r   r   s   &r'   rF   group_comparison.<locals>.valid   s6    u&))u'''E,<,<,Fr-   c                     W3# r)   rE   rJ   s   &&&&r'   rM   group_comparison.<locals>.post   rO   r-   Fry   N)r   r/   r   rR   	Operationra   T_NUMERICALT_STRINGT_NAMErQ   r   r   r   rF   rM   rT   rU   r   r   s   &     @@r'   group_comparisonr      sm    oos||S^^mmS--/F8#f,F4 $#J
5#..%47r-   c                     \         P                  P                  \         P                  3pV P	                  VR 7      w  r#V'       d7   V P                  \        P                  W"4       V P	                  WR7      w  r#K>  R# )r   r   r"   N)r@   r   r   r   r   r   r   rR   )r   r   r$   r#   s   &   r'   group_identifierr      s`    hhooqvv&F%%%/KD
3>>46))F)=e r-   c                    V P                  \        P                  P                  R 7      w  rV'       d   V P	                  V4      w  r4\        V\        P                  \        P                  R7      '       d!   V P                  \        P                  W4       V P                  \        P                  P                  VR7      w  rK  R# )ri   r   r   N)
r   r   Overr   
token_nextr   r/   r@   r   r   )r   r$   r#   rL   r   s   &    r'   
group_overr     s    %%%8KD
&&t,u16622sxx4))CHHOO)Fe	 r-   c                   aa \         P                  \         P                  \         P                  3o\        P
                  \        P                  P                  3oR  pVV3R lpR pR p\        V \         P                  VW#VRRR7       R# )c                 6    \        V \        P                  4      # r)   )r   r   r*   rB   s   &r'   r   group_arrays.<locals>.match  s    %!3!344r-   c                     < \        V SSR 7      # r   r   r   s   &r'   rT    group_arrays.<locals>.valid_prev  s    5Ff--r-   c                     R # r   rE   rB   s   &r'   rU    group_arrays.<locals>.valid_next  s    r-   c                     W3# r)   rE   rJ   s   &&&&r'   rM   group_arrays.<locals>.post  rO   r-   TF)rz   r   N)	r   r*   rR   r   r@   r   r   r   rQ   )r   r   rT   rU   rM   r   r   s   &    @@r'   group_arraysr     se    =FVVQXX__$F5. 5#..%4eEr-   c           
      X  aa \         \        ,           \        ,           o\        P                  \        P
                  \        P                  \        P                  \        P                  \        P                  3oR  pVV3R lpR pT;rE\        V \        P                  VWEVRR7       R# )c                 X    \        V \        P                  \        P                  3R 7      # r   )r   r@   r   r   rB   s   &r'   r   group_operator.<locals>.match)  s    5QZZ455r-   c                    < \        V SSR 7      ;'       g+    T ;'       d!    V P                  \        P                  R4      # )r   )CURRENT_DATECURRENT_TIMECURRENT_TIMESTAMP)r   r   r@   rZ   r   s   &r'   rF   group_operator.<locals>.valid,  sF    5Ff- H H G G%++		EG	Hr-   c                 >    \         P                  W,          n        W3# r)   )r@   r   rY   rJ   s   &&&&r'   rM   group_operator.<locals>.post2  s    JJzr-   Fry   N)r   r   r   r   r*   r/   r   rR   r   ra   rQ   r   s   &     @@r'   group_operatorr   $  sv    8#f,F  #//3<<nncmmS-=-=?F6H $#J
5#--47r-   c           
        aaa \         P                  R3o\        P                  \        P                  \        P
                  \        P                  \        P                  \        P                  3o\        \        ,           \        ,           \         P                  \         P                  \         P                  3,           oR pVVV3R lpR pT;rE\        V \        P                  VWEVRR7       R# )nullc                 B    V P                  \        P                  R 4      # ),r?   rB   s   &r'   r   $group_identifier_list.<locals>.matchB  s    {{1==#..r-   c                 "   < \        V SSSR 7      # ))r   rj   r   r   )r#   m_roler   r   s   &r'   rF   $group_identifier_list.<locals>.validE  s    5Ff77r-   c                     W3# r)   rE   rJ   s   &&&&r'   rM   #group_identifier_list.<locals>.postH  rO   r-   Try   N)r   role)r@   rZ   r   r   r2   rR   r   IdentifierListr   r   r   r   Commentr   rQ   )	r   r   rF   rM   rT   rU   r   r   r   s	   &     @@@r'   group_identifier_listr   ;  s    YY((FllCHHcnncnn  #--1FH$v-AIIqzz23F/8 $#J
5#$$e46r-   c                 B   V P                  \        P                  R 7      w  rV'       du   V P                  R VR7      w  r4Ve6   V P	                  VRR7      w  r4V P                  \        P                  W4       V P                  \        P                  VR7      w  rK|  R# )r   c                 `    \        V \        P                  R 7      ;'       g    V P                  # r   )r   r@   r   
is_newline)tks   &r'   <lambda> group_comments.<locals>.<lambda>U  s    s2+<<r}}<r-   )r"   NF)skip_wsr   )r   r@   r   token_not_matching
token_prevr   r   r   r$   r#   eidxends   &    r'   group_commentsr   P  s    %%		%2KD
,,<$ - H	?((u(=IDs{{D7))AII4)@e r-   c                    V P                  \        P                  P                  R 7      w  rV'       d   V P                  \        P                  P                  VR7      w  r4Vf   V P
                  R,          pMV P                  V^,
          ,          pV P                  V4      pV P                  \        P                  W4       V P                  \        P                  P                  VR7      w  rK  R# )ri   r   N)	r   r   Wherer   r   _groupable_tokensr   token_indexr   r   s   &    r'   group_wherer  ]  s    %%		(8(8%9KD
''#))*;*;'F	;))"-C,,tax(C   %399d1))CII,<,<$)Ge r-   c                 
   \         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  3pV P                  V\        P                  R 7      w  r#V'       d|   V P                  V4      w  rE\        V\         P                  4      '       d#   V P                  \         P                  W$RR7       V P                  V\        P                  VR7      w  r#K  R# )r   Try   )r   r   r"   N)r   r/   r   r2   rR   r   r   r   r@   Numberr   r   r   )r   I_ALIASr$   r#   rL   r   s   &     r'   group_aliasedr  n  s    chh}}cnn.G %%188%<KD
&&t,eS^^,,s~~t$G))GqxxT)Je	 r-   c                    R pR pR pV P                    FZ  pVP                  P                  4       R8X  d   RpVP                  P                  4       R8X  d   RpVP                  R8X  g   KX  RpK\  	  V'       d   V'       d   V'       g   R# V P                  \        P
                  R7      w  rVV'       d   V P                  V4      w  rx\        V\        P                  4      '       da   V P                  V4      w  rV
'       d$   \        V
\        P                  4      '       d   T	pMTpV P                  \        P                  W[4       V P                  \        P
                  VR7      w  rVK  R# )FCREATETTABLEr`   Nr   r   )r   r   upperr   r@   r   r   r   r   r/   r   r   r   )r   
has_create	has_tablehas_as	tmp_tokenr$   r#   rL   r   over_idxoverr   s   &           r'   group_functionsr  {  s   JIF\\	??  "h.J??  "g-I??d"F " i%%%/KD
&&t,eS__--"--d3NH
422s||T8))AFF)=e r-   c                   V P                  \        P                  P                  R7      w  rV'       d   V P	                  V4      w  r4\        V\        P                  \        P                  R7      '       d#   V P                  \        P                  W14       TpV P                  \        P                  P                  VR7      w  rK  R# )z,Group together Identifier and Asc/Desc tokenr   r   r   N)
r   r@   rZ   Orderr   r   r   rR   r  r   r   r$   r#   rK   prev_s   &    r'   group_orderr    s     %%		%8KD
&&t,u!((33s~~t:D))AIIOO)Fe r-   c                 R   V P                  \        P                  R 7      w  rV'       d}   V P                  V4      w  r4\	        V\        P
                  4      '       d%   V P                  \        P
                  W1RR7       TpV P                  \        P                  VR7      w  rK  R# ))r   Try   )r   r"   N)r   r   r   r   r   	TokenListr   r  s   &    r'   align_commentsr    s    %%%4KD
&&t,eS]]++s}}dFD))CKKT)Be r-   c                 *   V P                  \        P                  R 3R7      w  rTpRpV'       d8   \        V\        P
                  4      '       d   TpV P                  V4      w  rK?  VR8w  d%   V P                  \        P                  W4RR7       R# R# )VALUESri   Try   Nr   )	r   r@   rZ   r   r   r/   r   r   Values)r   r$   r#   	start_idxend_idxs   &    r'   group_valuesr!    s|    %%H(=%>KDIG
eS__--G&&t,e"}3::y$G r-   c                 "   \         \        \        \        \        \
        \        \        \        \        \        \        \        \        \        \        \         \"        \$        \&        \(        \*        \,        \.        \0        3 F  pV! V 4       K  	  V # r)   )r   r,   r0   r3   r6   r9   r<   r   r  r  r   r   r   r  rV   rf   r{   r   r   r   r  r   r  r   r!  )stmtfuncs   & r'   groupr%    sl     	;> 	T
?@ Kr-   c                     R # r   rE   r   s   &r'   r   r         r-   c                     R # r   rE   r   s   &r'   r   r     r'  r-   NTc	                   \         e   V\         8  d   \        R\          R24      h\        e2   \        V P                  4      \        8  d   \        R\         R24      h^ p	RRr\        V 4      p\        V4       F  w  rW,
          pV^ 8  d   K  VP                  '       d   K*  V'       d;   VP                  '       d)   \        W4      '       g   \        WW#VWVRV^,           4	       V! V4      '       dp   V P                  V4      w  ppV'       dT   V! V4      '       dF   V! V4      '       d8   V! W
VV4      w  ppV P                  VVVVR7      pV	VV,
          ,          p	TTrK  YrK  	  R# )zDGroups together tokens that are joined by a middle token. i.e. x < yNr	   r
   r   Try   )r   r   r   r   r   r   r   r   r   r   rQ   r   r   )r   r   r   rT   rU   rM   rz   r   r   r    rK   r  r!   r"   r#   r$   rL   r   from_idxto_idxgrps   &&&&&&&&&            r'   rQ   rQ     sY    %%2D*D/0B/C2F
 	

 &u||2212E1FbI
 	
 K%eJ
+
 !8u~~~j.D.D5u*uqy2 <<**40KD%E**z%/@/@#'T4#@ &((hv(Nv00&ee- ,r-   )r   )7sqlparser   r   r@   sqlparse.exceptionsr   sqlparse.utilsr   r   r   r   r  IntegerFloatr   r   r   r   r   r   Placeholderr   r   r,   r0   r3   r6   r9   r<   rV   rf   r{   r   r   r   r   rR   r   r   r   r   r   r   r   r   r  r  r  r   r  r  r  r!  r%  rQ   rE   r-   r'   <module>r3     s      - '  
  xx))188>>:HHahhooqxx7
&&!&&$$	%.0b/,%#$&GG(<G<G"G"70 	> > 	G GE(7.6* 		A 	A 	H H  		K 	K 	> >6 	G G 	C C	H!J %$/"r-   