+
    ‡)ÙjC  ã                   óÔ   € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHtHtHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHtHtHt ^ RIHt ^RIHt  ! R R]4      tR# )é    N)Ú	lru_cache)Úchain)Úsettings)Ú
FieldError)ÚDatabaseErrorÚNotSupportedErrorÚmodels)ÚBaseDatabaseOperations)Ú
OnConflict)ÚCol)Útimezone)Ú
parse_dateÚparse_datetimeÚ
parse_time)Úcached_property)ÚDatabasec                   ór  a a€ ] tR t^t oRtRRRR/tRt]! . R1O4      tR t	R t
R tR	 tR
 tR2R ltR2R 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 4       tRRRR/R ltR tR t R  t!V 3R! lt"R" t#R# t$R$ t%R% t&R& t'R' t(V 3R( lt)R) t*R* t+R+ t,R2V 3R, llt-R- t.V 3R. lt/R/ t0R0t1Vt2V ;t3# )3ÚDatabaseOperationsÚtextÚ	DateFieldÚTEXTÚDateTimeFieldzEXPLAIN QUERY PLANc                ó  € \        \        P                  ! R V 4       4      4      p\        V4      ^8X  d   R# \        V4      ^8”  d1   V P                  P
                  P                  \        V4      ,          # \        V4      # )z¸
SQLite has a compile-time default (SQLITE_LIMIT_VARIABLE_NUMBER) of
999 variables per query.

If there's only a single field to insert, the limit is 500
(SQLITE_MAX_COMPOUND_SELECT).
c              3   ó€   "  € T F4  p\        V\        P                  4      '       d   VP                  MV.x € K6  	  R # 5i©N)Ú
isinstancer	   ÚCompositePrimaryKeyÚfields)Ú.0Úfields   & Ú^/var/www/eggtrainer/venv/lib/python3.14/site-packages/django/db/backends/sqlite3/operations.pyÚ	<genexpr>Ú5DatabaseOperations.bulk_batch_size.<locals>.<genexpr>(   s>   é € ð  ñ $�Eô " %¬×)CÑ)C×DÒDð —L’Là˜ô!ó $ùs   ‚<>iô  )Úlistr   Úfrom_iterableÚlenÚ
connectionÚfeaturesÚmax_query_params)Úselfr   Úobjss   &&&r!   Úbulk_batch_sizeÚ"DatabaseOperations.bulk_batch_size   sp   € ô Ü×Òñ  ñ $ó ó ó	
ˆô ˆv‹;˜!ÔÙÜ�‹[˜1Œ_Ø—?‘?×+Ñ+×<Ñ<ÄÀFÃÕKÐKä�t“9Ðó    c                óh  € \         P                  \         P                  \         P                  3p\         P                  \         P
                  \         P                  \         P                  3p\        W4      '       dA   VP                  4        F,  p VP                  p\        WR4      '       d   \        R 4      hK.  	  \        V\         P                  4      '       d<   VP                  '       d(   \!        VP"                  4      ^8”  d   \        R4      hR# R# R#   \        \        3 d     K¡  i ; i)z{You cannot use Sum, Avg, StdDev, and Variance aggregations on date/time fields in sqlite3 since date/time is saved as text.zTSQLite doesn't support DISTINCT on aggregate functions accepting multiple arguments.N)r	   r   r   Ú	TimeFieldÚSumÚAvgÚVarianceÚStdDevr   Úget_source_expressionsÚoutput_fieldr   ÚAttributeErrorr   Ú	AggregateÚdistinctr&   Úsource_expressions)r*   Ú
expressionÚ
bad_fieldsÚbad_aggregatesÚexprr6   s   &&    r!   Úcheck_expression_supportÚ+DatabaseOperations.check_expression_support8   s  € Ü×&Ñ&¬×(<Ñ(<¼f×>NÑ>NÐOˆ
Ü Ÿ*™*¤f§j¡j´&·/±/Ä6Ç=Á=ÐQˆÜ�j×1Ò1Ø"×9Ñ9Ö;�ðØ#'×#4Ñ#4�Lô " ,×;Ò;Ü/ð@óð ñ <ñ <ô �z¤6×#3Ñ#3×4Ò4Ø×#×#Ð#Ü�J×1Ñ1Ó2°QÔ6ä#ð0óð ñ 7ñ $ñ 5øô '¬
Ð3ô ò ðús   ÂDÄD1Ä0D1c                ó6   € RV R2VP                  4       .VO53# )zÈ
Support EXTRACT with a user-defined function django_date_extract()
that's registered in connect(). Use single quotes because this is a
string and could otherwise cause a collision with a field name.
zdjango_date_extract(%s, Ú)©Úlower©r*   Úlookup_typeÚsqlÚparamss   &&&&r!   Údate_extract_sqlÚ#DatabaseOperations.date_extract_sqlT   s)   € ð *¨#¨¨aÐ0°;×3DÑ3DÓ3FÐ2PÈÑ2PÐPÐPr.   c                ó"   € VP                  4       # )z
Given a cursor object that has just performed an INSERT...RETURNING
statement into a table, return the list of returned data.
)Úfetchall)r*   Úcursors   &&r!   Úfetch_returned_insert_rowsÚ-DatabaseOperations.fetch_returned_insert_rows\   s   € ð
 �‰Ó Ð r.   c                ó   € V# )z>Do nothing since formatting is handled in the custom function.© )r*   rG   s   &&r!   Úformat_for_duration_arithmeticÚ1DatabaseOperations.format_for_duration_arithmeticc   s   € àˆ
r.   c                óX   € R V R2VP                  4       .VOV P                  V4      O53# )zdjango_date_trunc(%s, ú	, %s, %s)©rD   Ú_convert_tznames_to_sql©r*   rF   rG   rH   Útznames   &&&&&r!   Údate_trunc_sqlÚ!DatabaseOperations.date_trunc_sqlg   óF   € Ø'¨ u¨IÐ6Ø×ÑÓð9
àð9
ð ×)Ñ)¨&Ó1ñ9
ð 
ð 	
r.   c                óX   € R V R2VP                  4       .VOV P                  V4      O53# )zdjango_time_trunc(%s, rU   rV   rX   s   &&&&&r!   Útime_trunc_sqlÚ!DatabaseOperations.time_trunc_sqln   r\   r.   c                óp   € V'       d.   \         P                  '       d   WP                  P                  3# R# )N)NN)r   ÚUSE_TZr'   Útimezone_name)r*   rY   s   &&r!   rW   Ú*DatabaseOperations._convert_tznames_to_sqlu   s&   € ß”h—o—o�oØŸ?™?×8Ñ8Ð8Ð8ØÐr.   c                ó:   € R V R2. VOV P                  V4      O53# )zdjango_datetime_cast_date(rU   ©rW   ©r*   rG   rH   rY   s   &&&&r!   Údatetime_cast_date_sqlÚ)DatabaseOperations.datetime_cast_date_sqlz   ó8   € Ø+¨C¨5°	Ð:ð =
Øð=
à×)Ñ)¨&Ó1ñ=
ð 
ð 	
r.   c                ó:   € R V R2. VOV P                  V4      O53# )zdjango_datetime_cast_time(rU   re   rf   s   &&&&r!   Údatetime_cast_time_sqlÚ)DatabaseOperations.datetime_cast_time_sql€   ri   r.   c                óX   € R V R2VP                  4       .VOV P                  V4      O53# )zdjango_datetime_extract(%s, rU   rV   rX   s   &&&&&r!   Údatetime_extract_sqlÚ'DatabaseOperations.datetime_extract_sql†   sF   € Ø-¨c¨U°)Ð<Ø×ÑÓð?
àð?
ð ×)Ñ)¨&Ó1ñ?
ð 
ð 	
r.   c                óX   € R V R2VP                  4       .VOV P                  V4      O53# )zdjango_datetime_trunc(%s, rU   rV   rX   s   &&&&&r!   Údatetime_trunc_sqlÚ%DatabaseOperations.datetime_trunc_sql�   sF   € Ø+¨C¨5°	Ð:Ø×ÑÓð=
àð=
ð ×)Ñ)¨&Ó1ñ=
ð 
ð 	
r.   c                ó6   € R V R2VP                  4       .VO53# )zdjango_time_extract(%s, rB   rC   rE   s   &&&&r!   Útime_extract_sqlÚ#DatabaseOperations.time_extract_sql”   s'   € Ø)¨#¨¨aÐ0°;×3DÑ3DÓ3FÐ2PÈÑ2PÐPÐPr.   c                ó   € R # )ÚNULLrQ   ©r*   s   &r!   Úpk_default_valueÚ#DatabaseOperations.pk_default_value—   s   € Ùr.   c                óÎ  € Rp\        V4      V8”  dC   Rp\        ^ \        V4      V4       F$  pWWB,            pW0P                  V4      ,          pK&  	  V# RRP                  R.\        V4      ,          4      ,           pV P                  P                  P                  4       p VP                  Wa4      P                  4       VP                  4        #   TP                  4        i ; i)zF
Only for last_executed_query! Don't use this to execute SQL queries!
iç  zSELECT ú, zQUOTE(?)rQ   )	r&   ÚrangeÚ%_quote_params_for_last_executed_queryÚjoinr'   rM   ÚexecuteÚfetchoneÚclose)r*   rH   Ú
BATCH_SIZEÚresultsÚindexÚchunkrG   rM   s   &&      r!   r~   Ú8DatabaseOperations._quote_params_for_last_executed_queryš   s½   € ð ˆ
Üˆv‹;˜Ô#ØˆGÜ˜q¤# f£+¨zÖ:�Ø uÕ'9Ð:�Ø×EÑEÀeÓLÕL’ñ ;ð ˆNà˜$Ÿ)™) Z L´3°v³;Õ$>Ó?Õ?ˆð —‘×+Ñ+×2Ñ2Ó4ˆð	Ø—>‘> #Ó.×7Ñ7Ó9à�L‰L�NøˆF�L‰L�Nús   Â#C ÃC$c                ó  € V'       d|   \        V\        \        34      '       d   V P                  V4      pW#,          # \        VP	                  4       4      pV P                  V4      p\        \        W44      4      pW#,          # V# r   )r   r$   Útupler~   ÚvaluesÚdictÚzip)r*   rM   rG   rH   rŠ   s   &&&& r!   Úlast_executed_queryÚ&DatabaseOperations.last_executed_queryµ   sr   € ÷
 Ü˜&¤4¬ -×0Ò0Ø×CÑCÀFÓK�ð
 •<Ðô ˜vŸ}™}›Ó/�Ø×CÑCÀFÓK�Üœc &Ó1Ó2�Ø•<Ðð ˆJr.   c                ót   € VP                  R 4      '       d   VP                  R 4      '       d   V# RV,          # )Ú"z"%s")Ú
startswithÚendswith)r*   Únames   &&r!   Ú
quote_nameÚDatabaseOperations.quote_nameÇ   s.   € Ø�?‰?˜3×Ò D§M¡M°#×$6Ò$6ØˆKØ˜�}Ðr.   c                ó   € R# )é   éÿÿÿÿrQ   rx   s   &r!   Úno_limit_valueÚ!DatabaseOperations.no_limit_valueÌ   s   € Øˆ	r.   c                ó
  € R pVRR3pV P                   P                  4       ;_uu_ 4       pVP                  W#4      pVP                  4        Uu. uF  qf^ ,          NK  	  upuuRRR4       # u upi   + '       g   i     R# ; i)z÷
        WITH tables AS (
            SELECT %s name
            UNION
            SELECT sqlite_master.name
            FROM sqlite_master
            JOIN tables ON (sql REGEXP %s || tables.name || %s)
        ) SELECT name FROM tables;
        z(?i)\s+references\s+("|\')?z("|\')?\s*\(N)r'   rM   r€   rL   )r*   Ú
table_nameÚqueryrH   rM   r„   Úrows   &&     r!   Ú__references_graphÚ%DatabaseOperations.__references_graphÏ   sx   € ðˆð Ø*Øð
ˆð
 �_‰_×#Ñ#×%Ô%¨Ø—n‘n UÓ3ˆGØ&-×&6Ñ&6Ô&8Ó9Ñ&8˜s˜—F�FÑ&8Ñ9÷ &Ò%ùâ9÷ &×%Ð%ús   ª$A1ÁA,ÁA1Á,A1Á1B	c                ó:   € \        R R7      ! V P                  4      # )i   )Úmaxsize)r   Ú%_DatabaseOperations__references_graphrx   s   &r!   Ú_references_graphÚ$DatabaseOperations._references_graphâ   s   € ô  Õ% d×&=Ñ&=Ó>Ð>r.   Úreset_sequencesFÚallow_cascadec               ó¶  a € V'       d2   V'       d*   \        \        P                  ! V 3R  lV 4       4      4      pV Uu. uFM  pVP                  R4      : RVP                  R4      : RVP	                  S P                  V4      4      : R2NKO  	  ppV'       d4   V Uu. uF  pRV/NK	  	  ppVP                  S P                  W4      4       V# u upi u upi )c              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5ir   )r¤   )r   Útabler*   s   & €r!   r"   Ú/DatabaseOperations.sql_flush.<locals>.<genexpr>í   s   øé € Ð#VÉvÀe D×$:Ñ$:¸5×$AÐ$AËvùs   ƒ!ÚDELETEÚ ÚFROMÚ;rª   )Úsetr   r%   ÚSQL_KEYWORDÚ	SQL_FIELDr”   ÚextendÚsequence_reset_by_name_sql)r*   ÚstyleÚtablesr¦   r§   rª   rG   Ú	sequencess   f&&$$   r!   Ú	sql_flushÚDatabaseOperations.sql_flushè   sÅ   ø€ ß—mô Ü×#Ò#Ô#VÉvÓ#VÓVóˆFñ  ó
ñ  �ð	 ×!Ñ! (Ö+Ø×!Ñ! &Ö)Ø—‘ §¡°Ó 6Ö7ó	ñ  ð 	ð 
÷ Ù7=Ó>±v¨e˜' 5Ó)±vˆIÐ>Ø�J‰J�t×6Ñ6°uÓHÔIØˆ
ùò
ùò ?s   ¿ACÂ Cc                óì  € V'       g   . # VP                  R 4      : RVP                  V P                  R4      4      : RVP                  R4      : RVP                  V P                  R4      4      : RVP                  R4      : RVP                  V P                  R4      4      : RVP                  R4      : R	R
P	                  V Uu. uF  pRVR,          ,          NK  	  up4      : R2.# u upi )ÚUPDATEr­   Úsqlite_sequenceÚSETÚseqz = 0 ÚWHEREr“   ÚINz (r|   ú'%s'rª   z);)r±   Ú	SQL_TABLEr”   r²   r   )r*   rµ   r·   Úsequence_infos   &&& r!   r´   Ú-DatabaseOperations.sequence_reset_by_name_sqlý   sÄ   € ßØˆIð ×!Ñ! (Ö+Ø—‘ §¡Ð0AÓ BÖCØ×!Ñ! %Ö(Ø—‘ §¡°Ó 6Ö7Ø×!Ñ! 'Ö*Ø—‘ §¡°Ó 7Ö8Ø×!Ñ! $Ö'Ø—	‘	ÙJSÓTÉ)¸�V˜m¨GÕ4×4Ð4É)ÑTöðð
ð 	
ùò Us   ÃC1$c                óô   € Vf   R # \         P                  ! V4      '       dM   \        P                  '       d,   \         P                  ! WP
                  P                   4      pM\        R4      h\        V4      # )NzNSQLite backend does not support timezone-aware datetimes when USE_TZ is False.)r   Úis_awarer   ra   Ú
make_naiver'   Ú
ValueErrorÚstr©r*   Úvalues   &&r!   Úadapt_datetimefield_valueÚ,DatabaseOperations.adapt_datetimefield_value  s^   € ØŠ=Ùô ×Ò˜U×#Ò#Ü��ˆÜ ×+Ò+¨E·?±?×3KÑ3KÓL‘ä ð'óð ô
 �5‹zÐr.   c                ór   € Vf   R # \         P                  ! V4      '       d   \        R4      h\        V4      # )Nz5SQLite backend does not support timezone-aware times.)r   rÆ   rÈ   rÉ   rÊ   s   &&r!   Úadapt_timefield_valueÚ(DatabaseOperations.adapt_timefield_value   s3   € ØŠ=Ùô ×Ò˜U×#Ò#ÜÐTÓUÐUä�5‹zÐr.   c                ó  <€ \         SV `  V4      pVP                  P                  4       pVR 8X  d   VP	                  V P
                  4       V# VR8X  d   VP	                  V P                  4       V# VR8X  d   VP	                  V P                  4       V# VR8X  d#   VP	                  V P                  V4      4       V# VR8X  d   VP	                  V P                  4       V# VR8X  d   VP	                  V P                  4       V# )r   r   r0   ÚDecimalFieldÚ	UUIDFieldÚBooleanField)ÚsuperÚget_db_convertersr6   Úget_internal_typeÚappendÚconvert_datetimefield_valueÚconvert_datefield_valueÚconvert_timefield_valueÚget_decimalfield_converterÚconvert_uuidfield_valueÚconvert_booleanfield_value)r*   r;   Ú
convertersÚinternal_typeÚ	__class__s   &&  €r!   rÖ   Ú$DatabaseOperations.get_db_converters*  s  ø€ Ü‘WÑ.¨zÓ:ˆ
Ø"×/Ñ/×AÑAÓCˆØ˜OÔ+Ø×Ñ˜d×>Ñ>Ô?ð Ðð ˜kÔ)Ø×Ñ˜d×:Ñ:Ô;ð Ðð ˜kÔ)Ø×Ñ˜d×:Ñ:Ô;ð Ðð ˜nÔ,Ø×Ñ˜d×=Ñ=¸jÓIÔJð
 Ðð	 ˜kÔ)Ø×Ñ˜d×:Ñ:Ô;ð Ðð ˜nÔ,Ø×Ñ˜d×=Ñ=Ô>ØÐr.   c                ó  € Veˆ   \        V\        P                  4      '       g   \        V4      p\        P                  '       dG   \
        P                  ! V4      '       g+   \
        P                  ! WP                  P
                  4      pV# r   )	r   Údatetimer   r   ra   r   rÆ   Ú
make_awarer'   ©r*   rË   r;   r'   s   &&&&r!   rÙ   Ú.DatabaseOperations.convert_datetimefield_value;  s]   € ØÒÜ˜e¤X×%6Ñ%6×7Ò7Ü& uÓ-�Ü��ˆ¤x×'8Ò'8¸×'?Ò'?Ü ×+Ò+¨E·?±?×3KÑ3KÓL�Øˆr.   c                ód   € Ve,   \        V\        P                  4      '       g   \        V4      pV# r   )r   rä   Údater   ræ   s   &&&&r!   rÚ   Ú*DatabaseOperations.convert_datefield_valueC  ó(   € ØÒÜ˜e¤X§]¡]×3Ò3Ü" 5Ó)�Øˆr.   c                ód   € Ve,   \        V\        P                  4      '       g   \        V4      pV# r   )r   rä   Útimer   ræ   s   &&&&r!   rÛ   Ú*DatabaseOperations.convert_timefield_valueI  rë   r.   c                ó
  aa€ \         P                  ! ^R7      P                  o\        V\        4      '       dD   \         P
                  ! ^4      P                  VP                  P                  ) 4      oVV3R lpV# V3R lpV# )é   )Úprecc                 ój   <€ V e.   S! V 4      P                  SVP                  P                  R7      # R # )N)Úcontext)Úquantizer6   ró   )rË   r;   r'   Úcreate_decimalÚquantize_values   &&&€€r!   Ú	converterÚ@DatabaseOperations.get_decimalfield_converter.<locals>.converterX  s<   ø€ ØÒ$Ù)¨%Ó0×9Ñ9Ø&°
×0GÑ0G×0OÑ0Oð :ó ð ñ %r.   c                 ó    <€ V e	   S! V 4      # R # r   rQ   )rË   r;   r'   rõ   s   &&&€r!   r÷   rø   `  s   ø€ ØÒ$Ù)¨%Ó0Ð0ñ %r.   )	ÚdecimalÚContextÚcreate_decimal_from_floatr   r   ÚDecimalÚscalebr6   Údecimal_places)r*   r;   r÷   rõ   rö   s   && @@r!   rÜ   Ú-DatabaseOperations.get_decimalfield_converterO  sk   ù€ ô !Ÿš¨bÔ1×KÑKˆÜ�j¤#×&Ò&Ü$Ÿ_š_¨QÓ/×6Ñ6Ø×(Ñ(×7Ñ7Ð7óˆNöð Ðõ	1ð Ðr.   c                ó:   € Ve   \         P                  ! V4      pV# r   )ÚuuidÚUUIDræ   s   &&&&r!   rÝ   Ú*DatabaseOperations.convert_uuidfield_valuef  s   € ØÒÜ—I’I˜eÓ$ˆEØˆr.   c                ó*   € VR9   d   \        V4      # T# )r—   )r—   r   )Úboolræ   s   &&&&r!   rÞ   Ú-DatabaseOperations.convert_booleanfield_valuek  s   € Ø# vœoŒt�E‹{Ð8°5Ð8r.   c                óž   <€ VR 8X  d   RRP                  V4      ,          # VR8X  d   RRP                  V4      ,          # \        SV `	  W4      # )Ú^z	POWER(%s)Ú,Ú#z
BITXOR(%s))r   rÕ   Úcombine_expression)r*   Ú	connectorÚsub_expressionsrá   s   &&&€r!   r  Ú%DatabaseOperations.combine_expressionn  sM   ø€ ð ˜ÔØ §¡¨/Ó!:Õ:Ð:Ø˜#ÔØ #§(¡(¨?Ó";Õ;Ð;Ü‰wÑ)¨)ÓEÐEr.   c                ó¼   € VR9  d   \        RV,          4      hRV,          .V,           p\        V4      ^8”  d   \        R4      hRRP                  V4      ,          # )Ú+z$Invalid connector for timedelta: %s.rÁ   z)Too many params for timedelta operations.zdjango_format_dtdelta(%s)r|   )r  Ú-Ú*Ú/)r   r&   rÈ   r   )r*   r  r  Ú	fn_paramss   &&& r!   Úcombine_duration_expressionÚ.DatabaseOperations.combine_duration_expressionw  sZ   € ØÐ0Ô0ÜÐ FÈÕ RÓSÐSØ˜iÕ'Ð(¨?Õ:ˆ	Üˆy‹>˜AÔÜÐHÓIÐIØ*¨T¯Y©Y°yÓ-AÕAÐAr.   c                ó   € VR9   d   R# R# )ÚPositiveBigIntegerField)r  ÚPositiveIntegerFieldÚPositiveSmallIntegerField)r   ì   ÿÿÿÿ )lûÿÿÿ         r  rQ   )r*   rà   s   &&r!   Úinteger_field_rangeÚ&DatabaseOperations.integer_field_range  s   € ð ð 
ô 
ð
 ,Ð+Ø:Ð:r.   c                ób   € Vw  rEVw  rg. VOVO5pVR 8X  d   RV: RV: R2V3# RV: RV: R2V3# )r0   zdjango_time_diff(r|   rB   zdjango_timestamp_diff(rQ   )	r*   rà   ÚlhsÚrhsÚlhs_sqlÚ
lhs_paramsÚrhs_sqlÚ
rhs_paramsrH   s	   &&&&     r!   Úsubtract_temporalsÚ%DatabaseOperations.subtract_temporalsŠ  sN   € Ø!ÑˆØ!ÑˆØ+�:Ð+ 
Ñ+ˆØ˜KÕ'Û18»'ÐBÀFÐJÐJð (ã29»7ÐCÀVÐKÐKr.   c                óR   <€ V\         P                  8X  d   R # \        SV `  VR7      # )zINSERT OR IGNORE INTO)Úon_conflict)r   ÚIGNORErÕ   Úinsert_statement)r*   r)  rá   s   &&€r!   r+  Ú#DatabaseOperations.insert_statement’  s'   ø€ Øœ*×+Ñ+Ô+Ù*Ü‰wÑ'°KÐ'Ó@Ð@r.   c                ó  € V'       g   R# V Uu. uFR  pV P                  VP                  P                  P                  4      : RV P                  VP                  4      : 2NKT  	  ppRRP                  V4      ,          R3# u upi )Ú Ú.zRETURNING %sr|   rQ   )r.  rQ   )r”   ÚmodelÚ_metaÚdb_tableÚcolumnr   )r*   r   r    Úcolumnss   &&  r!   Úreturn_insert_columnsÚ(DatabaseOperations.return_insert_columns—  s~   € çØˆMñ  ó
ñ  �ð —‘ §¡× 1Ñ 1× :Ñ :Ö;Ø—‘ §¡Õ-óñ
  ð 	ð 
ð  §	¡	¨'Ó 2Õ2°BÐ6Ð6ùò
s   �ABc                ór  <€ V\         P                  8X  dŒ   V P                  P                  P                  '       df   R RP                  \        V P                  V4      4      : RRP                  \        V P                  V4       Uu. uF
  pV RV 2NK  	  up4      : 2# \        SV `%  VVVV4      # u upi )zON CONFLICT(r|   z) DO UPDATE SET z = EXCLUDED.)
r   r»   r'   r(   Ú%supports_update_conflicts_with_targetr   Úmapr”   rÕ   Úon_conflict_suffix_sql)r*   r   r)  Úupdate_fieldsÚunique_fieldsr    rá   s   &&&&& €r!   r:  Ú)DatabaseOperations.on_conflict_suffix_sql¥  s®   ø€ àœ:×,Ñ,Ô,Ø—‘×(Ñ(×N×NÑNð —	‘	œ#˜dŸo™o¨}Ó=Ö>Ø—	‘	ô &)¨¯©¸-Ô%Hóá%H˜Eð !˜' ¨e¨WÓ5Ù%Hñõðð ô ‰wÑ-ØØØØó	
ð 	
ùòs   ÂB4c                ó6   € \         P                  R8  d   R.# . # )é   zGROUP BY TRUE)r?  é'   )r   Úsqlite_version_inforx   s   &r!   Úforce_group_byÚ!DatabaseOperations.force_group_byº  s   € Ü$,×$@Ñ$@À7Ô$J�Ð ÐRÐPRÐRr.   rQ   )ÚnullÚfalseÚtruer   )4Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú"cast_char_field_without_max_lengthÚcast_data_typesÚexplain_prefixÚ	frozensetÚjsonfield_datatype_valuesr,   r?   rI   rN   rR   rZ   r^   rW   rg   rk   rn   rq   rt   ry   r~   r�   r”   r™   r£   r   r¤   r¸   r´   rÌ   rÏ   rÖ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   r  r  r  r&  r+  r5  r:  rB  Ú__static_attributes__Ú__classdictcell__Ú__classcell__)rá   Ú__classdict__s   @@r!   r   r      s  ù‡ € Ø)/Ð&à�VØ˜ð€Oð *€Nñ !*Ò*CÓ DÐòò2ò8Qò!òô
ô
òò

ò
ò
ò
òQòòò6ò$ò
ò:ð& ñ?ó ð?ð
¸%ð Èuô ò*
ò&ò õò"òòòò.ò
9õFòBò	;òL÷Aò
7õ
÷*Sò Sr.   r   ) rä   rú   r  Ú	functoolsr   Ú	itertoolsr   Údjango.confr   Údjango.core.exceptionsr   Ú	django.dbr   r   r	   Ú"django.db.backends.base.operationsr
   Údjango.db.models.constantsr   Údjango.db.models.expressionsr   Údjango.utilsr   Údjango.utils.dateparser   r   r   Údjango.utils.functionalr   Úbaser   r   rQ   r.   r!   Ú<module>r`     sI   ðÛ Û Û Ý Ý å  Ý -ß >Ñ >Ý EÝ 1Ý ,Ý !ß IÑ IÝ 3å ôgSÐ/ö gSr.   