Ë
    �ïŒh´  ã                   ó,   — d Z ddlmZ ddlmZ d„ Zd„ Zy)zSQL formatteré    )Úfilters)ÚSQLParseErrorc                 óÔ  — | j                  d«      }|dvrt        dj                  |«      «      ‚| j                  d«      }|dvrt        dj                  |«      «      ‚| j                  d«      }|dvrt        dj                  |«      «      ‚| j                  d	d
«      }|dvrt        dj                  |«      «      ‚| j                  dd
«      }|dvrt        dj                  |«      «      ‚| j                  dd
«      }|dvrt        dj                  |«      «      ‚| j                  d«      }|�E	 t        |«      }|dk  rt        dj                  |«      «      ‚|| d<   | j                  dd«      | d<   | j                  dd
«      }|dvrt        dj                  |«      «      ‚|rd| d<   | j                  dd
«      }	|	dvrt        dj                  |«      «      ‚|	rd| d<   | j                  dd
«      }
|
dvrt        dj                  |
«      «      ‚|
rd| d<   nd| d<   | j                  d d!«      }	 t        |«      }|dk  rt        d#«      ‚|| d <   | j                  d$d%«      }	 t        |«      }|d%k  rt        d'«      ‚|| d$<   | j                  d(d
«      }|dvrt        d)«      ‚|| d(<   | j                  d*«      }|�	 t        |«      }|d,k  rt        d-«      ‚|| d*<   | S # t        t
        f$ r t        dj                  |«      «      ‚w xY w# t
        t        f$ r t        d"«      ‚w xY w# t
        t        f$ r t        d&«      ‚w xY w# t
        t        f$ r t        d+«      ‚w xY w).zValidates options.Úkeyword_case)NÚupperÚlowerÚ
capitalizez%Invalid value for keyword_case: {0!r}Úidentifier_casez(Invalid value for identifier_case: {0!r}Úoutput_format)NÚsqlÚpythonÚphpzUnknown output format: {0!r}Ústrip_commentsF)TFz'Invalid value for strip_comments: {0!r}Úuse_space_around_operatorsz3Invalid value for use_space_around_operators: {0!r}Ústrip_whitespacez)Invalid value for strip_whitespace: {0!r}Útruncate_stringsz)Invalid value for truncate_strings: {0!r}é   Útruncate_charz[...]Úreindentz!Invalid value for reindent: {0!r}TÚreindent_alignedz)Invalid value for reindent_aligned: {0!r}Úindent_tabsz$Invalid value for indent_tabs: {0!r}ú	Úindent_charú Úindent_widthé   z indent_width requires an integerz(indent_width requires a positive integerÚ
wrap_afterr   zwrap_after requires an integerz&wrap_after requires a positive integerÚcomma_firstz$comma_first requires a boolean valueÚright_marginz right_margin requires an integeré
   z%right_margin requires an integer > 10)Úgetr   ÚformatÚintÚ
ValueErrorÚ	TypeError)ÚoptionsÚkwcaseÚidcaseÚofrmtr   Úspace_around_operatorsÚstrip_wsr   r   r   r   r   r   r   r   s                  úU/var/www/html/ranktracker/api/venv/lib/python3.12/site-packages/sqlparse/formatter.pyÚvalidate_optionsr-      s  € à�[‰[˜Ó(€FØÐ;Ñ;Üð $ß$*¡F¨6£Nó4ð 	4ð �[‰[Ð*Ó+€FØÐ;Ñ;Üð $ß$*¡F¨6£Nó4ð 	4ð �K‰K˜Ó(€EØÐ2Ñ2Üð $ß$*¡F¨5£Mó3ð 	3ð —[‘[Ð!1°5Ó9€NØ˜]Ñ*Üð $ß$*¡F¨>Ó$:ó<ð 	<ð %Ÿ[™[Ð)EÀuÓMÐØ ]Ñ2Üð $ß$*¡FÐ+AÓ$BóDð 	Dð �{‰{Ð-¨uÓ5€HØ�}Ñ$Üð $ß$*¡F¨8Ó$4ó6ð 	6ð —{‘{Ð#5Ó6ÐØÐ#ð	BÜ"Ð#3Ó4Ðð ˜qÒ Üð !(ß(.©Ð/?Ó(@óBð Bà&6ˆÐ"Ñ#Ø#*§;¡;¨ÀÓ#Hˆ�Ñ à�{‰{˜: uÓ-€HØ�}Ñ$Üð $ß$*¡F¨8Ó$4ó6ð 	6á	Ø&*ˆÐ"Ñ#à—{‘{Ð#5°uÓ=ÐØ˜}Ñ,Üð $ß$*¡F¨8Ó$4ó6ð 	6á	Ø&*ˆÐ"Ñ#à—+‘+˜m¨UÓ3€KØ˜-Ñ'Üð $ß$*¡F¨;Ó$7ó9ð 	9á	Ø!%ˆ�Òà!$ˆ�Ñà—;‘;˜~¨qÓ1€Lð@Ü˜<Ó(ˆð �aÒÜÐFÓGÐGØ*€GˆNÑà—‘˜\¨1Ó-€Jð>Ü˜“_ˆ
ð �A‚~ÜÐDÓEÐEØ&€GˆLÑà—+‘+˜m¨UÓ3€KØ˜-Ñ'ÜÐBÓCÐCØ(€GˆMÑà—;‘;˜~Ó.€LØÐð	DÜ˜|Ó,ˆLð ˜"ÒÜÐ GÓHÐHØ*€GˆNÑà€NøôC œIÐ&ò 	BÜð !(ß(.©Ð/?Ó(@óBð Bð	BûôF ”zÐ"ò @ÜÐ>Ó?Ð?ð@ûô ”zÐ"ò >ÜÐ<Ó=Ð=ð>ûô œ:Ð&ò 	DÜÐ BÓCÐCð	Dús0   Ä2K# È4L É'L. ËM Ë#*LÌL+Ì.M	ÍM'c           	      óª  — |j                  d«      r1| j                  j                  t        j                  |d   «      «       |j                  d«      r1| j                  j                  t        j
                  |d   «      «       |j                  d«      r6| j                  j                  t        j                  |d   |d   ¬«      «       |j                  dd«      r=| j                  «        | j                  j                  t        j                  «       «       |j                  d«      r=| j                  «        | j                  j                  t        j                  «       «       |j                  d	«      s|j                  d
«      r=| j                  «        | j                  j                  t        j                  «       «       |j                  d
«      rN| j                  «        | j                  j                  t        j                  |d   |d   |d   |d   ¬«      «       |j                  dd«      rB| j                  «        | j                  j                  t        j                  |d   ¬«      «       |j                  d«      rB| j                  «        | j                  j                  t        j                  |d   ¬«      «       |j                  d«      rt|d   }|j                  «       dk(  rt        j                   «       }n*|j                  «       dk(  rt        j"                  «       }nd}|�| j$                  j                  |«       | S )z³Setup and return a filter stack.

    Args:
      stack: :class:`~sqlparse.filters.FilterStack` instance
      options: Dictionary with options validated by validate_options.
    r   r
   r   r   )ÚwidthÚcharr   Fr   r   r   r   r   r   r   )r0   r/   r   r   r   )r0   r   )r/   r   r   r   N)r!   Ú
preprocessÚappendr   ÚKeywordCaseFilterÚIdentifierCaseFilterÚTruncateStringFilterÚenable_groupingÚstmtprocessÚSpacesAroundOperatorsFilterÚStripCommentsFilterÚStripWhitespaceFilterÚReindentFilterÚAlignedIndentFilterÚRightMarginFilterr   ÚOutputPHPFilterÚOutputPythonFilterÚpostprocess)Ústackr&   ÚfrmtÚfltrs       r,   Úbuild_filter_stackrD   v   s»  € ð ‡{�{�>Ô"Ø×Ñ×ÑÜ×%Ñ% g¨nÑ&=Ó>ô	@ð ‡{�{Ð$Ô%Ø×Ñ×ÑÜ×(Ñ(¨Ð1BÑ)CÓDô	Fð ‡{�{Ð%Ô&Ø×Ñ×Ñ¤× <Ñ <ØÐ,Ñ-°G¸OÑ4Lô!Nô 	Oð ‡{�{Ð/°Ô7Ø×ÑÔØ×Ñ× Ñ ¤×!DÑ!DÓ!FÔGð ‡{�{Ð#Ô$Ø×ÑÔØ×Ñ× Ñ ¤×!<Ñ!<Ó!>Ô?à‡{�{Ð%Ô&¨'¯+©+°jÔ*AØ×ÑÔØ×Ñ× Ñ ¤×!>Ñ!>Ó!@ÔAà‡{�{�:ÔØ×ÑÔØ×Ñ× Ñ Ü×"Ñ"¨°Ñ(>Ø)0°Ñ)@Ø.5°lÑ.CØ/6°}Ñ/EôGô	Hð ‡{�{Ð% uÔ-Ø×ÑÔØ×Ñ× Ñ Ü×'Ñ'¨W°]Ñ-CÔDô	Fð ‡{�{�>Ô"Ø×ÑÔØ×Ñ× Ñ Ü×%Ñ%¨G°NÑ,CÔDô	Fð ‡{�{�?Ô#Ø�Ñ'ˆØ�:‰:‹<˜5Ò Ü×*Ñ*Ó,‰DØ�Z‰Z‹\˜XÒ%Ü×-Ñ-Ó/‰DàˆDØÐØ×Ñ×$Ñ$ TÔ*à€Ló    N)Ú__doc__Úsqlparser   Úsqlparse.exceptionsr   r-   rD   © rE   r,   ú<module>rJ      s   ðñ å Ý -òeóP?rE   