
    ,hCA                    :   % S r SSKJr  SSKrSSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SS	KJ	r	  SS
KJ
r
  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SS KJ r   \RB                  " S!\S"9r"\RF                  (       a  SS#KJ$r$  SS$KJ%r%  SS%KJ&r&  SS&\'" S5      \(4SS'.                 SrS) jjr)  Ss             StS* jjr*S&SS+.             SuS, jjr+          SvS- jr,          SwS/ jr-            SxS0 jr.          SvS1 jr/          SyS2 jr0        SzS3 jr1        SzS4 jr2        SzS5 jr3          SvS6 jr4        SzS7 jr5            S{S8 jr6          S|S9 jr7            S}S: jr8              S~S; jr90 S<\,\ Rt                  4_S=\,\ Rt                  4_S>\1\ Rt                  4_S?\+\ Rt                  4_S@\+\ Rt                  4_SA\+\ Rt                  4_SB\+\ Rt                  4_SC\+\ Rt                  4_SD\+\ Rt                  4_SE\+\ Rt                  4_SF\+\ Rt                  4_SG\3\ Rt                  4_SH\+\ Rt                  4_SI\+\ Rt                  4_SJ\+\ Rt                  4_SK\+\ Rt                  4_SL\*\ Rt                  4_0 SM\+\ Rt                  4_SN\+\ Rt                  4_SO\+\ Rt                  4_SP\-\ Rv                  " S.\Rx                  05      4_SQ\-\ Rv                  " S.\Rz                  05      4_SR\)\ Rv                  " S(\R|                  05      4_SS\)\ Rv                  " S(\R~                  05      4_ST\)\ Rv                  " S(\R                  05      4_SU\)\ Rv                  " S(\R                  05      4_SV\)\ Rv                  " S(\R                  05      4_SW\)\ Rv                  " S(\R                  05      4_SX\)\ Rv                  " S(\R                  05      4_SY\)\ Rv                  " S(\R                  05      4_SZ\)\ Rv                  " S(\R                  05      4_S[\)\ Rv                  " S(\R                  05      4_S\\)\ Rv                  " S(\R                  05      4_S]\)\ Rv                  " S(\R                  05      4_E0 S^\)\ Rv                  " S(\R                  05      4_S_\)\ Rv                  " S(\R                  05      4_S`\)\ Rv                  " S(\R                  05      4_Sa\)\ Rv                  " S(\R                  05      4_Sb\)\ Rv                  " S(\R                  05      4_Sc\)\ Rv                  " S(\R                  05      4_Sd\-\ Rv                  " S.\R                  05      4_Se\-\ Rv                  " S.\R                  05      4_Sf\-\ Rv                  " S.\R                  05      4_Sg\-\ Rv                  " S.\R                  05      4_Sh\.\ Rv                  " S(\R                  05      4_Si\.\ Rv                  " S(\R                  05      4_Sj\)\ Rv                  " S(\R                  05      4_Sk\)\ Rv                  " S(\R                  05      4_Sl\7\ Rt                  4_Sm\4\ Rt                  4_Sn\4\ Rt                  4_E\5\ Rt                  4\6\ Rt                  4\6\ Rt                  4\2\ Rt                  4\/\ Rt                  4\0\ Rt                  4\0\ Rt                  4\0\ Rt                  4\8\ Rt                  4\8\ Rt                  4\9\ Rt                  4So.ErXSp\YSq'   g)z5Default implementation of SQL comparison operations.
    )annotationsN)Any)Callable)Dict)NoReturn)Optional)Tuple)Type)Union   )	coercions)	operators)roles)type_api)and_)BinaryExpression)ClauseElement)CollationClause)CollectionAggregate)ExpressionClauseList)False_)Null)OperatorExpression)or_)True_)UnaryExpression)OperatorType   )exc)util_T)bound)ColumnElement)	custom_op)
TypeEngineF)	negate_opreverse_python_is_typesresult_typer&   c          	     n   Uc  [         R                  n[        X%[        [        [
        4-   5      (       Ga#  U[        R                  [        R                  4;   a\  [        U[        [        [
        45      (       a<  [        R                  " U [        R                  " [        R                  U5      UUUUS9$ U[        R                   [        R"                  4;   a<  [        R                  " U [        R                  " [        R                  U5      UUUUS9$ U R$                  (       a&  [        R                  " [        R                  X!U S9nGO0U[        R                  [        R&                  4;   aW  [        R                  " U [        R                  " [        R                  U5      [        R&                  [        R(                  US9$ U[        R                  [        R(                  4;   aW  [        R                  " U [        R                  " [        R                  U5      [        R(                  [        R&                  US9$ [*        R,                  " S5      e[        R                  " [        R.                  X!U S9nU(       a  [        R                  " UU UUUUS9$ [        R                  " U UUUUUS9$ )N)type_negate	modifiers)elementoperatorexpr)r,   r+   z~Only '=', '!=', 'is_()', 'is_not()', 'is_distinct_from()', 'is_not_distinct_from()' operators can be used with None/True/False)r   BOOLEANTYPE
isinstancer   r   r   r   eqneboolr   _construct_for_opr   expectr   ConstExprRoleis_distinct_fromis_not_distinct_from_is_collection_aggregateis_is_notr   ArgumentErrorBinaryElementRole)r0   opobjr&   r'   r(   r)   kwargss           Y/var/www/auris/envauris/lib/python3.13/site-packages/sqlalchemy/sql/default_comparator.py_boolean_comparerD   3   sQ    **#4*??@@ ),,	--*$v&3
 3
 &77  !4!4c:!    &&**
 
 &77  !4!4c:!    **""##SDC
 illIMM22);;$$U%8%8#>MM$++%  	i&6&677);;$$U%8%8#>$$$==%  ''A  ##SD
 !33
 	
 "33
 	
    c                    Uc?  UR                   (       a  UR                   nO!UR                  (       a  [        R                  n[	        XU4X4S.UD6$ )Nr'   r)   )return_typeis_comparisonr   r1   _binary_operate)r0   r@   rA   r'   r)   kws         rC   _custom_op_operaterL      sP     >>..K"..K#&CE rE   rG   c                   [         R                  " [        R                  X US9nU(       a  X`pOXpUc'  UR                  R                  XR                  5      u  p[        R                  " XxXUS9$ )Nr0   r/   )r+   r-   )r   r7   r   r?   
comparator_adapt_expressionr   r6   )	r0   r@   rA   r'   r)   rK   coerced_objleftrights	            rC   rJ   rJ      sq     """K !ee//;;  
 //Rb rE   c                    U[         R                  L a  [        X5      $ U[         R                  L a  [        X5      $ [        5       eN)r   r   r   NotImplementedErrorr0   r@   otherrK   s       rC   _conjunction_operaterY      s;     
Y^^D  	y}}	4!##rE   fnc                    U" U 5      $ rU    )r0   r@   rZ   rK   s       rC   _scalarr]      s     d8OrE   c                    [         R                  " [        R                  X US9nSUR                  ;   a  UR                  S   u  p[        XU4SU0UD6$ )NrN   in_opsr&   )r   r7   r   InElementRole_annotationsrD   )r0   r@   seq_or_selectabler&   rK   s        rC   _in_implrc      si     "((.B $111)66x@#/8<> rE   c                   [        U R                  [        R                  5      (       d\  [        U R                  [        R                  5      (       ad  [        U R                  R
                  [        R                  5      (       a1  [        R                  " [        R                  X US9n[        XU40 UD6$ [        XU40 UD6  g )NrN   )r2   typer   	INDEXABLETypeDecoratorimpl_instancer   r7   r   r?   rJ   _unsupported_implrW   s       rC   _getitem_implrj      s     	499h0011dii!7!788tyy..0B0BCC  ##U
 t5"55$E0R0rE   c                2    [        SUR                  -  5      e)Nz1Operator '%s' is not supported on this expression)rV   __name__)r0   r@   argrK   s       rC   ri   ri      s     ;bkkI rE   c                \    [        U S5      (       a  U R                  $ U R                  5       $ )z%See :meth:`.ColumnOperators.__inv__`.negation_clause)hasattrro   _negater0   r@   rK   s      rC   	_inv_implrs      s*     t&''###||~rE   c                H    [        U [        R                  U R                  S9$ )z%See :meth:`.ColumnOperators.__neg__`.r/   r+   )r   r   negre   rr   s      rC   	_neg_implrw     s     4)--tyyIIrE   c                H    [        U [        R                  U R                  S9$ )z)See :meth:`.ColumnOperators.bitwise_not`.ru   )r   r   bitwise_not_opre   rr   s      rC   _bitwise_not_implrz     s"    
 y//tyy rE   c                    [        U [        R                  [        R                  " [
        R                  UU [        R                  S94[        R                  U[        R                  L a  [        R                  O[        R                  S.UD6$ )z#See :meth:`.ColumnOperators.match`.rN   )r)   r&   )
rD   r   match_opr   r7   r   r?   r   	MATCHTYPEnot_match_oprW   s       rC   _match_implr     s    
 ##''		
 && Y''' ""##  rE   c                H    [        U [        R                  U R                  S9$ )z&See :meth:`.ColumnOperators.distinct`.ru   )r   r   distinct_opre   rr   s      rC   _distinct_implr   4  s"     y,,DII rE   c                   [        U [        R                  " [        R                  [
        R                  [        R                  " [        R                  UU [        R                  S9[        R                  " [        R                  UU [        R                  S9SS9UU[        R                  L a  [        R                  US9$ [        R                  US9$ )z%See :meth:`.ColumnOperators.between`.rN   Fgroupr,   r-   )r   r   _construct_for_listr   r   r   NULLTYPEr   r7   r   r?   
between_opnot_between_op)r0   r@   cleftcrightrK   s        rC   _between_implr   =  s     00NN''"	 ''"	 	
" 	 Y))) $$ 3 . %%3 rE   c                .    [         R                  " X5      $ rU   )r   _create_collation_expression)r0   r@   	collationrK   s       rC   _collate_implr   b  s     77HHrE   c           
         [        U [        R                  " [        R                  UU [
        R                  S9U[
        R                  SU0S9$ )NrN   flagsr   )r   r   r7   r   r?   r   comma_opnot_regexp_match_op)r0   r@   patternr   rK   s        rC   _regexp_match_implr   h  sP     ##''		
 	,,E" rE   c                F   [        U [        R                  " [        R                  [
        R                  [        R                  " [        R                  UU [        R                  S9[        R                  " [        R                  UU [        R                  S9SS9USU0S9$ )NrN   Fr   r   )r-   )r   r   r   r   r   r   r   r   r7   r   r?   )r0   r@   r   replacementr   rK   s         rC   _regexp_replace_implr   }  s     00''"++	 ''"++	 	
" 	E") rE   r   r   invaddmulsubdivmodbitwise_xor_opbitwise_or_opbitwise_and_opry   bitwise_lshift_opbitwise_rshift_optruedivfloordivr$   json_path_getitem_opjson_getitem_op	concat_opany_opall_opltler4   gtger3   r9   r:   like_opilike_opnot_like_opnot_ilike_opcontains_opicontains_opstartswith_opistartswith_opendswith_opiendswith_opdesc_opasc_opnulls_first_opnulls_last_opin_op	not_in_opr<   r=   collater|   r~   )r   r   r   rv   getitemlshiftrshiftcontainsregexp_match_opr   regexp_replace_opzDict[str, Tuple[Callable[..., ColumnElement[Any]], util.immutabledict[str, Union[OperatorType, Callable[..., ColumnElement[Any]]]]]]operator_lookup)r0   ColumnElement[Any]r@   r   rA   r   r&   zOptional[OperatorType]r'   r5   r(   zTuple[Type[Any], ...]r)   zOptional[TypeEngine[bool]]rB   r   returnzOperatorExpression[bool])FN)r0   r   r@   zcustom_op[Any]rA   r   r'   r5   r)   zOptional[TypeEngine[Any]]rK   r   r   r   )r0   r   r@   r   rA   zroles.BinaryElementRole[Any]r'   r5   r)   zOptional[TypeEngine[_T]]rK   r   r   zOperatorExpression[_T])
r0   r   r@   r   rX   r   rK   r   r   r   )
r0   r   r@   r   rZ   z2Callable[[ColumnElement[Any]], ColumnElement[Any]]rK   r   r   r   )r0   r   r@   r   rb   r   r&   r   rK   r   r   r   )
r0   r   r@   r   rm   r   rK   r   r   r   )r0   r   r@   r   rK   r   r   r   )r0   r   r@   r   r   r   r   r   rK   r   r   r   )
r0   ColumnElement[str]r@   r   r   strrK   r   r   r   )r0   r   r@   r   r   r   r   Optional[str]rK   r   r   r   )r0   r   r@   r   r   r   r   r   r   r   rK   r   r   r   )Z__doc__
__future__r   typingr   r   r   r   r   r	   r
   r    r   r   r   r   elementsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    TypeVarr!   TYPE_CHECKINGr#   r$   r%   re   r5   rD   rL   rJ   rY   r]   rc   rj   ri   rs   rw   rz   r   r   r   r   r   r   
EMPTY_DICTimmutabledict_create_any_create_allr   r   r3   r   r   r4   r:   r9   r   r   r   r   not_contains_opnot_icontains_opnot_startswith_opnot_istartswith_opnot_endswith_opnot_iendswith_op_create_desc_create_asc_create_nulls_first_create_nulls_lastr   r   r<   r=   r   __annotations__r\   rE   rC   <module>r      s   #               & # % ) *   (   % #  ^^D$	'$$ )-/3Dz4.@.2[

[
[
 
[

 &[
 [
 ,[
 ,[
 [
 [
D -1
 
 	
 +  0 ,0
 
&
  *  8$
$".$7:$BE$$
 	; 	
 
 % 	
  $1
1".17:1BE11 
".69AD


".
69

J
J".J69JJ
".69
".7:BE0
".69"
"" " 	"
 " "JI
I".I;>IFIII
  	
  *
  	
   TA
!4??3A	 $//2A 
It'A 
OT__-	A
 
OT__-A 
OT__-A 
OT__-A 
OT__-A 8A ot7A 8A ($//:A /4??;A /4??;A 1A  $//2!A" $doo6#A$ _doo>%A& 9'A( /4??3)A* D"5"A"ABC+A2 D"5"A"ABC3A: 	T//ill0KL
M;A< 	T//ill0KL
M=A> 	T//ill0KL
M?A@ 	T//ill0KL
MAAB 	T//ill0KL
MCAD 	T//ill0KL
MEAF K)G)GHIGAN K)C)CDEOAV K)>)>?@WA^ K)?)?@A_Af K):):;<gAn K););<=oAv K)B)BCDwA~ K)C)CDEAF K)D)DEFGAN K)E)EFGOAV K)B)BCDWA^ K)C)CDE_Af D/">">?@gAn D/"="=>?oAv D/"E"EFGwA~ D/"D"DEFAF K)<)<=>GAN K9:OAV 
K78WA^ K)9)9:;_Af t/gAh doo.iAj [$//2kAl #DOO4 $//2$doo6t't/ $//2 $//2"DOO4*DOO<.@.@AA   IrE   