From 0c2ce1a54992ffb237d7222aea415a6e59bdf172 Mon Sep 17 00:00:00 2001 From: Yik Teng Hie Date: Tue, 18 Oct 2022 11:49:00 +0800 Subject: [PATCH] Initial --- sqlite3.def | 341 ++ sqlite3.dll | Bin 0 -> 2159616 bytes sqlite3.exp | Bin 0 -> 48247 bytes sqlite3.h | 12836 ++++++++++++++++++++++++++++++++++++++++++++++++++ sqlite3.lib | Bin 0 -> 79668 bytes 5 files changed, 13177 insertions(+) create mode 100644 sqlite3.def create mode 100644 sqlite3.dll create mode 100644 sqlite3.exp create mode 100644 sqlite3.h create mode 100644 sqlite3.lib diff --git a/sqlite3.def b/sqlite3.def new file mode 100644 index 0000000..f44b660 --- /dev/null +++ b/sqlite3.def @@ -0,0 +1,341 @@ +EXPORTS +sqlite3_aggregate_context +sqlite3_aggregate_count +sqlite3_auto_extension +sqlite3_autovacuum_pages +sqlite3_backup_finish +sqlite3_backup_init +sqlite3_backup_pagecount +sqlite3_backup_remaining +sqlite3_backup_step +sqlite3_bind_blob +sqlite3_bind_blob64 +sqlite3_bind_double +sqlite3_bind_int +sqlite3_bind_int64 +sqlite3_bind_null +sqlite3_bind_parameter_count +sqlite3_bind_parameter_index +sqlite3_bind_parameter_name +sqlite3_bind_pointer +sqlite3_bind_text +sqlite3_bind_text16 +sqlite3_bind_text64 +sqlite3_bind_value +sqlite3_bind_zeroblob +sqlite3_bind_zeroblob64 +sqlite3_blob_bytes +sqlite3_blob_close +sqlite3_blob_open +sqlite3_blob_read +sqlite3_blob_reopen +sqlite3_blob_write +sqlite3_busy_handler +sqlite3_busy_timeout +sqlite3_cancel_auto_extension +sqlite3_changes +sqlite3_changes64 +sqlite3_clear_bindings +sqlite3_close +sqlite3_close_v2 +sqlite3_collation_needed +sqlite3_collation_needed16 +sqlite3_column_blob +sqlite3_column_bytes +sqlite3_column_bytes16 +sqlite3_column_count +sqlite3_column_database_name +sqlite3_column_database_name16 +sqlite3_column_decltype +sqlite3_column_decltype16 +sqlite3_column_double +sqlite3_column_int +sqlite3_column_int64 +sqlite3_column_name +sqlite3_column_name16 +sqlite3_column_origin_name +sqlite3_column_origin_name16 +sqlite3_column_table_name +sqlite3_column_table_name16 +sqlite3_column_text +sqlite3_column_text16 +sqlite3_column_type +sqlite3_column_value +sqlite3_commit_hook +sqlite3_compileoption_get +sqlite3_compileoption_used +sqlite3_complete +sqlite3_complete16 +sqlite3_config +sqlite3_context_db_handle +sqlite3_create_collation +sqlite3_create_collation_v2 +sqlite3_create_collation16 +sqlite3_create_filename +sqlite3_create_function +sqlite3_create_function_v2 +sqlite3_create_function16 +sqlite3_create_module +sqlite3_create_module_v2 +sqlite3_create_window_function +sqlite3_data_count +sqlite3_data_directory +sqlite3_database_file_object +sqlite3_db_cacheflush +sqlite3_db_config +sqlite3_db_filename +sqlite3_db_handle +sqlite3_db_mutex +sqlite3_db_name +sqlite3_db_readonly +sqlite3_db_release_memory +sqlite3_db_status +sqlite3_declare_vtab +sqlite3_deserialize +sqlite3_drop_modules +sqlite3_enable_load_extension +sqlite3_enable_shared_cache +sqlite3_errcode +sqlite3_errmsg +sqlite3_errmsg16 +sqlite3_error_offset +sqlite3_errstr +sqlite3_exec +sqlite3_expanded_sql +sqlite3_expired +sqlite3_extended_errcode +sqlite3_extended_result_codes +sqlite3_file_control +sqlite3_filename_database +sqlite3_filename_journal +sqlite3_filename_wal +sqlite3_finalize +sqlite3_free +sqlite3_free_filename +sqlite3_free_table +sqlite3_get_autocommit +sqlite3_get_auxdata +sqlite3_get_table +sqlite3_global_recover +sqlite3_hard_heap_limit64 +sqlite3_initialize +sqlite3_interrupt +sqlite3_keyword_check +sqlite3_keyword_count +sqlite3_keyword_name +sqlite3_last_insert_rowid +sqlite3_libversion +sqlite3_libversion_number +sqlite3_limit +sqlite3_load_extension +sqlite3_log +sqlite3_malloc +sqlite3_malloc64 +sqlite3_memory_alarm +sqlite3_memory_highwater +sqlite3_memory_used +sqlite3_mprintf +sqlite3_msize +sqlite3_mutex_alloc +sqlite3_mutex_enter +sqlite3_mutex_free +sqlite3_mutex_leave +sqlite3_mutex_try +sqlite3_next_stmt +sqlite3_open +sqlite3_open_v2 +sqlite3_open16 +sqlite3_os_end +sqlite3_os_init +sqlite3_overload_function +sqlite3_prepare +sqlite3_prepare_v2 +sqlite3_prepare_v3 +sqlite3_prepare16 +sqlite3_prepare16_v2 +sqlite3_prepare16_v3 +sqlite3_preupdate_blobwrite +sqlite3_preupdate_count +sqlite3_preupdate_depth +sqlite3_preupdate_hook +sqlite3_preupdate_new +sqlite3_preupdate_old +sqlite3_profile +sqlite3_progress_handler +sqlite3_randomness +sqlite3_realloc +sqlite3_realloc64 +sqlite3_release_memory +sqlite3_reset +sqlite3_reset_auto_extension +sqlite3_result_blob +sqlite3_result_blob64 +sqlite3_result_double +sqlite3_result_error +sqlite3_result_error_code +sqlite3_result_error_nomem +sqlite3_result_error_toobig +sqlite3_result_error16 +sqlite3_result_int +sqlite3_result_int64 +sqlite3_result_null +sqlite3_result_pointer +sqlite3_result_subtype +sqlite3_result_text +sqlite3_result_text16 +sqlite3_result_text16be +sqlite3_result_text16le +sqlite3_result_text64 +sqlite3_result_value +sqlite3_result_zeroblob +sqlite3_result_zeroblob64 +sqlite3_rollback_hook +sqlite3_rtree_geometry_callback +sqlite3_rtree_query_callback +sqlite3_serialize +sqlite3_set_authorizer +sqlite3_set_auxdata +sqlite3_set_last_insert_rowid +sqlite3_shutdown +sqlite3_sleep +sqlite3_snprintf +sqlite3_soft_heap_limit +sqlite3_soft_heap_limit64 +sqlite3_sourceid +sqlite3_sql +sqlite3_status +sqlite3_status64 +sqlite3_step +sqlite3_stmt_busy +sqlite3_stmt_isexplain +sqlite3_stmt_readonly +sqlite3_stmt_status +sqlite3_str_append +sqlite3_str_appendall +sqlite3_str_appendchar +sqlite3_str_appendf +sqlite3_str_errcode +sqlite3_str_finish +sqlite3_str_length +sqlite3_str_new +sqlite3_str_reset +sqlite3_str_value +sqlite3_str_vappendf +sqlite3_strglob +sqlite3_stricmp +sqlite3_strlike +sqlite3_strnicmp +sqlite3_system_errno +sqlite3_table_column_metadata +sqlite3_temp_directory +sqlite3_test_control +sqlite3_thread_cleanup +sqlite3_threadsafe +sqlite3_total_changes +sqlite3_total_changes64 +sqlite3_trace +sqlite3_trace_v2 +sqlite3_transfer_bindings +sqlite3_txn_state +sqlite3_update_hook +sqlite3_uri_boolean +sqlite3_uri_int64 +sqlite3_uri_key +sqlite3_uri_parameter +sqlite3_user_data +sqlite3_value_blob +sqlite3_value_bytes +sqlite3_value_bytes16 +sqlite3_value_double +sqlite3_value_dup +sqlite3_value_free +sqlite3_value_frombind +sqlite3_value_int +sqlite3_value_int64 +sqlite3_value_nochange +sqlite3_value_numeric_type +sqlite3_value_pointer +sqlite3_value_subtype +sqlite3_value_text +sqlite3_value_text16 +sqlite3_value_text16be +sqlite3_value_text16le +sqlite3_value_type +sqlite3_version +sqlite3_vfs_find +sqlite3_vfs_register +sqlite3_vfs_unregister +sqlite3_vmprintf +sqlite3_vsnprintf +sqlite3_vtab_collation +sqlite3_vtab_config +sqlite3_vtab_distinct +sqlite3_vtab_in +sqlite3_vtab_in_first +sqlite3_vtab_in_next +sqlite3_vtab_nochange +sqlite3_vtab_on_conflict +sqlite3_vtab_rhs_value +sqlite3_wal_autocheckpoint +sqlite3_wal_checkpoint +sqlite3_wal_checkpoint_v2 +sqlite3_wal_hook +sqlite3_win32_is_nt +sqlite3_win32_mbcs_to_utf8 +sqlite3_win32_mbcs_to_utf8_v2 +sqlite3_win32_set_directory +sqlite3_win32_set_directory16 +sqlite3_win32_set_directory8 +sqlite3_win32_sleep +sqlite3_win32_unicode_to_utf8 +sqlite3_win32_utf8_to_mbcs +sqlite3_win32_utf8_to_mbcs_v2 +sqlite3_win32_utf8_to_unicode +sqlite3_win32_write_debug +sqlite3changegroup_add +sqlite3changegroup_add_strm +sqlite3changegroup_delete +sqlite3changegroup_new +sqlite3changegroup_output +sqlite3changegroup_output_strm +sqlite3changeset_apply +sqlite3changeset_apply_strm +sqlite3changeset_apply_v2 +sqlite3changeset_apply_v2_strm +sqlite3changeset_concat +sqlite3changeset_concat_strm +sqlite3changeset_conflict +sqlite3changeset_finalize +sqlite3changeset_fk_conflicts +sqlite3changeset_invert +sqlite3changeset_invert_strm +sqlite3changeset_new +sqlite3changeset_next +sqlite3changeset_old +sqlite3changeset_op +sqlite3changeset_pk +sqlite3changeset_start +sqlite3changeset_start_strm +sqlite3changeset_start_v2 +sqlite3changeset_start_v2_strm +sqlite3rebaser_configure +sqlite3rebaser_create +sqlite3rebaser_delete +sqlite3rebaser_rebase +sqlite3rebaser_rebase_strm +sqlite3session_attach +sqlite3session_changeset +sqlite3session_changeset_size +sqlite3session_changeset_strm +sqlite3session_config +sqlite3session_create +sqlite3session_delete +sqlite3session_diff +sqlite3session_enable +sqlite3session_indirect +sqlite3session_isempty +sqlite3session_memory_used +sqlite3session_object_config +sqlite3session_patchset +sqlite3session_patchset_strm +sqlite3session_table_filter diff --git a/sqlite3.dll b/sqlite3.dll new file mode 100644 index 0000000000000000000000000000000000000000..6676ae0384cc0c533b7f24015cdf6f951ecf742b GIT binary patch literal 2159616 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


q(fK9;Eb-=RG>^EBVNa}g! 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
Mb0WukIra0}FxnVQz|~dP@(?d9 zdN@{^JK541S$G9rWquB)*%5mpM&nPTEDky^70B)iN%B*U?^kYc$56zcS{3ejA`q_& z?|LG?opWm(DD3q^=bojX5pz!q_tZy7+eD`)=EsA*GwDh#yt!M&es&q+j_kaeC~#Ow z0mfS9M}&uTrpCu>K1{&8KIv?Ue}sRbdEYGmlE5+% zAz;r{WzL89{u&LX1=1Sc~v-Y2bNVBGy_CZ z1H)NJCH)y2Mo3Dz;3&4lm7jh#2!!53YsF`>_pStqj@wp_F#=o zbS;|W*d+FE$lx$7%0S283+(Q|?89?II|6|bQW@GYz8$8a#y{H77u|+(l9=3xJY=c( zMx7|L7JiH6BoUs8Z($Q33dK+O5gEpTM`=z%iQDF4VJkcghG&Jp6z2#x`=t-dzvcBf z@bJacB7}wVW<;X)efs<@AHc~;Z4a0Ux6cx?eFAj6RX_L_-l{k2B-vE;IOI(f@3#7h z1G%=C6Y%(tsx+BAXA z<$%0@<6gU_5B5$^+{TOP#z6)F@7cSD?b0W1J7AX7`X77^0cJv_sn#)1rp35wi zbkXf4ZvHT$6ZM`M=pQ%appSGdylbsawZO8k(|yp_Z-=#=7I94i(%A|Cp3bnULUT4W~FpW9Pyc$bS=(K-Hxk$K&ZB4K@n{l*7o1J*myEutV3t0&4 zFd}*`lKQqNI_GD5dW@xv%Q!33%>xu8k$Z%nJ~rF5fgQWc#aZdAJE6C|aMa)b1?Cv` zKL{~l7EAyd6P}5{XPEIsQde&`CTC8wEPk+mUEhlHYcIuW-!_9{R$rC7R0Au%$!XlT zC^-hYx~K8V|12rVr@j3Y0-r+QzXJl~pHhB~^7i?2z6W<4==gvzT~>0wAGYETT%te^ z+fP?dEJwa5kKbe`Itk8r0&YgCzfc3!Y!^JGGRBMn2Vep_qrjNepf4p;7v}$9tE5EXC2B&Hv-FkY!2c? zNw0l@WiJjHI#SXkZ1s^|2%lrGpS_GYjQ?E9IW8fb@gzF`t+%t?-_rA%pPE2c7*+gq zH&xChIa6|{>Q>&hpXw@e6VFUQD?QuZ`%G7vD1IhpQV&b6^C76l}$qmsv% zB#eI+2Z^U?o74gWn8BS&{X51{#g zGBd{S>mpmcW=IY+t-8|amzY7*A`^&e&WyB3LD{7P=;)3l7%FLRctBY*0JvaxpYF%ly zTjrJGZr!_E;oFpWTj6B$@NB`OgBYxWT9u$SWU!zXm-X|^Mn-i%u!>_ECT#I|Ap(to z>uaX~WnQxN%vtqyeXz+HK1L{|HrQ1=2S+cD``m9u8PFW@=3fys<8JamQ{at~6?H#l z1^}1oB3s-#C9t5V^Gp?V<^dkk&5eH3ImIM7 zX=I$6?8sa7#4bM3`=}gyNVjApB^hE&@bxurNr6fR^703!8jcm39mTWwIbQ$1VqU~d zGNg-a@#T8aAkTs36P_IA*7dONJ2qx8%iBaai1P4N)lCh^8a_8})&%6yz5x*beYTJSDd#!~ zo+zn^i?oL6^<)i6f4~&wS*tX;V4P1eiffUoD@-Cj6Kh(n>LcTa_TuN^6on{CyvJ*h zPQ>1vh!0CAn!Q&l_Gaw`bPUVyWcJ!XWVhNWPt9*6+tqNZdZ`dpV$k}qL0FlAsB}Kc zzDLJ~IAuM;U=!Vr5AlK_Zn=?Ot9$fhlN0KCn^!hFdx%Rbj94MJbq(KuNN0g zHMud-Pl*SH>cnZLe{{*IbhCYl2@yGAMEepqMC2AHtlpD{%0f@=3Y!>46no-9(uRMQ z0}H44Wo7NuX*Y(f=FnIx@UL5Qrp&7_T1V?SxzXO4+&whzm!eA29+m*gtKcdy{t^k8 z%k{@tw=ox}Ta3_Ie=78+QGYy*Jd_5jg%?axF2u(K0+pq*&uLf#WL2wk6j%06B%#PZ zYyC*h5uqMS+LnmK4c?j5+G0ypSTT_+900~i?*lF3RAO%k0 zDISc5B`3JyF}FB7XSta}W#B8w_Rl-{3!d3slA{>VCD*q8*VqgRI?ULt{z)9I=F3r; zUO%sr>3rKw0r+zD{OK~#XP}3QxnO38IiWO@;^l9gzVLVUrA-*KIbZmu7V%v)v6Ui8+dVnb_?{eTe47Yj_nAu?C(pfob_q3$roSZLJ$Oa`QOI_KPS*wWUtaE5 zYSopVEHSSX2fdF(|52jTnupiup~f5N7;VTBMs2vGsaEn)cPuDrpL724)!u>pI5&_V z=LWLW9SC&%k8=b0ac&?>-GS&?ZXoM!%nf9P`sgCJGfXcbSGV(&f$Z_+2J$^!iI9Cr zPwe8$ypI^jP;VeS{JME)!Z0ah2pA_MRP!f=UHThgqXVlIFRTSvMV*Rfj{PA)W1uQPoYH;k@$q+KN9dVIZ&|#{C0m z#E*rbRGEQ9Dyd87y$=OV_tnHJR{G9zy^uV|M^*@X2*TtrhC$9G(b`F+$2f3i{x&5c zVtFy=L9)4W5VbG4jxP?PgGTJPoL^l| zEaKX+O!^Fz@`R3#k4Www91kRS4~h>??kshMNDl6oQE88&ctw))|*)J&?>>W8Ot5m!&RFS>B zgsxcy%awD3O|f_!y;)PWe{b3c?9RI248<2$|70s)yOhaocfI3=h3no(yBzElmT?`S zyHvM2UTQrGCNzn`AJegJjahAx*Ra(7W;Os@V>{p&wb^%wDB_x04z zw7CNTP|mDd+_8{-ap`pxNR~gK)WaHB>fu8E8gru`Qc0#>-mqbT=j^~k z2GZjS;wPgm&Q0d=y^~q2>H%5D4ew^VCR|IXbtdx*;m7EPAXoi>YK~uC-4=>Z@dAqc z;L(rB=z=5{L`Jctj7Fi2>O!Z|4*DwjCkImw(M| zS5h*x0+!Ns?4eq-hYXafYsUs6JMAu^l18BtPH484LH^VJ>$dve27&yUwHkWJ%@6;m zzy-B0#FHp;=7J%U3o3k&l*z|M*ejxV@~4_oLa-=d--N~tbkQcKDlQ?XJO3P2$QQRb z_r1shSf4a+^8uGD^&$W42~)?^VlSYB_s>6W`}$j%Z8tsUsCi-TK&O%oh@PJA?D?Ej z_EZo5@SirI`cUM@-K1)qT!s-FQJEFX>iZkcpZ>3A?odgKdX^Dz8qb7LMVTPa9?#(U{{BGK<(BaEG}x<}Dm-6GQJ zr&8Vd7ArWb*r8STypv_DKh^By*?*XeGtnle4%}}$x*Ec0Lsg5fOB7tCZ9#Rohrqe_dh_9B9#)#ZxmwB^uxC+;xEq z0-6>p=>d2c?Q3HH-?_^Ey;eST2VNw2Z5Oc(KK4uG%yN~|qUOv^6$ zdW(6y+3g%oXbKJkXD>F$#ooV5#rahqz(W8Vng7|FRFm^$e+HduzQ`7>;uM`149ER7d8x5_Tb}GV;$VdS$%^mC?E`u(rCuJDXC=sfZgws=se06qL)^#aW z5gfeVe%|ygC#5)vjwL@V#KsgNbs<=hSQe$3!KtgpdbUII?`)@?)YXjyM;%U|g)WhU zOmO8OgWW~&_FL~|BURUFr@j;~cFT55!1bSeWoB&%@GKA*LnEmF{52&Qajew=rL)PK zp95CFe{BJ)43o#A89NqG(XTsfmraIx155`sOl0(Bp-EXkhR&I1woaM%UDK|#m z!J33`;VX(|MhK66(-SU$)q6dBR;(=+*SE^r`HiL<2nD-nDn{8tAbEYA{YLdbnZs7)hLyg_AGlqa`G_G< zNbrK?G#BW&j{?gcWo&fs<{J5uU0e8lU(oN1ACHCkp>oq#80)EiB~o^?BfsqRy1PYR z%e?neeY$G?s0T-6#}4u6w`l#}i_gIO~BS>*W zL}()yut(YEwQO^8W2eZTl&Y=Ze--~j$P;k;sXa5AuC>Bl1>dC1A6Z@%UOKVR=LekY zYbAon%?xj{aSyXVk2!KJ0nL(AM~bnlq*3CK#fh3yxsO9Qt{-w{inI;`3v2|qcX(faXOCIeC6ex*-(YxqRlX0FD{oJHmh!0P9<7#Z2 z`<)RZo~GX^2qNe9#&clXuRT}ZawI;rN3XvAnfs+pfBEE7$0VE3>L8}z2b>j>OONw;OZ(W1M%`gCA^*wxihrP z80zW`f#Lp8B1lGEc`lrArY5DQt{QeP9QbNi7^HjQ~a zRGs}+tojR$5gu!GieW3Kj&%{9cT%9}GJW_wIk6BQ4lO5WR!_<2t{_n-ltHNJL1@1P zMSjR8=M^MuoJSpV*xuS>C2b?1C(7ZrD)>c|A4YWCW~q!`MXDZEV)IkN+!R<3rQyy4x z9i+DWV^k9)@YKAJY9_5bbH}K(y-a#cfaV;9L{l)3dlP73YGBpd!@!hNEqi8__|RcJ zt4k7tlCSPnVWwp1tG*JSKe^FAXkwvWr`lj(RX2kH#_o3)Bc9n7Kbl?T4=fuAXwB?6 zbKBj93N?N*|GA}CdZlmCRWl5`2RJXrWP7iNZ!a$IiJW5<#t$cQ(m74;S1sPenFYeY zOrrJ~H5CiDhTDHuW@wwa<1Kr^JdrKc{nrbKx74lUI8#Sr9wneifuh7MX|e1j3?Z9% zb}0iC>mc+dT+TUdmM9(>U)Uo! z#4mgV$S`Dg69|*FoBNzn-3?@^SzJ!JXaQJvwqEbX+^;Rs4Z%p&7q3fvH?Rs4Vi=Pb zkJ9*y)4j%H_BtpX=S{pJz{Tx)H_-7#mI^*vP^ZsX=>}q7bS`EO4m9lcV)YG7#pvV4?+{GETXa(RAyg{QT$U*^F_O}-5V(QZ$y^= z1Dl4QHvDrVLWq@fgce>SqtAAhln;V>E2ST>9^sh@AXmGSA}DkMw;HjONcGpui&yyj zGvr#zL6nf$twJ19q2x-Of0*uu7&JaktVndRJ@ISp(+C)THPms%9iq{}4#xjD=xn}L zuP0{p)Rz_#z13bU-Zp-+JsMQz?|5nPvAlnHzxTgA-(;p6m&NRBeX!%DCELlnne3X; zv17@1jRT05D8bfp{WI~rrAUQOsrVhWKkRVs2wA(BJ5D z`;p=qADe1k#Fb9oyGFv=?|g(3YWesDUDS?-~GQ|Lb#(P#dOBWj>=*MMY1 z--sTi&~$BvF0#c-U&)Q=bX}>_=b2ZEU(r2aU_^IO;*IE7J=}jX5ZZ5YW zZ}Qx~i{-k0xz`J9U-nYSlFW|$7hPnFyMDuunT)uu^dxCsDK6{l`U{k(>pW~R4|`W= z$Bhzhvi~Yr--at<5I2w2DpshZP0qI&5RdLKB*G>q@R)?xPivn-vE)>a-5W@){5ROD z|G%g*0v!db+80{b;Zdm{`FnvcxLYW@wO@s6@qzfM@Jp@vfq3KMM^ zq-5HGjvrx8k=&an+ZYTZEuKY=aDBXwlH0dDo6AY8Eex?mgkaD)o@^@?krP?BiDRwm zdsfoTL@}Qe3B{i%?3yr!A#8Deb21q~BosnQ7o`y~fm1tn%o_x)uTL^V2=zD>)>t=q z;OU!HA?ed+<4WB?9gZUKk%4inFn@lQ)p@6w2~u88nC4~sG7j>rUl+w`F~Fo72Zvd;(q z(D0*jz%>NfCg-HH_^w#wn%_!&!KA0auaQJ4qRH$n5b(iPhUC2ZJHk&k->cz8s_!)p z(W6W<6ErgE#xab}fc{8^R=Eu&iOGmGUCBvce)mrsGRDMlW370excvjUc_9S{krp&! z-&B<;$t47h*bm4&{yoXq-FzW~xm;gVKBz+A#qJU&6<9}IV0$#*TK9u3n=CyLF_12P=F5Eycmj~#H52xBibN0=nb6fntnl2y*<)!I%_@B(a9e9q(G?$+ad$Bwf5a2R$$SVuTip^OX#(IDI^h8@mak1WljCMgxHGgl`-4zo-sZeaQzp0r%MYWK(|v{r z|PD!DCoRrmNme zvk?=ZbYpv)+h0Pq8oF~V{WXDg<_%lGk@xQztY}ZTg@kuO;hn)7BP{ky{B)FJlR^TX z@uGLSq-5`ejzhR1x9_rqWX)@BHj3hLZ^cF%U%xO~+iq5`WZw6J2-q0u@0@H^QiH?wN$1`sFcabs!-z89+P{m~-Nxz*wjUdsZ{=yT<V9CRU5~X9GHqneX zIAhAhfNn0m(HFyh+z~y@1j9mkRbrJ+t2NZvANn2IVJmDeHo9lgOREm|qsjusGm5_l zcR6y9g^|Q%d3bC`@=zWQxxF|y%YSEU;bwio@VDs~lHRDoM(X6Dqld{Mf8T?2lU!bC zYUlAv_i@EuSss3?ueCc+@DN<5r2@ZOw>*B3-$@-@h*;M1YtA(%GZuL-6~;A}zeCW& z={{u;*x+1OXEGNEm{QjHTN{ZH!a!mq$bb)E^tD!Lup~OJnxhxVv7676u5E*}^+9xP zOLBqYuIa@s3RSz&dFDx-)!h>`!G5Y0E&pmNsC&;^{nsJw@~)Qsx_%^GMJHJ;mC-{y z3}ZS=4r$2(KI65Wp;lkzPe0eXE_yWa%D7oK&A%$gH?1URSZt(~UK>t#v~6jAIsIJQ zmd3Fv!Rs*uQ5?$eNZ*9#Vi)&JY>id=aG?dlM5ojB?dQsnvqrr?oZegZ8{JP3ov_;e zg>XvxT5PYJq`i?*g*kX44dT*&aD>KSP4@(&2cqY+Ih|-{F?NWti>Ol-uKTH5;nh?) zHQT(J;=THb_v&0;xic;(yIxu*oTlbO0u3{O-hp?=nqD0YR4zUxmv1Pw!P%YV;`tC> z27AoqVS3&(+>Z!^S zjSYLq;15TFOGA$2haL!>3L^fB4tQx~wb4%Gz1>Cx{T;CbtBEs3Wm%76NXjau-!3Hl zA;^aWh61nbPbe!BpwXaVuIG4}zwHjbQH;MSy^+zTv!_n&BCKQAXe2LL9#Q(|*qc&g zVG`}<-u#KR`voh#Zs{vv%h|{%lh$G2n6K2Rwe*b;TF*O|UHA@wtJcIiqZ-KOXm=S> zX6F6``Vq8;LFgLjHZi^HUNDqpPud?^J8fBLcz)^(h0n2GJZKb8lNJD6Z;3<|qxn5xZ&uQ?%{JeM&*n1{ENUN8AN>~nsIe^oMiP&UUB5&Qp< z9eYJg!ks*|_sEJgl=zJ^=cI-_CQx!cDwGTrllEzOVG9rH2fv_keLin@+6@-Vl=|Bq zmSz!Cg-S@TA4tx`^}U!Fbev@h4`vg1*g)G!{$*HJyl&pxjM-H=K2DBn*#bM-I+m4R z?q9`b!F|x~@_%)8eB0poE4T|S%wPS=;1ONJs^%FYEjNe;2v$zMmRPNos4Dh9BA>N6 z(wSn!LLiRVn;@S-V?z<*zC&0Yt(e5k7-U*ao76QizooGOvnI7v9I?wv&L{fNAA{+Q z8BAO-3=0n7E%e@Y@CO6#PtP3*cUV?Fhd6R()TB3Cti%4)S zrLoxH&g`<@Bq>6J3*;7MbPbz=j}`zf=VH1RZ&r}gD;c?B;%P}`&Ib~*E+=;(+Ohz; z63z#b#!VrvW=GGAl-(u-_O~9V&*C?eBpoHJ0Z4g`hN?>(n%c36r0b_8#?%7%-S%^- z&yelLDkhjbGyRk`Id!~AV4oZl-WA&H^T%>jOpmx7T@W3*v}&HBaH=Y58A+WNX0@Do zee4u+o`77>IiGz-YhrGatTFKMr&tbn{1T`&>YOglqk%q&$aT;nMfKo*#@QrykoPK6TBD!sle^oU@ zE-wilyU~h2OZ?$TPTK!S`5Y34EWTOzC;&0--50sWqZen0#BOqi{!nX1&NNaieTxVu zSdm=aw~+hpE2Zi_pSLF4`18(<*XTi20lHUz>#iZtK4fd7Zuhr-omNU$(8hr&-HBi_uYoKnl>s`${~YmIJNNJa4QN#fyJyj|(7^~= z=(o~q%l0(go5C$z%AVFn{(zaKaQq2DjN=G;bA7vJ zXT5Vj9T70KxysH6>#&QYC;+?KhUpA)F-+De}RAqW~SyxkcF#hVFLW%R|RhO9!+ux=@ z3}O2Q76H5VN^WR>;hg&0NzXHfb~|H>d9W>H{{bz@lKBx_VIuO~zt$I?&zb8|czwK(Hw-b;&h-GMr!8d&dlHS}n->Gcd?*-t=!cW+x$w%NaYKDXW9;SXA*<(G~$OcmI(T1-{xgy;Ni$BF$( zukHQ^Wnh3H%T<@3xjI@jbwqSr%ia+tJ?;6GxmsExu8;m;ce-WCn z3|k-b#p~yN7(Zv;pbQlJx3psaCE}!^{>G#4o4V{i9JsJ-{yg2?)jm&^kL|#*!8zh{ zdx(ctk>6dzhrxKHaAJ0MiZ5JVbeO@1mvx`6z$sucnc=S~(LOyfT>8XHpb_(H3pHxx zA;Hdy<4`niaBdwdz49IdvORd9hcNP4hIim?1vKo>h3}`^#aWA78g5r{4zuDV=TVeM0NBChDBmPi_^YXWLr&EI_b>JwaZEb|;I#a(RY#)SXyGXYM zYO?|8oxyitHQ#PhVHaUA%G2*^im6{I^p=<{m+JE4}hn^KU5B&rMNQtMJF~CjS zX2hJHoPe&uIC2?)zRPQq-|y&Fqz@>^!@MdOs8tXWrUpenk8T}RrGBZx7K^y zW=~YXfz6uNrddOV7tykJg8%`da8+33Ts;Ti=EsHK65^b`Q=N7@-8QQSja}zbT zYnQzeU&Qezrucd1mzT4bVJ+m|1d;tlz4o>{4RzQ1OIAbe6-rBqSQV3~^@oCE&pH
#wp|8)CEq?;7I~fP$4nnzogXR9W-EY) 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�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

2w_DAQ@B!JDF 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%0Dw=|QC_ynswbHJ0kf~+v87~n z!2W(gDnfb#$icS0VvCp{OQ0C{r_ya>1lHLAl4t^BNZ2xkH z)*UPnI^zEAq3rb{lAx3(t&?zMT}j$snCjh;4HB;b#m*PeJy51ZF4u4*&N=ZUzrk|2 zO!sOkrGm1-er=hl+}m1K}Y-RU@U;{)o5RI=)k70iescia|;_zSY4-zJ4MnRMySRJ>}!DX_@F9KrO}lx zsoj#=Z=Bzc3Z(m&2I3=2J&VqAmYmRS$)?hbJ)0=MpZ}A53(Admfnr`2HsKI_qy0_3 zLJ#S(J&YbQ6W&qd(VBL~!Bsxjz5c(2{(H^<0;#h2yb@2ee@CE%9pJGqVN)Za`M9c; z8KB>|Vm3wayL+fqsVVh%v#OA**)8_5HuoruVC0C6F|WQ9{MyKllt&3s8SR5F-=+^~ z;DkZBh^DJ|p<)I0!Ak%d9VP?c_z0q;C>;(NB*ru{5-?L?J0*4r%3JB90m@R%1V)4w zomR2acYWbPT%pYiWW_x5Ve0!zZwQZ%e(ZPgW1)rYVp0 zze^-idaZ(%eqaXE@OI1>%HA1oN)7ZZJVQj0UoatLh@vexUG&=^KXwc+GKOW=N4G*K zg*2HTml?Y3P54=A>wU(QJ_E90ZC zuW-004%=i0Z*)CfbeA5|`S-6e?+)8!5-;hZ87519AF9%X5{>Q==gS8qYwjsM+WGRD z3OI8ztFY;xj9tJMzQsrFJxi@->;h()>~LL9)I&PIf;I6N}3K;>Xmr;WNuP*yMQ8@p8XHVOWt5EV>Bg>61Z&t@eukV9K zIq8o_Zu&1g@Rw|QDwKx;uZid@RYdm`fDu<(-!*J{b0Bt3KI}lW?wohBku{t@?5%GnEo+y6$u>m%E0cav@vFE>oNlaT5r4FM4%0_+8 zK7mn4=w!ZZwi``->IrO8u4liY4G%5ZUuK#Am#tCAS{=dGDp7~FRVWWF@x^a>%z?*X zATe`SC@~wsRO9wYqJEnZjYkrV>!9Fq>;&l;OkOmYnXE&7I(AYhdD@~6xk;0wX6}`E z<^e-Mh!AT`4MUQB<>sAf&TE~Q=?Sc8)FdJL5RpORg{BCc%y7fXQ1W7iy_K!44EHL7 zFed0zVWjpc7eR!^9mp5KfPp+BrD7c1Eq4BEhL{l9>X5Ac!OC2cmE%5KUbK)!ISHYESC=o|F@zyu%b<}$Zh12bD2srMZwZ~fxVf;V$wF94c(_o zkUx7{lvBv9*r5`GDt4?g`$3?~`9}Uqxr_ywP4l^IZC1Hagb6Gwr=*5*l8%z+|D}|Id_LS(c*#^`LC|pqKn^h1+0pvKtNRk9?xU`4@X@Gc@Fxm%A z4^4HG>$QQ+;{#W!=IAfQuhz5*l`Ph+U}fZQ(^#Ay;|esdrstnNu;7v*W?+mzu&mM@ z+pRAO6JyG#UXkZ!JS9nrk){tf9q_i^!z5v^47%Pet{j(~G^`$^+`6PbVqG~UkiM{z zV>Ud5eygUmYMb}=t2Eti_t2jOnX@n1VI;doT`J)FdV#k^){bG{0&an~=@0Q%W_s^< zou`2B29#@`=P5|v>Z}8_Z&F)C9gI#6JOk9aVNccm1x&H@yu!)I+C1N|Xn$i*P*C-B z)4Qn}ZyEc-_^=8!JTb$&$dPD<+IJ8;9&nKrPS8VaX%qfDEkhesvl(U@+gd0D$I`ay zX&jFMU4R|+H8@sMX=_Vu_U81r&5@xGLqgeItXVSBl{ftPZvP93VKVFpVV@Lx-`a0R z)KbYFb7%Vi0WP`aU@gj|+w2JZsyBuS`>xJ3(;0UisxKF_#w^Kq*&e7O_LuB}44pH% z_QOf`K?7%BvwbgLIRlE&O>_uOG1rjyj(oEg4lNu3-EV(0XU1KkV$gfO-3bxXu*Hl} z!{b7aWN&hZXM`G=nuE#GuLi0<@+P$(ag_y%KOBvcDwOCX;#fc2xumW9yB>2cKqN?C zIaOC89?V}Sm0R<`qvqYYtMB6_U9>_eR{o`KA#TkA3hCCQ*bhmB)dN+4f*2Mg)xeqR zy|IMbF$WZJ__~K5$+l~=_Yi11Qq}3b{dhCu&IuA}TEJ9P>=f}o+kWCAP7{X|B(CPN34E?j_4DHoL*Vm?@lo zVI%dbj}`1=Mir*ho8=4E8Py!qF|eC2>LHz9r6jHd=;vWYZ{P<%U9@+YKIMPUEyM~= zAg_z}ykrs`A+x#Z4e}>!)j|GrIeYIgyhSVjBIAR0VTs~R3|6l|{%)iKiO!tvyl$$a zJKxenI{yKB(A}NMraRY|EcyN1?tuI~?tIxxvXDPY*EnBH|It0{FbJ__kiVzM6(6;~ ztS9n!y~z&Jc#V)g(~tITE%1wsLYr`EKV| zN)5L8eaLZn&otqmR3C4BSP8*pKVZ;Zs8a$((-uIDWD>|yeK4w;gPPk@){4)cQEc`4Q~W( z#^>aR@)QEsOcV~_+W)Yh2kAU{Gxm~FTtoHAZk%h_me46rW4CtqPo+=fxK-#FV^j<~ zTOo9$w4!TSV$iPEoeRC;WG!+?D4pl+8-Y53u8yqe%@UD5Rk5D*({YCD16xYBk8JzK zfKb(@1%>)j+BUKoRfcpsNmZMg-U_7K^^5RtQfZyhD6FwYmj|m>HC2SI^DBGEbI|v; zBDWBhc|FcR;8j+w3wnd^Db(J!g|CUfO9g?dOUk`>{)}!$d_QaEM+}qA_KxRZ3na!g z27NP-Z|Tb`KNRhFtFq`L43o6rw)r52$zw`sUR54gf-7Cwa7gPxmz=?+!Jjm(f%q2g zM-XD8?a18sMDuH;-v@uz_{%S`7jDru*ka!r*7Q2dlDavRsp-jgT&jV+=pgKvlYxyu zFKA7zwZ{5Mp^i)J3IxNMD#Uml5lT)NA^f*r2Yl&;Cd34cC0h7c+?3n-2m0oqP3mK7!Jxi>i3wMwvts@6HXE{;h7fW0Yd$|HduE4RW0HYXnau2)0o zOG}%@KjOQ;nIAYOuRSg4?wH0J-}Oei%X#=0k;-PX%Lncf@+lF& z#Sp^b%qggKPC*2^9tCdBK(WYVi1T~NFa0wE4!Q!qxk&0A^~r_RXrB#q_<3!9Jxuz3L_^3LR(t{xP04KSag z8ZD;52sG@{jSh|p+Y6j?v;E8kjso$od+Ed;=%$xMJcq=Vp!c4R7K172F{45Zwq&$p zIa&jj@g1|E0d4$-iE0oV<5s>jN= zOz^vkwsDD^0h-1~AC?9pwV19Y>vHHVAdkgQb~*oM8R_BczC7J){k3> z^;6>?Z#7b3+jrb&{8aplPz9LePRmlw*Q?tR_OMYkFx&EnOI@DMX8SCrU7D2F;#NWS zc=dwj+ZX}JiG4Ra4DS;_@e|N*-p*G~G{3g$kI_6$lR|$5(q3c2bmsxmWS+PP*7mJD z13Ksa8lak-TVlpP$fa+-Ij|>vlXH@QEELLb`3xN1_$%}7z~Q;Pq>B0>bhRu7QrTiL0MJyY1hev`K2KRP3>KajXH6&tZF~{#puA{2Mt8as4Ck( z`MPkaiN$H$>+{jRl7i+v+!)_GJ$8J&q3(c`l8i42lok-_ARjPU*Uy5SP)N|CWr7eN z&x0H2_;PJXPZT%NeeKR`sXLkf&}+Civ9{XJUGFp%vc9QIp+qmZ$VW6}wIBKAZ@Z{c zEVsgCouwZfG=g(O4?3ivg_<7p&6Ki=HeYo?4A)2UXgD5g)C-F3_ctC)y9Vk^NFm?B zqP%z%DE2JZT*gzNzh>-qlY`ITUZ+;E-|_glxl@TsjY5yxh&i;k25j;^c} z3-ZY+@vG||XP_a~H$v+YJH3YP_6aw%Ti4xEte?m&149jKhHnZajtXUuCj3V)1Q&4} z@XGreu4Kph!wu|QKL@37UBv1a@LiJ=`!XL2v>IVwxR~h1)@Y;^y{u~sAUG4l4;2q5 zPC4SsCvLfasE_^(*<|82!WS{VusE;yN<)&^%!DJI@e3=>wPp?^jxiDqjB3r{jrjik zUNXdLLJcp6+F#4HFJL2*)8!KoALgG$Bk!ejEFV;3VNn3-0!s)R9S>x(Dw&EXDV%sz z)zn)5*ZfFaXuN83D?vxUBu5iEQh11z-G0LX_$J@LkiQgy0^wp;4Czv&6nl0@dW!81 zmr$v(-`6=Y;<+W%51QJ@&EU!|LO7jCR= zn+A(pc;o$pRol!I7#VWY`C5|XNUSp-FCkCZ`i}?svA0gw5_nth=0*3fgl2_k#l70g z-u_L8yjWny6G%L2ZZS?^V>r>O!eJ|^A1!6#RPQ)z($Hc80GA{td2>cv!J)<86}tu} zg5Er0HHE9bUD{0E1^&@w%Nu9)A37l!8CpCc864W*{>~3}a(xW!}w4OBU5Ih%+yA7S2EdG=3$KJqDNsQunwq zDz$7bvh`U2obeB=tJk%e7wSS?1b66Lk?tB(mlHxUpNI+8i$Uv6Z_7V(x_k?!L}_yj zaK0^yJZB8Q;WE4VPr8A(cV4VR>st^)v)S5WJ@2dK3a;Usp~tP7 zGJhqZD{%ocrl2Ed3FkI#7_wCt7B}taJc)cPL8G>&F~1fhk*+x^EbrhaY~(nx6ZUlT zPl8on$N%kSGc`5%O&!_W+xiRhh6BciH4K8|xOjA8G*L=|6Mqe|ykv$y{ z;{-ATeof$Jzc9;w;BsB_&I@RTon_uBZf&C{zkz3(B0x~udPTT1pZWMhKB9jSI|bMj z%cXVVNx;=0blObKd|53T5XID3%x~zBsI1205uz?*INO+ITLG{jti?2RZ?6YjNzf;~L@L_|Aa}aeyl^cmnr=7sR zsUbtYg1<8^B(N2N%ab0;enN6*@DAes4oz~wrH6g$3yF-kZrH5u_DdI{08_P2woK! zzCN4{j+Dqw&5c-LKbjt4D^L=#a@L{8;cLu^UBKytZH`y#s=DG>O~BV!u<%^)s>(1S zI&_fHkp%04!3HACl`IzigA*YnBd7@N6N;+al{Pe0oxMai<1CfLT=%F9g`_eFuc5u z-hv3J!Ogxb=p+O&D5xF(Ct_sFO+{8V>gc9wktasQ5=|MwLU|b}{|pQBIrrxg@L#Bb z6Q7C$igTu8xLd3+Xa45mik-M7i|@;hoffPbTkLI>nFt>02xzFD(lTqYar?>@o0+FV472s7SH5>{@r@jKUO6r&)xPxysmSFfhNNa9;} zks**iznC!OdepzvnD`>-B7Z0;FM%5z8|K7qLTBvZ=o6aC)#FO60PRPn$OY*}QSiMl z27-2&jH*W~=GS7eVojw}EW~uzp(V@0{mmj%9pN8_+m6E$;D%FdNMm;Sf+E(Qx~5r! z$-dOZr@Q2$Y?D3VHsRB|!U>GbyJE*C$Mm7Ieg`Qs?yDo#8t4AV`7Ogsen+*05`#jC zi%KGi>+$mkZoO12e^;O(uzs)d5HhSN+vA(>_qOV4#LHT7GA98>!2hPcCBbCWQ({Li zG2Q7`u`{`#PiJrCgCbpit2$+5p?SF1@01c5*T*?m5p37m8n8CoLnbrrZfH?F(CvKp zSH9|E*@-2uNH46>b>a_XS;bAjOc)y+<7DoELbx@+53mTVA;rClBu^{K%~qcVjib_}gSm?6E;E28gq)+9 zPV1jN>zVyrc0Vm`=7mU8i2PtoT!6EW{QC)~jgv(b#q5n!&6Wx$`q(S9rC6HZ@GDq! zj%J0>(exrde~QQ3(n>{{-kEMCbKhx@+uW09=a^0<6sDV$a?|1N-c6@>Jv!!q#7#)4 zGCt@;SMBWX-BHwHq64nBPp5ZuNxd8B_UflSI+4sh*KHB=+}!a_Un&)&ld zIK+OqBb%O6nZqvz$R57mKPS}u?^Emu_}(+97@V46Vp8n|(j(GL#E zikCt-=DV`is;#TFYC^rk5(GTwSR*^io4_JD1I^4*jqU!yK4yAPlFZL`RF)C=C#Q^|#J6?M}(8(uJ`C!jV zA8wN!;H7g6*}{a(G+BjE`;j_^bk*8rFAG7!H;3q05r-9N!>|o3Q-sq%Rjk;1=gFpc zP1)$?rjoSB+iEawj>7<_-NhHc07J7E$g$0S;e0!tnkeeLMUw-qdM-CTF&ke>m3x<- zSBPhx8G)f~GXmUX{hQ|I zQxb}g?Bg*5^+w>`nWyyHaGL1E9eFa>=*8rO(-Vp{hX*E^*$!^QNf4}%I)wamVpe6? zn&Z!edN-!h=rC>w#}^i7Em#dlaP>d>&OZ`Al~7-oWW*YxC}cKIAiyXMgc`aJ0ut>C*#t%|`6tDWV{(xCP!~|5kicnE&3^U-LcS14Hw+2rPz@H`H5y z2w}G!n<;I_WPaHtfG>7rJsflJiwpA1-6P$4aF*QUls*dgg%eY#Aji84Cx*L6X9tgs zx^lQzpc2^KCZyCRdo}B-6pIx7 z7HK1IQ+K(U)m@ED&X7VrVs0j<)y1ai{3Y{$aRJN&B;_tC1C;|;=O?Xq8HqbvG0NZai^f^(FBQJJpdSHN_2gT38k+F)PH zZ>qPoHsy*%m`$V6E|q*iZL=N!tM{LQr=rUIA!|TKpn#cVCC~)JC$Eb_=qeVPhDa;- zQ7$PEDn6Ci=WW~%XDv3)S3O1k=ei4!?fM?sPI0mgg`u5ipS0eTIX;-g16#6a!iDag zx5Zv1SIOX?b()*MoKCrS z5GZmrG@iT-C&u4rcfp4flI(4*;C>DG78b<5PzwkWKn^D_Dz=~f4bi(h#yF?Rh8@}3 zkBm}l5wj?qyc}Hpq0(laL%yom8IRJu)*nGA14k*jSGv zgM@w^lfaQNJ5YKmr|#7b+-%uo*O9rjPCJnOi=mx^s@lEyq#n)WGPp}edm10OT)eGa zx+{#7RDAOcnm07b!R6K=dWMa+;xHxi#+!~<^fvU;yfJX2n{HEav zDYF3a$Cd>vbFyMn;4abWS0Ws23h}HD+w2NHaH(*enBefIQb1SAFX5T?yiz89!j)o6 z1tpT4&=(hzfvSx+jSg1rm@~?#pn&lcAzLmEkxcgVR}=3MBeYDmYwro9*{DIYgwlWgikmSEX*#htT52 zz08m2ZDx)TWA<^Zw>e5;K?a zzYTM}`+PSR#PA6gID{1B|4MKS(|m&#?BW7DCJaj{&&Z$b$DaZW?&1ie>M7}t*HFgS zmDbDN2{EpABG+{!u-qV?D?A`_&f#87eN;P=b!9J&E#s6o6By0gx`_|yLZR~NVwj_X z-lc)UfOjeQ<AXwi&7>l0C8#Srx)J1_MGlTy^xu3Fcp`u_$Ss&)37Y${&oz?QDm za0j*&O@t9+xNSHU;KBp^Pb7HwBw(~bS%s}~bel>?29mXX167-E3I(fnV+OBaA; zZ8u;!8WKLp*faXlp>f^dMR?5gx!vI9J-~6eVN>Xn!HXjxJpC^OFQbT1AIt_?F=<*@ z17JqF0H#vfP7)a-T%Z%<4D5?Xh^i6bwqF?cm*+>^%riXO?O-o41 zfTAJ1q>Cy{mi%Xw0{kjQ&x|id`qc;oF{Qmdzx;5T3>1dE((Vl*v&tJxf= zVFWh$5cFjkkr()1{ayaw%m4fM|6r)0h9&9@B?ltse65$gX{@%Mx3!cN5b9bSm5fHH zh_|Ic-x_KGFb}!v*wZCC&e6FwxWl^IWGUFck@ozww2iO!vU?yYYW=LnapH64z{KcR z(S?Ct=gGMg>Ix?pG>U>49J?`Wp$VVNzr0qMP&JqP1@-nloCFscNAB&^nY_GDDhSaC zO7)3U1W37|xkW_`ct=#kMr)h$3nv=O_%anmtaDMQu-_iTkf98I3WU;oge;GXbT)X= zvpl%=432-2uac~NF2vUFi%p5jbqUNmAp+xI-->{Wjg2puniazxmffVOa;)&7}Q89-E0GtI`FY8;X{&ve&bKib8#(y<&uQ-J{);ytjT zC#GdYWRi|CqdkasF7}f&Vc?W4W_OIXa_;qk)HsBD4G^1`@mV=MHkpL1*dj=kjt0 z+~ul9i7#bP{}HOeKBa#eypT+J&Mu~z5@?2nZIv@+582foLPAL z9yXi1OY$I|J9VZEtJbx-)(Ox?EDJ1eCdr`*P-=h3F(VY(ws$uF|m_mxL?^>*;VmUuT19=2OR7$u}_Bm#tY-$GJ@beHbY zlTv=A6f1wCTL^qGheA?sCGndiY6@iZUR!llakSsVI%%CUZD(tETL?*#nUdt&W=h_u zI5Z{po$TwL^U?k}<|8-tN%L_L`@F||oX4v|8ZsY`o~!x5|LHrrmBNf|j>hUB$i-%~ zjI4uHCS?2K%!J&bCyn`sO2PlBTZjpHk1y_oH1o*b9Ug`=7xkLSNDXp4dZFI2jM<

!^B5@kwU;o!C7w4Mj_VA$QYeMGtaA8r*BPU1CdS_4d;Qr1-tw9ZnMyM zQnHj{<^QW&s3cu9nJ)-R7q4!nMoCAeU8d+PEnKuz-MEM9s=`-K};qx%`MMzr&uBSlGGPHhi7B60^}0cUB{>s>k? z7CEHL(AAJHt072LTAMCf0HE`v*QB=NZadOT3vWwujuh6SAjLZK>ec{ zPiGWJa9=@m5Z~}G$Gr;WvNk$6yQ(|K`O1+MgJ@BO1$)qU*xQ}>6%w6t@+Q;ZT{_{2 zZY^}WwXkQmHrwMe-5R5A9o4K{xz@sh)DZfT&x7ejVfNQj1(~Kd+jn=VX%pTG1x2Qy z_K3C?s4Wl&NeK+8)g~zc*tz}U`}i?!Z3`v8GG{Nq-&?cGyR^n>T7`1q(WXji`e?Pw zOZ0^78c*uj`$VsGS5id#fkaJta!QtcaHPS$M9m#X@ErZ3uCT!lTqEpjT{ux&$u^7S zB?Emr#TmwI36$nJ8m&1Yr z$C>O(=HV;NPBSbcrl+N{IH4htR=_V>|CaJ9Lk+-xXpQf(;@C+_K3eTL%F9!;*koir z8|Of&?0}S49F1p~o+d`@fBRrNjy*FZejb_@Gva%*qTU$>RgPn<-1)Vm#VBk74p_eQ z*qJap3haNcaztTp)yEgCt?rj)pUIarlsA{5QT4l&X&MhMZQn%#S}f%iZHFg+1_&yM zXux6dVWPv3b*4hNDT*5^zbNUOAXxi+*UyaRVM^Qi9|8bydz;x7-lZ>!`*tsnsN1}R zij8&3a?T=g4_53bm_v|*_H=v1I(4PqkLi9NY2J^W(}(nkHNr4G2R#lvT0v3$YZmr8 z@=IXGD#31CvMU6~1iFTfop;kl$Ji2eUo1y-kv7?$N{FekC3qISVSX#k57Fx!yCfqqo?aO`%F()In7Uc3JLP~9V^M!7F_GJEY^4y>M@;Y1u?htlJ3UxAHxjbG zBQy-;{Gt1e&cXfqQH+md{7c(K$Lj)`a3i0%lxJ*}?5ZiJicnmlXLXW-xV{AuX*{ zsS&Jd?8};gGxoSxZV|$if@Ga6>Fry;DpZzzm_uIn;ugCR(Ow3yxWdp+5QKh)L-P-u zHG}V95(Q>ZspHMYnhDDBf_?9oK&?@uaDqR_=TFb^-g*mr!K$tYB+VZsjjt%Su2EQB z@UY60lS?bQjQJJ{cMxIr<6X=*709;40Ie-{HnS~~qQ4_onaWCuqS#_Loz2r;@2}@f zx7He0y4kzp2mK4VXsYWadEa2~Ui*>mP*`apE)Z>Fdl$8#$E9ce3t5-;M4|3_?Qj%| zfoX^i3Kb{u^Py0Gb~QDNC9VyG@fG0@EceniycVS6A7Z}5VBsvC)Dp;n3t-F)PM*y( zIz<=rv+y*Byh#?tpU=h!dR;mZC`ES}V6e{It2*iSZJj&Qo%4Z3wU%f3<5aKdo()ge zUnr?oGwsb7+P*xiAHP-Y-d2U2htGS$Y;WraOjXz_$BW!Kk7Z+;Mb`Iz=576h`P`Ui zye>S+OZ-p09y8FcN!Pqd$X^nT|fMt`uR&_n?50Eq5PosrR_ z7`k>w)!Gb)8>i}dsX}Q{m`qZmc!VIth?gjAIOGNbe_G)y4i$dg=wK`|g|}0ffv-0T z9H)O`!yi}Q2%6x>+XS>{>sFa%5F&8g=oQ!q#faNkv>IAH@b6g;|6$W1tmyuZ-RVw; z5v~r3IKY*BiVRG<+v%MwiwIznehRR9n) z$BWpHg*^^btgiXy6K2Q8>C^#J2u3h!=ZfybWN5kAX{gBRGy$x%h#Tzq*+z1Iq4VnK z_JXud>wKb)+a_5wf0S9ACMvQY9ihoSip}FJ&(@CWQh_*ec`|Ec-||OiWfEs9vs8su z-Kxw$KIiXWGJbFCztI`Zfw%Q1>eiuo_~Y`!=fT^m3nOHW(*cXllM(EP_+;ezsE+Tw ziokDMMKE;tzVrSw7)-M0J0o)r9i1Ko#r3Oq_Z%xZCw)rJ;Ky?Q)2oJc_62%qPc^&w zKbhbmubT<((YrzAf9>#&8#Ui~nm}jM)mmU6&ZYyL2YT*0Z|mz!WuSSUru_vT!`7MX zyg7KO?*`*5&F6Uz82=AmD%#>7W-auErRmNB81*y9tI(ckq&!f`9p$ZQ3&j@|vz{Ab!^)cJhl%pd2Jq_LnVQ)yRcrYwKmjRy$EF!8NLd8MepwlMtgtP-!uHl zSf5b3jjLxTRtqPE)9o1fh2tv=!YIr)ZDNHE=?0m{aD#&3V1Tun?bpYF|DQ>7=S zyczhR{amam;RYjUxUopH&l<5`D1sk!P|PuV^g!d86&tVlb)MLlP=G2!W2%I`_8^lK zl1YV8dyaK1iR#3wbZu44yl6$xxa7qWp7GgQTac`DO(4NPDhrFugco z5X)n&L!h+QleN~L1tWH5USeiWVkT^dnZ=2jCHAtbiTk1|=TMxIThBHn7n}u3E&HYo z_IENl&U12He^s_8m>iSMD4)KE%w(C9$#S~Mk{c(G4MKR~I_s{3(AcF0jwOvUeTH)# z8ANG|-NkU6M4{5bq@NI+MUQ<&g}2x*bSG{*l(_FCC-IT)M0s4JByo$2e(xsU)1COE zLnWVoi7Sh0Z|P2yUx0LViKgFSM>`Aov*)ysCwtF)3t*GGY`U2bA5}{m!`h;(CH9Yt zx>xgq%xdm@SO)vBKTi@8Tbv$W;+s{n2*hWD{nSu+Cj1T?Cj6p%xyRF#bX#_@>)f8W zyJ?8&MD96G>%-4Jy!D}<(E1IZ-ufiB^{zzCdk=SFfnw8|;VNTt|^Bm238}17WrOwF!k9{;dvu zPXO=__Uz&_-AqC*0e0(RQJ~z5Sd2xg)=A;|g{CjY`o@>{=es9*LeRHZkv3yTTZ{Ly z!+ncC;_t$~_8=Vna$gjM5)Z3}#BY@=@k^C*ZZs~K&t@wea{RGNC(L!t5%+P%(EQr% zZLOnK^uq*bY&^4Xmsj>kV&+yH(-dP)n1>HmA+wyP#&!0qe{`5h-d1CvL_Z`gvA_5w z!{G3?ZX~a?Iu4>)jY5Pq8H!?4dZm5Mm!&PR*NLWe@MJrU&q8ByMkF>J_7w=_AEhH= z(lPd#RX3C`n#}?9H;+8p6PqZP(VOhuU&NID#_)_XrzQo>^O2S=qq{E}`DE)cT z(faQvEri+jdfozwK~i(7)Y0%eC?Buf0m|9Rth`+?GXDQA4J z9KiS3eZ1JmvYO6q7CXjhvXUT1N#_#wC>+}2P_o4oQ*#anv!_}D29TobZ`~j*WugqZ z&i3txhH`15{#&718pgn{nd;9r%1C~tw8=PfgMH`3j3QEOK*sX!uujPBMYn5=zI&AZH$Jo{jb^z zd))v6juz0Fl+#>Tx9YH>9o$sPACCEB&M`mU_n3RiZ#Ad7Tiy;U(~B&V~vj+jq`!QD0Mer54f>5nRAEke%ywFY0AC!L$h^mE-%kyKD0D1 z4Pw`4<^0I)7y{35dJSx#?=(N=;HD>rlDC^ZK+s_@SUd4Apc76P=}=A3`l;DEVu|`u za7wTCT~r=SI3K;Y&*%7?f?FcPJ7(M!uyXRy=Z?4MWCcE|x~P2N+npDaL*4h$5mQN~ zMjgZuoV1iTv&K#Uu2A!15+tx4ot=-hL3a-~nV^=>NkO{Ae&_q$JvF+EI@B}O1T3yD zxfp$PQ%2pRrM_FGV%TO^rD7YY(tnwjQTMoqC!;3uE2W_S;uezr3x%W)jSj^(Ni+(Q z@(+}6HsDES_XlmGD2b9Y18Z~@D*gxg8vQ&lu={=msqYTjVj)oL)L}(l^%QK(u2iLW z>9~)HtNfMo@zNZ!=H#V{{ViLN4|k=!e(&!Le`*e~VSpI zVSGX4AK2Q<;~gB7%N8tW6o-KN{vF3|Uk{|FVOJ^TZ}QFkl+ zZ0!lUtF?bd;M6IMf!4gSMcu7kD`MdwnihG1}Sr*uu}MDK-HuHblbmNdgJouWbi|M%qRQ1T-7%qIKFr5~kJ4Ybp5;j|S< z7Tk6kXy-Fb>L(9Zjet~avVV91l=EKXGT;vexASM%NS|5L<@21bzkM0q_Z(du)X1N> z?8d^D9kSkySO~O1w$L&r{^^F2#2x^$&mqm??uxcWU`XZf!4f2tNOi$-{!}iOZDIA@coBMChLw< zXD)Y&-ql_7r*6^H`R%+3QHCbx@Q(cL*SKd3#y^9W`$E@$yo^w|q(M)*V9kP~vi?Eq zPcjn#3z%MtU-A5}_O|i-bqiCBw-f9=LWKeJ1_I5G^qsxuL{DyPm{39@NVXM7G7;Z? zZu28~CPkk1H{08QOxE7cuL5NV&kV|(9JofBVfMr5{$`NSel|MYt58OPA)L4r_FYP{u`+=R(g)ch}n7@ z?6&K6snuiUMHKIOF56+n8sQcj?EC4Hek=F|F?FO=@}Mw`?gZiovb=Y^PdgFcO?BQ@ zIYV>s>Y^udB!j$e4YvwLb z5Qr0mU=%1(f(9cJ8&G1P%)kVm!2yGygo=WP7Oz!=89+q{PN)nIqnuOQ+G<;SPA|6h zVynl3SUZz&37{Cj3ux7VRi0tIL{JELneV^$er7V^;?ei*Iq&!WzK)TKr%OqrA>zhJ|HM;}zQApfC2?(GiuBVJ!8lLGjwXh$3I7p32 z_WIO$;_Vg}YcY311WKrGpo~PBp9PqnZeEgpjh@5M^Ong$KwL@K-t?q~69|!eT~|t~ z)6;MHsW;B>q8KS;cqWf07~JGALO??bm~{dUy4}P8M9O)Rr!i+T1Iqt=sa0PrY=W6+ zc<|EWFzpMbX$(Uhy;;GBmNNEFQ/-z3J;nct8_rqq#}yyY@-wmp6^sVY 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

#c%& ztS|9<#yzKL{9?S-#71ulF5HY{d2Y6 zKX>b~lA$`z9;tj8DB$sVak7B)z(7Xo^Ff+1!eK+{KBQTALi7n=#Jk{&fnC?J+p&&> z_G{WRBr7i~dTeZODq19qNeG~_;cW-AvML)9Y(?@Uhjj`$nB1iuvEetO6wUgD!*pT) zu0gU0xii!L9HrKz{c+%$L*h>88J7oE?~(62@~QQPFiP6MH9oL`^bdZCAmT0%t-E7{ zEqtUzx`M5FNs9}@qNfI1v#tD>Y@1UpMeJ#~YF+V1vEQNX++xACk8)EwtixzAmpsZ< zkF7b}=?Js+)Ue#f_Hh#N%OT+f5+3Onj&)^6Ka{E+RjvK0*xORiDOeSS?JAdhp{-h* ze4-P5teFVKwfX8DBoR0>*HG%n_@xrtI$w2Sc=2~3q<12CGyfI4-<=&D4rgA;ds3ZP z;Wr|ZSdR)NuaGMF*7?l)FC<%y`q*h%8V&;3DAUY7)}6kpJBoTkS?=w3E~}x-wL^oK74oRXUc3OuCmE zzC>mFq!gE`Vrug#)uq)&OS^K{_X$U(JQS+isQi|xy@-g zZs%J<{p<@lph-^qB~)oRHsb)3+sS=>_s=h7@mSk7N)n}c<+T>TOv`xtxOP7JtXWn) zKXY}y=oxC5U`ATcT%xFc)VEhy)eoYkHoH6P&Lljw>knil;Sa5_PA7IQLX*W*pDKED z6^vj-Ve}p}+xL^^A=cp|qjI}YkB&{D*yzn%Xls29Vb09Q_T&hw=}l>M!DbC;0WYwe zLfL9hL&K`d_n0Am4W7x&Q$H<&AKCp?qOec$ua_v3co zy&EzMxjdG0rMns}^<7+;%WWHPMBseX?k3;mNOCT=uf`q8`x*B8P~MNx*W~u+n%wyu zAF@#v;rF2WJ)nN~tKWU0qkeY_dC}vqNBh;)z;c=Har#1FZUerWOB{jA_tJL( ze>Atd`Ms_M#@;h?E%2i5>wvikSndOs3vlfVftMz|>C1pQNMjj1_rJdr*p#EUeUorE z&QTL7Rypck76($8ABk3&xg&Cih$>GAjU4<#0wNQv3&7UQs;fydMUo()xkQiv65!RA z+?^nz6|MbzmUX&(`zpfVEDdp#S04na@)ZCm^5pws#0-zxOvXTVbHbhSFRFhSH9KA7%wMIcKIdK8kf@E198i|QxrF?jQ*bZ1qtnlG8|4?ThHeXPO zwFPz^SagMToD3pfAXVreIWlV#Jat!9ANws6OGM2K1sbM0(_>Opc^e{7-G!5^j=$Tu zQ5>Snr0bq`a4Zf(o%sCrVuHvsb#hm$XmBg4&WGOP5YLz76IerZ3@cVSt1Lp zhLN=I*>#q0O4i8eE~kA=Q_%^L@+JHnS#-G?>*}eBmG276OUgc{>S`F;<(qVOAKa~w zyB<(E(?TYo&I&^?BQNVkqX4t*dhY5HZU)K#jK-t^_QSs&9$@dFS<&@^nhuZ)z>B#& zOq2-_eyb@n%(~)RvOh`o2n{IChJvdsDbIP?juU;cu6Wad}LhoymbIb0>Jvc)Rs4YZ8hY%+4QhC}W|Q>+-% z^-(35R5QSY?I_k$dl0WZBiNbi6q42EJ}dyL&8^7ao*Q}1QQqbt$DL5(HfN$Cd*lt; zZ>>=lPK*rk$Fxe;uzfH3eLWG70;*8PN| zT+TPP1=bxszIIy^BoADqChPbK?@>J~fJU)bsN@tuuF>Cf3Ib1JS$MgN6! z5@1*nMkkCe^IAqRrJ~vG!?V9 zZ$Qgy!fc~;JpWHM5@fXgLLRe5Do~WCLGc|0ilYDprINt0zP>8njB*(OR6zN68Yr)a z6OT!~#yqJ3e>m2I(>bFgej;g&d7xVY*I0L}z{h(AuC}fxFl0We*m(XGkt$^vd;uZC zFbp+yNr~3v`&FWl1jX7Lt?Tr6ZTfqx{+2?l3)DLkDGp#ClAv&+Me5`$puQfWGkiU( zYKT81rG^s^>cEGjOr~LN{GkHgl3ZOWYWN@DC#naltPj+4jrERtuC`w1X>v8-N^6U-KmIqV zJrr+}=E!bnix1!eKRHt~IAx{7*v8vRp9Yz7#?G4<;?!IGM@1R%_zA#d5ZUi?`3mQd>j6gryXsKSc~Z_Hs8)EVsG_# zpY?nL(8qhxoLrm;zF}Te0GU#O5M2aVpfK|yXV6^18zv~tB~yU9+9aX26fTN!Q3)9W zS)?YyDo6yGD2xIVpz(D*|tv+3Hbz8Ft1 z7fy;OOxMvNT2j!P?!;K1^`LUj*dfuj8wEv|2W+>RERD5)LdY|`{Z4Ds~&fM*%~zt;Yb)3DD2C&bC*JOg-}pOZ>FpZezEW=~M{)r0KA2D`f+Z)hDW4QM ztzukuq}2ODh4+O}wtvsGq7gWVy7IiiG^nw^GwgUXJYr?^YZ{hQQ5=0El(^`G`Lb~~ zy4_*N5*24&>a@{esi4E-1sxWmI0q}LBYCXChsl8oAtnpv2}Vr16iSR=R1l2U;}|VI z9$o8Mg`m0ljB6J7t!oRVuycvB7z%_j?s9stMy8ql6DUN;a5n<8(=&>&eu1^kpNsxWA z;3eI+mjvAd?NH+C!f;~7r%u%=?~A#Dgu!MmEd!y+D}md?*g z8l|f-^!`v%RZ0!aHRQxX3BGQvd`8w62ocu>!I9(Kkz!_Tkio2o3_E1v7wNzPNnB=o z3k6+^@=iwov!`tZm6Vx##AMO>aK6;B-D=w>&tJ$QhRnK?sT?%7_{TWC%_2yi?_*k9 zjbbn(avx4|nyL($kLzW>%$TQ=th1rMWBJj5CCrqQ3)+Ff5 z9OI0;epkn`L&MMYOZ8F^cl}IW-sVmWAKD&oWN%Bw_PS;c!f!JK{Mf>JBi82!YjP%4V4yr+{7>8H!u!a@zj2S2Z39k$1zUt=ee9D$Kh^dul~8;36x zY9nqrB0ooZYb$4XZGxY4l`}Y>;|$j3aHP+6)wuW4W=8N~p}%64r_{5~Fb#s=kg|60 zyVNz1AX+Qixe!#QYZMS-??4wuUIg!He!r~$37BU2OJl*=fzo z+&yAGXH|d{e2R8^g(0~Bd3Xil~3GWFfhmA`yz6*F;CK1=YF5vWf*C-K9c}GV}~!CB0ynCrqR{r z5qKvO7t<`;*DSfCw}!|ea`*5KK8)BXrU(<^C|Zv9B35*#Vu5wo&PlqI=Qp9$AVa=1|r!KO?mkxpNU8(%ESvLd53ENgWBe5+WoWR-)I zV`MoW$@rcv957YFN9^9V8?b$75YO{$|H}gLzZV~)5VV&H?D^Dn1w$pU5Im|-sMQ2F z6uD8sIXgx@(_=dEFz9q z_~;b2-xuI6xX)cY=DgdpP z48{&*M+fT!rcN+H->eK(8c1AqLGr}dft+XqDGD3z2sC2?MH#0?Z?YSv8p(yTsKi+x zZaz%=KF4F30DUV7nRX?-@De-(tcVeYq1P}pp{C|ycT z&?x@xxKR@npSY8oS|(4bf?bf)S_PSYlK5(_=Ki|Ng#o762Cf0LeF5JzUHd(=d^D%V z++Usebt?s8^SZ6pf#L$h;CrM?r?ot1z$(R^bGOh$VCb{Ls0@V7qe{drv-M9vsB&m0 z@qXk{tGrbQ!&tJ$I*V(#W6R`ii4T8auIj|?#UW{7x@iq|GksQq&4Po>LK;%z|I+&~ z)E$GWRU^4vz`!L7LpydHm%N7kt0Du+y@%5d27zWXiZovY$v3Uu+wA z+$0`YrwL;_Kxjll84~;{JR`n5CAE6=!Lb|bG1SV)%o^XqQ2X~s2Gj@RC-Z-6j{G>o{;whqW*gw_ z5{z>9z^a)c%z!-DG9SO+IEEC|yfYEk#a zMpCtEwe=Crv<_UtEkZ{W8 za+fM&vp{@GsC_H;tylU();iSPu+#$}P;)DKBP2w)J z1gf#!qx^9fn$Bl6==iD~n+VQ^if|&fUn|iQt$$8{zke|d)~m7=*Het-ox}vK{!~Jt z-`q==KOnVNa~mRkQmok!W%)xQehTTjE{r>$wXUIPBbMTfoXZ@A4G>WFsBvmDANd)b zF`L)V;4$)IXJlx|{s_e%R)O#;4Vb!|jN#(Xcq=&sf*^8ixNdEC!UrXDIz1dqu3W|6 zUlw;k8i`5wVHZ?EwMr622U&1?#v*`FIJvnbi>Sm^52!mK^*Fp}DAHk!FmNSyeu|&^ zp|I-Ppe8@fj(!H=`*=Cyop@L!&{835E5rd8ShV4qJN`%`ErJaFojhrXGp^cbJ}BSu zhlJn+AlcY70F3y>?y(8yY5afq=Kswyusgr@#N7)y-G5UpfSUmWR8wh2+SklFo6dS2dT&B*#^Q}-k)vC@_)+Y)!ia_q) zI5W%dZRszS#16V#uWFPQTYs3P^T=#L3t&$};jzx(@n!gzgJhQFn}eF7 z<6Q_%j>f4Dv5s%aO;ONJZ}Tq{tk+nVD5H#S(~0_<$lA0-h9YBxbX^CxpOvaB&;84AE&J^D2c_%B)F1gE*L!v{2u`m#y2zeHY~)CTXC^dS3O# z_PJ&)!6hDdanr!AYxx0t0ocRbVWf}0UzlC6m#2-8Q|(Eb$U=oc0LFl^A_49&H<+;L|O*k4S*zscc8~0@%9bJP2Ze1M*?K4_LcwI9} z3Ka#AF<1;#n;&DL$S?rIdrq<@J(^~{RS&(n`z}A+q5XZ98jTm2p4R{UMks(b-Ok~V)*C3*FSH`}{1Y{WQ?&a&O zxW0O6SHEqt?&bf#>U)pp9fzp|JSKg7;4qcs{8xQE8Fd0RmeR)&r|PkcZOQ5G<7bcb z-AB86$NyA)?>@#4Q;87q^zj$p?;DWL|EiB;F6q(7i$|pU=_!E z(KjF)bsrbtQm3zVDbe5B&CI&IF5F{XPWX8_{cB&VRV?zPf1) z28@JRbYaO(87!s=&N(t9tF=x^<2X3qW| zHH^$&@~4ySIV<_Q=j`p@-iW69z8B7aY(%d)>pDy|-=i^%=dp*WMxy__zP?n|qpyoj zvimCeyZhP*JGd`^+l_eamcIM?9~;rDuY(R#%`v*Kryr&oiT>~Ux(4-!%(%WW-0rL7 z@9yi5g`?XCp<*}U4>$MS*ZNC&(>Z0m@wOQWFknkQ1K54Wer(89dePAA#>}2kc7P8 ztmv{BHs;nOInx8*i8g%ArCsk6BSE!k%KcpPb2+cqwjXc@yf3V>Rs$1?8xm;!b4eqK z1FbKYH1X_gE_r~5R!dL%tnp2@>i*KK@7T#2d6G<0QwRNm877T{hy8F#BTvMk=ob>g z*-WV{&LvPh={R`Gfvr?jPt42JWyrPGPey3w?^&Ew#TW1k+BZVP<9*@b68ukPwQq6f zw`ckZYtUAIldFGQrO4QlDfj|Y`X9eU#F`cLCX7X*Wax;s`^@%aF2{&FI02K8`@N9M z;PWeU{oHns&0@lZh}@ZoV4T4UaLbNW2`5+G;Ub`$D2~P}5F3|?R%WUE_!Mhn5%- z=j7R#wMXCIiOqVEPJ__7J56$79~luMF)Y)C>GtbdSs6bod0N2Kw4{-T2&Z6`cFBEO zyX6(O$g`t+TfMXn$^#I4$)BYa-$B!@T6C4U2%I>V!+;}tpu<#fPpZdR_ z8)H%D?*WVtr~E$vjE64m6By~ap>S-OIe0oc0lV6nEUCze)@3uv)3@rx6Su>5=oj~d zNUu)%s7Rn|#h2F8Rk{J#i(d{36I~U|>#`~BaMrD1io?84P=~OH-Y9Q_M~}g_;k~R4 z*8LM)RWz-@S~MeV*7|a1b{SeW*~#OL#!)Ez8s3HdF&0m{=9f`Ks~g)aBeje&W^eAy z%9>t8s&i&|la9_TZW3MASTQp4^+9B4XGZ%ODZ`l@6iSTEw!T_IcN15jle9wJCHmn- z!u`_n=vYrVui~k}|M)JKL0#)qmLK(1=HmL`u(gZ0zAUTW;O<>mBXWUowYl8vPt4Mn zXjmgE@NFRCV{kN>KQC)ENrR5IT4jT9f zlzO}iJ{Z#Qc70X;TIrKp*g}Qat6VOQpyXcfZY=qlJF^m|h{-3yNWcvP*hZEcu|89} zLh4%q!hud>T^;O>vQDf$LrzOPG!0@bIG?QgsdZiDG=h+giD@hkbC< zCmUc0)L>6oj zb|-FTOm${kuP|e~pT0js?)Nr5_pvUlRq6=ssplPmo3&7V?hg51^*$i}$wXyl#Jkmr zIvjZKcTb%q!rb*2(@EtAwBb^9)n&-PIOM%>ZOE}!F7HCeZI!j)Nz%ZMMuGimU&z0H zYEVLdqeCO-h1&PQTwWGRjNV|KCsoE>pNtm1;wr0DJ`-s2#dEFWb<}bdWlJ-!F9{rC zUh30Vbl7y8@{*jmq}Y1?|D=)2Xuq{y&d+g|Nhv&L$b%W}N{lH^Vs@-73~i#$hF7=W z1>sH$Z@(HPnH7&IjLR@d$r-pK0tSbq?t|25niC+ek}4^q!=227fD>5^a=~5k)ie!GSK69(?x5i zoSoyYKlufKtF3M7lUR85n{-sGih56qvkK{kt(OEK(^{-T)~3DoqDLh*NT18*ylca8 zZM!z4Fsskl0iCR-Nb6eZCYpQB)VgGrbrF-LM;eDtv%yZo?N?Tt2m$z$vYC8;IS;Va zO7p-x&eU4U_=Tj<^pT`Vcqk-g73(g{B)yJ{d+wF@xaU6oxL-eJ@Q^joJ%&mV44dQS z*1r}qbd336EPF;va_)@eVXak%Yrwx^%Bc`qf$_ISO`JJbtqS7Uo{YZ}{= z?``37jx1{qtf(vS;NjuDI z5ON=+cUSX8thc2`g5!4+++G-}b2+7ET*ZbRcB^n%6gx#Hj=bG9gg1u!@s~x4k-~#$ zEL9XeKUP_Iju86is52AO^??J-*P@5bT)8nK>W;g1V7rn$+FBT4u*?mqqHvr`bsSnS zXs(HM(V`y%12OBkE!LG6IX~9bFX9zbw`H0r`km>mW)U>V>KPka}@OYGNPvi<}zUn~f`r{Zli|L$vJc)TL?Y5HR@O@{gxUYD0$H^W_zPEMU+MaRAs5MTFf%ut-sv8<6 zQ%lI4`!tzQf@aoF?#HaZ=D(ZuBxBZBCvN0Q)l*B7L#Vb^R~znGt+fdb015?cOz3HF z2-`_*2rZ-ijYN&Zs`?>F7IBwg^Ez@ck+(im^(T!Xucr0Y3YOV`!N4Wm&ziMBTY}-1$n+s$T!o~#JgjeT)K(f zhw|?8;L~Jank;i`1CcV*Gmb>bH>@I27K=MeXr7?ok6uir7P(36-yHRrk4s&MZ&Pn2 zUHCRjz2)DGjR5V2&Et$7SshnxC24Lju39H_A;g3>#ckku=)I_HFe8y?s<{Uq&CpOx zJjhC+pN=KkN^m|`(&bM%O#E|-%w;*0t0P7CJmOmT{S(w-;uTsMgCQx1uSGxu;@D9t zw`o1uoXe=oWQe?g{CEk0pu$v9ev5>Q{5m?y`mWR zRrHQd@-|75VZo}aI6n(Pq@E8Az81MI?x4gl5r0klNv+JgAkk~ zia!v!KZcDha0msabxi{q)fpCN(l=WP)~ z9?=eELR6VcMY%%+>?lH)!Lji*lF!=PD*Ur8H0!ohQ8rDD?Y__3@&HkiJiTbmrDPN$ zas|n&>qs8CNomQ5wh^ZNPb&edfHHE4VxXYYLXA3;xW4yUKS);;@zvCQqENdOSg&#} z3n>pUZPBw(&Eu%D#+ox);fIjWU7)bYw3{3?hEaC_U9oE(U5*AxoLSsut)-Pnay>F(B=tQo74j|=VOxr!*} zy!}KWJyoO@%e06JNs%URaZeWoZ&~!zH_7c>bR)K~-JWH%_FWeH^ z#k~tl8%nIXcL1Jm9N!D17aQriDCCE{&+gGgR7)!44en;r#Zp_Q6|?3(LK!Pj>jsXg zqCYmVFqjdi#VQw`!cMHTTdeI+7X*q^pUB^rI;7y_ALXN;{?PMRpPUb+70a-(6Yroq zDj~=1L%rQL@Xpotou;zo8EAr;+>gD(ayP1D z0@aKh{G5ooTh`K5u*ooJu2fM?V;Y-yn;({KB~i4u#KtJ|B~J8J8q|KX%=+hS8j&bk zt`eYo?wUY>-0!E#SY|z@qkou*4yov=cJw_u`ie~SnJW4UJNkP>;}D-xPa#~^-caiD z=+vpAQ|)ABQVRAdNVJojsa;>m3(RL%k{6U#KH3KsUIQctN zJzGR;_5!J8RBF9EaDS(LFc?ZTMX7$tS=whLF8`WhjMST?%H1j2l+k|P1)mlr&!^N| zRCQ}2XIX!mMKvTT&;!5cb=o*Fy;NXxY2!3T2hu;~7Kh7fB_wId2q!c;oDXk?Kh zjYOvi5}mFn9CcmFgz?&6EQ)qQyGDAsVH@}T!!xR$Mp-G%?`j+=rsf&P1fUL=(RxI3 zk@n4|d=_L}vn847Q7_Tf-rLeltfyIl&+BtqMa%N(K8^*mJb3z!9&Ng29M71XX}Tgj z(=H+E1UL)dvy+Cu1Zp_Fqr&X8?(VdUGifDIr~Ru=D`#GPG*IF$=E*zOJ{FGLc~V-# zCUBO~bieaA^f_9puR$ccm?*5UZl?r2cY2w5XC_oIBR$kqkodxq*~FcEuj5jH4k+K? z;DKO?d%m}k&f)i8g%#HiYoC9RYU>^A>f1kX*5@y-XX89U`3f)Ym@oX<9+}mB0dQ+G zxkj`FDj}t_yUm)$MAGWxjEA8v^m(_#$(zSM% zM|*Vvl0&szHF8*cuXd*ECq3gv?LP6EyM1=FKRa$ewfs6%2yV_)h)ntpW8Q8NJ)n@^ z{xNLVVQcHfLv_D-GV_SsPNWJsa#wqbUPYa(<$g-?gwy8^T#GN$_2P=Xt=fE@`x%zW z{S1s;*YQk24Q?qVT}8_}Z;SX50|mJ0k?#+}@{YQNAMg~x+|SUiuUojst&u>|0r|Xh zabfgihOR((((eypcnTVF@gyxTj^!}!*&+rMM&1`btXKjJnE!c7K-(@OIiN}~_WZ0y zLh^Np8e8}L&llN4%iR=sj#smzPz^9sV#@`+(Rg7X;g8q9BRf$#Yd~A z)H7LBeTB3q=v~xiG+8p;s^U2^Z{$xk`>$7)xI2^w?D@iv8!BB4nZ!z&ut>s?`{?Q+)pFUns}7cJzE6uH+o|3@P zA~o*v#oCwS=cD21*lM@o-!t{ZsMG)2J;%pZJLR-~EH}>uc6Pd>gZK*LRJ%NtyvFc8 zyWg?L2Ez|tVT5Os#u**VZ+3K)*@-S>#EtkLq0clx7CqU2;GSXD0n8`#4IYw?1M`|x z(i51|S(3AJ!*Quyn;i$#P>1nAMuMD3&aTaBH1#eUuyCmgT>5k(D%BLt}BM(?>z3EHM8BCdb6yVoe@V({B#+@QC2h7T!$f@R$XQ}5Y_Fk%vW8ZvHFQv|A&D2B z-$`7C*u6~7{l+pW(aR*gNDlT|Bn|c=c|sORP2HQEw^%6QUEJ&;3uUz|l(A}|^bdL$ zb{a9O47sYkQqD?T^pu3MQZSIWd`7Hod6j=j!?Ced?l5cRq$u|>wIP>cy{uxr?2Hao z>*ZB<)W;X=m_RD1Ywso@Q@ase< zw25-gMu?jTZ3vs|!e$qCRaPyCNCYZ_aJMr~PyE^p_UL*RuyeX&-BjOj*md(*wOTh? z$)#IK1(9=VHY{>jhwY&z)TUCir_GZyLMV2xJ1aV{TFmS5+atEuR?7^q`Vz<3rl!3(E6}YSxDrRt5p&V(&-pAYgM|zFVAc?DhjdOEa_ebLmj+WehUH-bb zK!4{hj`elBC6lNu!Jbm=E9;Llr6yn@XV?3B7F2C=5zH#dE&Y)+zEshVD29X=OV4Z3 zT6%G&^zdE|UVO{JG~fF1DH{GXR<6I*Ep6ejXKN;mlcViKO&+Uk)=lKV9`ys;?!reu z0!r{6u$F#GVd`KVJ#J*MBoHaGZoiHo+K_ME#2fVn;?&aZZv*-p7EPfXb@Rn9GpAku z;;GxeR6Hot^@sf~cvvD6yI-+OTiXO2e$Pn4yZtEsW3LOM&|3DARKG0k1w+d@>1970 zk%)9ilo6#Y={X@?g-s*heV47nWj#_VP!PGOxtQh*K!w9TdxI9fNG%(&HgRF9BXCs@ zk;OzDYLx^+@f&JG@hAr4Gg$_%FSfbhk-iFVu{dZJ6&%+uO9>>)u{7FP9j_@2!gLIp zU&OBh1{;HkJ5xdb+tJIg_q^>m2YcG81zBLw^bo=dP8Ip?#)TQTMpl_`1>>hJIF^0$ zxKz<=cgii1MStRxyF|HIY<)0Z^mD$d%^ToR)JzHb*UUP{Fqen9XJW*vKt)BQf7tP= ze@%1;E@%w1eMGx4;#I@nKC^!?5y}q6Yo;X8HCYy~BIkN<^Yu{sG|k(51us?px4bQl z5@PNwe>pIO^4DZ^7Q;3|Y)ngOY7ZhT>Kkan1aJ(3fPD9Cn ziLhn6HU4ZYvqx+ZrgA{s5jX!Em@Um+xssJ$Xl>{Cu37BdxfbUptfhr2Q5%T_Fx6(2 zwkV^ywq>(|^Ss;PfG+p9dz;6S5;H@HY?cvB470{vWv)?dN?A{wRk*j*5WfmTRhd_z zM6}?8{tbS!r4dLNeip5807&tukZ0s)HI|0Vs_D8M!+hOdpJOPmYm>^feb&S@cXg)% z!R0L4a}@}_^9>MOS8js7gZAX+Wxl-DwDsm#xSg$r2hUa8Ii&Q#H`$w)FV zA0N9tIPy%E)p^4ijKpR3*C~9Non5PdO~~9;ZEg$tcgd}?Ort4B1>;e-`HD<0++Fu0 z(46ixK;Zubfd@@X{CbImYc83q&6(3>7{!U&XuiugRVQkum}|{7bVT>YT1PhF)S_Uq zT!tM0fLtjslO$F2ikh0snEcM5e+7ol`??A#j(0sZXWfJYd2adGGVL0LJ~$3DRi~Ye zD^h0U#%cY#=W-~vbvyIZT70Gq%+`=dql8gC+#Z-hYuu?aFBQ*G&r2DV8mDZL;@mq{ zQ`Zi_VP32mB1Y6WG1aYRu!7QN@!qb-sUOXbS8=i?BloN8!2$wKhDnCReA{3rVIlgg z73^r{Od_@*A@gs6|DGP3QtQcK$dZQY+;&}(8xX0ysiI%7BFx>QzVf9ANVun$9M%4< z5f4rx_fZDi;e2zfcS%ztS$uqoHo9b@oQa+#NlgrS|^~C$E z%l0bjL2ENtXS94}8=s=Lac;a-Za={TEc2eYJs`Nf4BQTW$CpTaCVg@p{XrVHbDyN= z>>^t>T)wHs+#WQ!zpX1VEn6m1C4)i3iykX-sP^E9^7||drlLDux&J6I__?Vf_ici~ zJ)iQaG5G3W+_RalpntWu`6N9Lz0D#|1DAVS{y+BK1U{-F+aK?w69@@#qXvzL(hhM% zBN`1l2@RSH-Pk>LAVN^wCJ9M5iG(C}x*<3$VLDNoON%qlnb9}SPv0y)m(g+NsVpvJ zfe;9?#RbJtM8~;JyMS9*l>UFuse8LSA&m3h|Nr~U|Gjt7RM)M&PMve=RMn|d)8JA3 z)z&Zkc$O5VtQ%7L?r6fe%`H~C&f6>S8a$VA#QbJ-lscdI?g5+i1Hp~tmxX*XwqY;Bxbph%VR7ThfFX4{yab(W4X&ngn-ja_U4vvjRa5|Y90{msE>gO0bVl5}cx#28o3{HKD(})O~K@uQ>A`pQC zL{I`E$V?;x8X$}k^wL;#j?n;)gP`(-Y2F8SyWNOh1VHN;~I(l#kCT%7sm#!S;zrdX?6Bu^)dY6#b4tR`Rn#10)-k zSs}TGpnJLDN;JYAs@P3>jI6eqXH&XlnAzt>YzxJK0#b1-qEXG09 z{p|r!_a$5`ctNb;qHllE;xRAlWjhkZf@ES6pO(ZCFNIJ)G0BZcLSVZ0QA7|pot!o? z$>mxp!t@0vrimjlNrsl>hImCZ&m<;M-xWY{#gnWbkYtONq&S|WZ9tOWXh~+olXMSA zvO-JpgLsnN1CrdXB`Js}**73bp_ZgDp5(xQBxh?$CdHGe1Co647Y(|H5kb(ka@s_= z>_!rbnH(?W=zvn5){;z#C!u9dVkxV&B-h51kokhdB=fZ-*Ts{tw3dLFHZ6%DSsv-^ z0i|51C6VK$SOz3H`Htw()OZrImyp<&{aTWX<4N)cBw4Q|fue^-WcL;fNb++e;YJoA zf>{dz@&e9aBg+)8sa~y=vGG#qx|WC)+-N3}a4ZhNGEF8fuw+1*+<2N{dYaos8j|u! zTuMWd;2-BAFavuhe8^f$ntQr=2igIk$6_!aNG%7DOt&NHP@HM%jB{z$yCGAx3s1H> zS$HgJzVM7!FBP6V^+NV!sOO4+A~jQZ9O_WvDN#>mb9r;suY{*u{aARa)enTHKz& z;cp}V?ZQvgtCk4=Zt~lNpXgC75dH(?zfAav!c>d!A0~g6@Dt6bX~Iv$p?-4?K|moY zP!9_~p}YE_@DpCE`-GnmSluD~gsEzq@Doa^&j~-_p8B}(6S}Dn3qN6#dcW`!)~GGy z4~UDAnydo76_Qmffh87*M>vh0a9#wvFE?zgMg~54SI=BPt)%fgA4^k*f|ttgCG5j>1s_arvhiGObv;61w4P-ZY_hC_ zwuw7u+pr~XD;VZGdv)^UyrpMOE?hD4vbSbsbt~9XORHt$dmb_>1xSfG< z8$sg+1NsG{{gH?j!-iLp5{7M3r~mWF2UvmS97@G{FM{1Q^eXiNe8G#QY3g~xn`sYz zA1@a9QtUxDQrweGFhifkBQVN+L_iKaaB~6Mxy^=UHzui{W)Z~iW727b-xYj@a=L;q zaE9PB6cbl5#ZlJ+94QS@GsQme{~LUiT48~8^7Cp$pN_=eJMB!gyWWLLm~yUoiB;S$kvC+add71kLW40&)8@fG_2g@u0!k&M_@t+Z=qa#3 zcn2xu4N#yoaUe~(_B@mVqgUF4^cy)vHd44kej%nIK8$#x6EckYAg3rn3eGM>7Nq%8 ztc*pR;zm7%5Q357*;tBFq~I3F8%FENu+rG7&*>B6@#pICHzveq#pCg2i)hHKg!nIe zg@9t8t<^FIsS@H}Lwp3rjPD1_%;_1^ z@ui3dudxuS&|3-gyE&6_L4ApTcZAnt&T%SdYuqMrmcYGE|Dnhwr_2(QO<*?%v48XY zU%_DLP-d$-X#|yik6^;!j@aMPzZ~=lCZt6=a0pbKDQ~s&%!c;`p=+QSGDI2+aUh(A z^y5gFjp7`MxlmN1>I8TC0)AKUG0F+X)Q=<4tXNLxGu0%gVQ~+8(;(g={ScmPQxBM< z9Kj}wOm7gEhy(3?`Jbr2w-eQ2f~8}M-_o1}Q;gpfsCHZeg5|+)FtMwJ@H_D2uo-p+ zYqMcwGCI`z7U(EReTpu9VE2d4svg8BA$9)OUFJ!}O3IfwUdHs}$nC-1&P(Xpt6C9c zao|*4Y0DKLmAs>iKoq*-@3`^SoO1xhnP!T45nUgq`Pt{S=G+=6g zbSftu!RN$QnBqEFp#FjH+6+HQ;Cz()0})f+M7rXxkOw=x-?)M=xi&i%F!PN zCx20_*t?lfkyLIpKAt)$mF__Sq#X*>C*tR-ZUOf!&n6FBwC*`8soYpp9&u&a$#5a5SE%x6XEB+;k#W9%}BLb_xP`p z6-QeBerwNC+$%mux-T7qzWSp=?5#n497_4nRN=!a?WvT<$Lks=kW2>dJmqN;P5yql zaBk+(^>UyoGh@Y{oRyHaz$2O*$^+fRc}PK}A#$E=b+T2>O2f`B&!DVGjYpTH==^B?FDT^ZMkhWYx`0>Dfh0@6YfJ_ zs3wfUL5S&c0QRug(nA@_NTC%0gT;hF(wa^L298<7&r`CMO<4~djYgMR$@kl_Cew;5 zQE%4zv8|CCQE&V4R1Ks`N9c!V@kPi5ZB?jx!L};d+#PO3wd!lv(4DJrJ=c4Dp|qAZ zvZR)u3$WiRwd@wYp;F5g@By`@me-MyaJ-6~E5w*sp`dP~LKMds(bjYDwepyNOa}bX z_Rwr|TX;K{wg!%kUD3?%G~@WL8AZAXYq84Ueb}lKFj5@?5xVF~5gFBOfPMq? z%Eq&e<-&(Ki_eLRjw-#JN$(SH24i&=j>(Z)=-qmUGE}5jc6FI7uB0D0qr-DJGjs^J zURozjMBZ>1&CA~#c|p*XwB~kXXWEk1-biJ}>8rFGf^0wHBK7Y0&1}DkG$`Zo%HF-0k5pXcSW<_5m@j3Dl^MAU5~j2>X!?H%{v4hj<$(VITAsVj%0mhcY9Z zlJ26hqBLpJn&%LVaY_R#c|!9-j|MDj#bvm2p2w{x&|J*6q0v*U9C2aKu9)vpk-?f^akl&-S_x&T-M({VYp-vZQ`tnKM;k-hK{I;xObD&WGrk(}jHCS3YMTpK=~?2_yg&VhFWR8{bz4dCoCx68`fxk!q~ zN9<>Nus=w7V4xhEKOWiK=?dA?^7kS^ z{snn8bs)T-*sV^7lpj~sO5bWC1q~=+Lg#CruSV+yH5V;`h{9SD*gD4g$%01NLUUoR zVgGVWH$QJi$qqcKwkUh`5T`Oyj`pldaz?S#gUHi`L@ThHal_%5vg5x+Pe#`RLZzFXiH`^Leoz?E;XAZ)Yj{3023 z?NT4Rg_KiC8*+YXq+HJJ@m)yHSaR@6YLC=eq?3;pBILyAWD^v zRKB$ErCNj|Tmv6!sMcz*i5l>}#(eXi8^SkGx|SYalf!%*1EF=@k5KOOTzDp5?3*RM zf=<7#M$P~(;zmPgZW2(zH`Y~n!J^T&g6nbb$`}8ThF8TW68cu*m#jziM9RtmhepaSrR5nlc6@9u>u76 z2r&+#yGMvCpjiy`M>QO{=a=wEuVfG`-pd>m7SjNWtB`dyR1E=(PQCB=T5Z-p=!sqi z@IAy#HQ?TN`U2las(}Uax6`~|FB5On0=Q3xe}l9H#-W4=sgWE4*6fHUA?OSWDvr#i zASb1|9{mAYtHb-Z;5-`MvuSvJmESeAkt?ZCCsY#oS?pqECpM$$G-SMZ18d=zOz4C) z=Mef}Pl9pHH-cy{{430nP)jnCL3^dxLP|tdP$-m$%ArJ54J9J5S$FK2C}`3N`5qgM z)!8^5!-Y*4(XL`DxEITg4*f`Kvg$sQNFF95g76(&O^FOkHSZ2lIBp>Xdig@8!F;> zD2Klzv6$8LbUSW5qaj6(sGhZ(n-Q5^Z2eSf;pKf4YRFy9)^Ywc=5WZg`YbdR3QEXG z7Dc&EZ1y{FjhocJ+!FA}(ZD^se3!+o~%ax#%>llFMn8?8=!NyTQCQGEtp_obiPaZ-ZzH zp-0XWi)+q?_jO{ICUnh3oINeTgsxq+!c}v=<3#PoEKH&X6!I;2FBb9wmf>W~0eh7= zH?4w|Q7!Jp0dbsHBw%R#s$cwgHCjZ{%!ti9FtZo33O-&=YbGRXP5nU+bnjDD*BVNa z`qoY)36Nb><@9$DEu=H4D#xwZggL_Fq&@*wNlxrW#?bvhFQK`C=zZRQ6 zyg|wONPQe96gcC|fWqQOX-;gwN79$2hL%Mm=8!+h+PA#jiYjXfOZ7MXqz5{QqDT`r z5VwfNb|@_?otY^ZQ7GX@M|~tipLSYKaGHhE(R&g!$MQ9fJoISndJ<>Q83HX)7r%_^ zq5A<9G`Ad0HmUm?c@GUL+oMYHP5Z9h9OS=1nVAC(`!u@$XbF{ML`SVab=Yr%b_phO zO8E>ftP_HaC#!?<38H*bzX*^)NaW_6GTZ6cm;xph9W{kZU|q(osPXG;)Ci2WsHLLL z-$zGnEW*3(PlAOb{+T{JGZ-pL@>tV-609`Rv)Y(|)4iX5L6>r&m%I857jDSqZ;M&t4uWXlBXWGr%riWbHcDL;HgK6S61>KikorGa$+s>aa#;o4w8PEOAee!_Z|+crEDp|byfHYt}BPD+)F|2YI5Ih7)aKs znFi+ZV<&O&{V?kvV}l#2!;KaYq0plQzGPxg8@6(^P9A!`Uni9#@&@Y0%J-uXq@0BN zILHff2c?bS^ysLX>$J|0hU#@shNKJiXEwOPBb6l->V|7HW%)s!i*v3VU_;dEoOum9Nm>$T|4 zC)O?g%-|mhqTH4pxzP;&=#rnJ+w-weZ&ZXfVS+L9t)+h$j126#lUkVLrR7@?P@vE8)bA)DHh8 zTA)CT`nCG!Gr84vX(PjUn5d$VmAHJvrHyKu zXh5V&>pLu?GT77wU^!ZsidYLfa6?Ih)z#PWnT{@qy;)55#NQXQ4Ae__ve08MCjCUQ&KbP;7*WVdNdBTwNmAsJz^1wAlF4rmY$BAwqsRU7j1qY+ zPK3%4Gz#4PES(qany zINKDwVT`YUH;RI@VN`v@9`s48W&5O|CTU}3W?JJ2`We4p%fEJ9qJ)FfIJGUz8bx@9$K#iK^1% zkj1PDVg8-0M^Og*ArQ~;=i_~J6%M;*TM1{Ms$AJ9;Qrb80VcfhzXo!O73 zcY8PS^XsjBG3G|D5<7xc1v)CN#5iL*WGargp1 z&V-ex2e^_Ep+m_K);l*AQE{8UW(4w{TEgX2!mU)odh(U9o*HxqCXy&}h5E}oX($<7 z+IV6d(bC1(Dvgdhqfmq2xzy0eSzCcBKxy0)DIn>`0s)BI)N&R=9ie-gscC(XXL}vz zZF7w4R#mi1;R~rp5H&@`Do$$oh`h9*lUnE&o3su#?q;Gu(goO#04ObKk0?1F)tA*!udo4Is5PelVnOcK(_rX|VOO6pfnYwQZ5-s)sKwr!QYuHYE#z2aB1VW)Z!LELWO z_XS0(p5sRo=)s2|BJh&KYW&dK;z^OSD0GzwrAU)a*-i~D!j+K%SEz;K6gdl`bsny0 zbF)~?#xOOAb=j*sXt@1n7tl+iybdjiEr=qcCD?9h7`J7R+b*}#Dwfv0r6waCzq&HS!!O7%7-3h0r%&Auxt{o^e=o6^*Yr`MvLE~5KTtLqi=o6< z|Glzpq2Xs>58ArTi<8yujlwvZJxFHtcPJg;CmV1GW_oDc9y5-k+s3u$b_BLZ<@Teg zxi}?m>pj@FS8mN(=`&-sM+-s6gOPMOFnOg3&ji!6#YfFc53@`}<gBI`OC8zbQSTtOA(DPqDt) zC>|Sppa21D;pU}c&qXZ$N#+LJm*!+c z7Mua}evo@q?(0QA?}u^Tah>4Une@@C z!enm-v@md^R1T)xPp@M4zRwl*^6Lr3unMfSJ9FEep{!=7b=%T3B^e1(rF9nsB)C~ulx$(Kh&g}@uSE?R{o7%yFj}v zik!Uiv*>mFk%L2>P-9a2flQiXRz{QBqEY_@8-ca6@b(sqf270Q#nf;ld>y6;K4}4T z#=poc^D+e4q0+z;f?a`V1k*gPMxk7GKWe4f3Ue5427drw0X9b-k~LhC$8{0-ayyDE zKey%Xo2s~;!!+{Sx1_*B$S4Db%9i5Fj@|=(yQj9=(2jGbhEj$Ql5(puVy%kQGF{3c zIhsi8M3u@LM3voB726t1??FM7FfrALtMwn*a=WGmU281#9yyToVqBH=eNVAHU_o1T zvIJl05{ZL|aOA$R1Q)WYVZ8^YUTAv`1~x%9$PesUb}k_BfJGo4@KwXr?DtQ?n8gRa zWb;W`xj6;MlzV-e_2{zEF)#ws3`tw4@%-=`SO;5=OKVA`JNE$rLXZTE2IC?KtaDia z8XH~hhFAljD;*EPH=g@HZV!ZIMo!{%0yCAPKucTh0pR6SrL@JO>{2><58=wLoUw;c zRNRxD8bp)}XPej`p+N(BI*I%30QgD78NZ1}noQ6`vknC4$ldLjYA7oWTnGGkPh+yOlZU?a0e$Fm zz@IFXmiUw4$2{d7yx0i6gb;J4UKUA1REGcq-sK2MK7WychOho|UcFiB?K${>(#wR)>~D_YE7d z(#F~x%h-pA+(EbKhK^&P-u{gz<`-)_#&8@EjTqk^t?4>)>BtsCGMXeHcnc(hDNKQ3 z-FU1T7?u>Yy~G&y5-{u}*kB6omlK9vpQXHOHxCW}UbHw%+KAf&V>JQ^r3@w5+mzmi zUZ@FsIBdED0jujT=o0$>;c6vjn^9c&fs;GaJaWbTj61InnsJ(p@yI&xD# zz%S;4vt!WI=YsGKZ63JeKQ#}4IJK_t*1AsO$vGSOx#1W;P}J- zFPOoEW)o~eU`vfQ|D<(4#CheRjdZRdtviB^!4&+ZdGZhAXE^>~mj3gN1ZH}PVBB^O z)O(V#L7j$v4bSmdJFxW%S)TUX13!aj7r;-T-}Wx=ws99wrBy(uC^nOOVfy zW2^sCTuVvw*v&hnjfcl_fe0KW7dEBfX_LYNe>z@zZAuT9as|7fTxCBcb$a2l6n|>r zGL!ESaiw&4v9cp{Q>yZ=^^H){=_o9X zM-5}JIEx<##`DHF*lSM0QS&>f3`m&{>#tBgY3&l9BQc)o^!+%#sf05TFw#RRISN8N zsOwA`j__K1S`4c*~jl8XAvopa=dP);r(S$xz3HCT_Fv6&u3z-}s1g}=|iW)3O_K?;8Ui-HjIN2OdPu*l7=z3<1JWzlY-)Vn@0hEJ}`y_Vm50ZAGM- znxiWam?j4cfLJMXHVI3XJJc63qY;VDrQP>(BI0T~5{m6d(Ej@AX$uFaso}LT+QLca zMWY`}1^jSt4_Cg+afU(rnwex@_a>}=myJY#^yMDG|!IUOUP2Grf-8P@}Ew#Syg+k>6cr8#53J734I#TH5- zD$fFycS?aKCc+*mP!G?G8kKiS_uht2S&+FMm^e}nE=hZl_(k|u&cRfU`xZ8H7g0I- zI$FjUH)t|J|Xq6!n>j5QaH)?7@e@AQ)A@Nk5gqOB3n;{ zY!k3N`V6-#md{nT%m_^$<_dY!#$m%3hv@5u;%}s^d?Ed@TUMri6B?5S0#C8N)hM)k zW$PDm@YZh_&Y*KS=_*_9r%pV!<_vtAY_~>MyhInZGILKlp+IT=6xFR*Lr7==qGU6b zqm^y4Aa%R7bNO|Gwy(mi%rQD?gR*xqWnTxn+9D_$X)zLGhzKkg&g>PKE3BO>?xYk; zs^~n0?y$7QD6ONY1uB(3v(3Ddik6iQ5ZW#xw9kmpj)KrK-ohR}jUAQe-(|OAKND@| zDtu>1>pDFdT|{Bo)b>cK2RM;U#FoOS1_rQrB)u-4WD@+tKNAT?2Vg+62%Zc0sZRdH znTjpvd#LCFJo~c6pW(p)-uGy*BAFgD*YLf_5Hlg#1q`Z48h?z=kMbCUU^~6TJW5Iq zIv1Hhg^k90;Y77bsAvpc9#7_2Y#M@s<@AU}&3*@;#OVmfG+H5wrcbyb)0yPWZu zuJZSj(bxhTo^>Z$cDR(|#i7{`dI0aquttiYi8dvIFBp~iLW$t72c~oV-&b!xc``xq zn>QRZ#qY;HIf;7!;VC#wFUB_cYSUzkZ}{Y4zO>2dzLd!${Hev}_J|5CT>J)(rQ+Hp z2n2)=*QRX4{g{?tpkaKFYs>A%L%{fA4{7PJhqyRcq}1AuJp5i_m|B`=J>kC+N204U z<=i7Ey!m*Z@AJsm=HrDc#s;G2HcHKh@?`TddDWT4<~>Lvnt)Wx-f2Fb>${@)_ypgj z&Bv!n_tCAA=HvF|XEqkb#zjaTfs+NB6Th^a)2S zvFb)#x;s`IZbg{2`X=pO_Kp*n0__VL0BpNX%9L7vj50Q`+5*l>qoJw0CZ{bvYXf*8 zG<=ZCgv!F(5Hm2RKXU`NafDsvCJ3V|qg3&;fiWZ{ap$nJFuGIhnAV} za>-iNO+!2ym{~bQuP_&>%aZ{rh_snRNN1}03E8PJK0JozXaN&+nC`@l{F)AI242dCz z@2loRS2iC{lkS~D4IPHGVXqE`#pxp8HUu!xe}ib&Zx1gNX;A0M$!UxBQN3BH*S{}b zXV{4}TzlYHx^H245K2 zEy=?Dy%D0l@}%Bne~Fy^@{I_KNJuNKy%+i8kspT_i%PT+2@bVcBd|sVv&zQ9;tiFyyHYFQVj7{Qo}YkZR1Loh)c{`p-tstNfX8%dwO| z(mTWSzJUieyIIJHryN#zD+w8+eSc(e04L=nNtN0{H(`S5ofb;LnN?}dM7;jGe2%Pq zGb7|1UhWFroi^?yX6hkWNk}$jKb8{RSV~L{U6y85=}b0EN9^wgYre5r_xsGAq$_F4 zohX(PpC#LJ-$ghHbQ4!>u;so%OA4F$Bh!jUJ~0+z zoVylh%D5^4@k54Xa;#tccc7G6L_7jJWk`)Of^I@Rv*_ddgiyEQ>n3F1>>my>)t7TC z4SnQHy7f!4&aJdqpuWSz7}^z)#MdnFErIgDa6tkPzuFteQIWH-YTrWL@K6cmsInAA z19$N^FLEv{lll)< zrDVF4w@Eh)YweE4A%e-;f=ToY-#Dm+Vjly}^@dWOJHJX3(JrW9%2F0iVd za@Vv6cffgwoPQz#X>1{ z55&TVhbugX2#+3!9*H#m8xZ*iiadj|O`#wxYEyrTAY3d@5qj|VTImMmW?xoZC!38< zsMDbtggbO5)2eCa$W_R9W50YePnT~b@^wu!53wungl~ojf$3r^q%z_#i`v7miO@!b z>1|hWxo*UUUtszCGSyb| zpii7FIX^?!q;j%yVcH7-DgGgFO}@uv}2VIcF|tv#d^^zIC0faHh+Qo#1vXhBUi3Zq1^yu6i@&;EuX6I!!4y2?$&3}wuIIC zE`7DW1M~^#mIAu)m17?cC9LoONV}Gl^E8*RCx!`u_Qdvs`J-UWpU{%*w^X-fKqayl zLxdtxnjf!`pk&$ljxP&kwP7!eXRmT@x|lP|1v|n(@=OVH{xnk_<(aY+J)Fn8e152f z)qIrJvwdDCoi5 zgZ=wvuny%L;sMgSHGGMIN-qc3IpP`jD*3A*q#pK+gFFDjf{=QIi3^*hfuB<`)>owf z*`yFuMK&oC3F;oM38X_p>30xRxk$SMw+qD`iA4I#vK9U=rv===pH4nB+vIx~GAQlu zRfSTn%inKT{)z<((H10~&m19fLj$H-h`u63T-XPLjsS_LQ@1UQ$!Q48ZayIjZo}qRe*#mnc^)G$ zltu)GcG~fV5fNBN0)Zh`BQU;#EsM=CY;2J{dQec=ai+4_=&D9#B!|YRjO9>`%B)>X zWVJbehse;77?BC4j_&XBj)7qLE+`6EJ`nLEE~X*KrKGc&Ku3aNh?-&uAF)t514|I3 zBRYq+PlWt!^WcoC<@Owx?}7)-c-!pD6=!3rs?Et;ZvlFR93v!Kd-xGtbfeL2T2I!M zxyyHxAm3y?9BTSPnt51mKLj`(Itc=kp?}hW+u}6L>R7BnSnF?_d9O3~g#RF@l-kaW zg6O4m+BS$+jFLzQaJA@E9YN^EJ`b9=GwKoJ>xkYL4o{WFK^VCeD3DYErr zm-41`pNhtzW)e$bH$yxhjLjlPa0rghP;_uQw25QwGVc{F17}vc(NshrK$m^7jtV1a zn=ORB(~NC4>p?pIJJ5K(9C9Qkek{Q%u@Wn4SoI)5F+aJ`AEV z_t?y9*hD5Qx=#yb_R7tN%ueis*jCLpqv-4uHaikuF|=(ID~6*0;~*;rRFUUT(~AF`ihn8rQ@V!c zX~?qZE3%ur^5e%Ll6{?;9!fPO`O^80oqBdAY;b*rO)t72na)PG)sOtq=+~(qV6QdV zS4N@{?MUH0x#$oGN)Utr>-7&JNc|ITLDT3^x%oIo!F@glq>4Q3jO76>d6i;ugj%=& ziXM-5-cE{AEYVRiA(~%?kHtQtMEwP3ai7UGCd$8;9Ws_)~8|AYGv&SdX{k znW*jjeB53~^rAP=C~^LSdlT9@bW!XbCyVx$S;@!Hfk9>%cI#B$RCeM$HRK!YrWh9O zya=9)wNVk<6X<7St3Yoak37Nv!k@I)#?DeDm}G{f2(s%h={B?C503d(*%hqsw(2dq1T8|! z0zBmz>^5S?MPk#&if)NI?+_Q2WweIxKfAP6t9B)cuc!O63_zk@5LxeXEi>r|>In4ke zQvmI*jE6=a%%5uy+`WOF*O(P%EYM^2Wgv3uN0udwPk;YS)BcxhstMiluorM~qmE+Z z9m>meKy1Tvk#kJSC_4@_W!|Y^e6t1ZcwrE4T`Wtphbp5$IC{|Z!N-yzPvPoOK2~g1 z1XUY7GWi6M4danclMv2ik|O6uM}2z?kRJ8f@AXoFg|cJ=L&YPUqxK=#ri31)`mH_7 zZ{ashx5~LY0z0Dx*{~aD-i+v&pX=$d zhUA2iER=`k(6TNZ!Tg@qc-F3^U&1mSYzaadqu+nWFD-kp7xpx*qakC_TYQkDYUuq) z-!SZ=Nv%&I#*S4orkc+1?I;M#rRDh89G=M^JC>*Om920QJ{_SsxH|P}bX4*Q1`9-} zSWmACEXz#x_7>c6HeMGv+qb=7Zjx_{yjq%+=1raCNLrNUz~ZJLJM!1{XqPE`1a9H4 zsn5%EIp-QZX8<{|4~*#|p1DWMd=O~7k+$d2iWnJ0M?KX?bbJ_l&r%EcSk$RM8YnHV z(#cu8QaT6Zd`;{D!OL}Wh5<0>w&1bWKfR*Su@6W^#r+z^Z5^V$Ryu71Q42j@5~t-Z zemw9CPE42PHIOj9y@qDe&K}6sN7!UWJ84t;OY{KgsP`c4K|1vI*E(au(w<=SU*k$2 zyd2|7=*PK73cUS*@D{=4nEbb^ zvv8DSQx20sauZkz?cumxA;v=h9ZFEjju>jFOOROfQ)=0Zbry`CVdc(!gOSR9NoOD_ zJ>~%xi&r{!sh6UC;s3*VkgY8OreROh$W)-c=)K^<;1;MoI;!C)dJYUZL8iHOsegUu zBu>y?RsVutr3+jaR+C;;Ge{~3xeMZZo43*CCNcFmuPu-9TATzkul>V^g4aF{kU^$+ zlpsf2oy2STtwoYFNbF!i0{;8q@5h5*fhmqbZlBZgp@DcXJ;xySI|sBye=;4l@tf)U z)UjyH=^sq*pjN;@#T50t14zdvzTz8g+6i*iu9NZB40td-+{`6JeXrx1PaCd{7kh4 z_rOFm!gLrq_#5hj!6oo9?&KFf0(s6qRP|!Bk}l$JQ+J?X01q#64;)7eCa3K`!%IN8 zv_}um126FK)L!32Jf8{br@V>`+rOuw@77d)5k&rwhOB~ihEECE|I^svLYL6}a4 zUCM>U*1t+Ez3^|G0*4H1^wPLOuEIz+ILY47^OO>g2Dgx+nysK3=CH1w^;6Pv{#KSA z*y^xe?ZTHIc>XDFLO88o5wrO!G6x5TX}AMYc)9nhoSdC#VdzVxPL4k0jrx} zR4Z~8UOrGifvvz8EVe*N$qvhdTl^oof>)4L^9F1?G&zD-@4Y`2;a^FuL9|J>e&Q>1 z6;5~+fxbNT?q*_MTYPt_N8izLG0=@l#q~3QF=j)NEMVEK-}=bd)_Z*PtbPdN+>T)C zU0lHyUzaO59z}cc=|5Mb=nyH&v=qNX3P7X?pMU@w<@=dK8ACZs+kDsI zl@%BoWcaRNoE#0gS#DmMYMLUo{DwMFa69yPTj&6p5dn{c00|(lT>TNLkl`+1d(_9|@=eEj&?x;I>#**Y0%V#N_WgXQQC?4os}^IpFaW-#kw!G-ws=#*q^*FB z{jW^L!OJ6epi-%oPM6R+99X{>x;`2E%xhXey{^i(cr`A(iXNy#s6YtNXawM7Jey0D zUb)K^%;^TUcBi3S41{_gQdZQM^BuR9WU08{Co&{v&BCW zx8c>N-zHSLl;N{Wo&UH1GZ1};dMiHAR!q4MVcMh+hX@HjhHuR#%=_~(h?@04&9>PP z6vmePx@(c#i!9yCm=$sji;0M}x`;UNjp=(~8i-eXWUvujb+TqFc?MZL+IS(9dzz9W zzu?tfrzS$}qG?EzppJeFIf3jGwbFAR5aNG;7ODp!Ch+vo<{POm7CSRx&SyVW@s_KS z-pW#Xip_26&A)+~7$g$Z(7$+0bJ0-`p?EvAbqP${(9>dTpU(pO=zEcZ=bqv` z604pAK0~Z>3=pfxMhG_RU}Cx*=0r9Hj>6)j9B8vhFVGVkA(=zWfp!a>&|<%=-M7b< ziyQ20YqI}5S`wFoumIkzj>hd#5_2Z06W@eya4}~Y&XZ#cUx+Z8K_FsjD05CW6Vz?2l& zR(vCOU#!-60YYRb@3-J4+7C=|<4Dqk$KSxtFIL@eoVGj9Y{B^`w>^u*nAg-_gCPoQ zM3Cn+(g)1<6a$=-0eHM>(t%5%I^f$+1-uhxKz!+RfDZ6)^Yz$rp$gK@20sSaWu=q< z5(rKX5{|>DL27vo=m`$H4|1ux`YjrdPat;w4tKgvGajF8KK*#`8|@fT5e}oUi!jQKfW|=ly;qF zlynnb7^&EMX?UbY*ze@=dj0_#FIkM&^RJz@yC*yK@j9Q!%enF>cdSRHnM_EpzlaT7 ze|*oAl_OB@gkdmxS$(g6yy`+lFY-f!1CTwKtv-O7Fugp90im()?MgOb|Gix4=-WqD z+4|ms;Z>KleerO02$k|Zq>HQvW}IZNwR7>mwI&7Tq26rNBFBOaj}-s^i0hWPXM zDqH)$R*nXa4_gFVuQx|v)*kO$Lht}8s1fvSK%2PWa=))Zg`k1kr4xjH0>aXD+XVv7pD71wr*RJj;&e?%^s0d?y-s) zRzq^4oBTFTnP%-?mV&PI(YBF_O*Nekn6|2NEG8BFTF=){Hjl%YpRXq%|84K-fqX>= z1NoWn2J*jADFVo$=`k4pMu#!MNr$mR12XoV9DQFy?j0P?v;)q7emxFoD{2XY@%$G6 zod7?)X`2YZ{xBAB2N%`gN4h3y^!8{u_z>w8yzRjbR(k$6kJ28diy-T1x<^Id)rUDl%zTsV?_&SzOiJNdFF0JbshlSSWaJ(r3PHUQJ_|lu^UHE=}_i6%NCrS zLKo6()($$_!U-_ea<-ruh{17wAsyVIAK%AX6!+YIP?$B z#?l`zUEGi&y;2OD)ldN)4uk7$I7Q>5>DPm1J4(din#>JrAK0)VXffL5G=CE4ib}1Z zY*^Y%gB3{t3;o0+MD4f|NXn@AYkxm8V>dQ7A&eo9$9xo^2xgGXvIn+J(Tcp0x3RgmM~jBksqzL5JHGB)s4C z2<8#N5pi%1q_xO*kjZu(KeY2Btn}He_;htQ6vt_=00)d}&hIEQy$9)=;0WDBMs;Yd zd_IyO=+rkK-+7VJZ`G%|eq6Z!JOsJxE!Z*#WwO}y+da5?@U_GGuHUA&Z2^R--FT%X7HHy_tP@Et;Zm~hNeX$FF}LUdeoPSG?6Xrms(-JcCa>K zXC~}nLIi<^P4IyN$75!}^{Mt^WjAhOEh8R*w`4%XpdF_IiM=N}s{I3;<Wy}A02`4iEybo$!;-oJ!bW(?J z1g6~8NiA*uFD7;PK~F5EMK5~vy&H#huQs{-7newn%$%99%uI(c2BZvIzaGAW;cc1A?&8Ho6hcV zc1NlHW_Jv`7qDw#_j~N-u={;>$FqAWyO*(hIlFo6Ud8T2cCTT# zfZa*#PGFhe#{UN(9c4x3#!tN|~OWD1N-MQ@E%I@v#{)pXjcIUBM z#jc0lYIg5rx0c;Hb{p9Bvg>1a5xY(7-p%e(c9*l;%ix@oP=7jiI znSe+Bwv`2`CR3aAK)Ztf1^^}Sax-c*`O-I}QSB>Yg(Mas3h)hIS#UlI@}=arMN-!% zA^m{DP}@JAbi|uarkJ9m!WR!oEG92D7+=n1K;&tI5s%n^x`>Yc5pmExAtL$>AH($i zK_Yk*77r4^Ierw27tb$m}0?QgqzM+Vl**}iT)==)8 zfhec7-uN*fU_iitfB^vm0tN&O2pAABAYeeifPeu30|EvF3<&)9hXD3ljDH3M3bFtY~&Koe$hU{#^e3-wFq#-v$H>2pAABAn<=50#EP1x{_*1#@`R{H)hos)0l=a zrm6~G1%+4E*LiB@lh0(D@2+pCuU%3$-&^l*D4RF0zNvqBW#!_2>Addw{@Mz!NR*Jj z$y4uLnDDKaq?cdip6913_3!#cZf|Wx!ztyUZN7?{y2i4G`kFdlEIO8NagDFKrtZ}6 z#zmq-dii%Y)^jTTdtPn*Jj$hiS9skFi_0#${L)5?b4ICFr1+j?mt7*jW_Q_3?Uw1Y zW)@p6zUZ!tFNagsfZTPyi!C=h?6d5ay80@2UA<+B<+>}iLh$39G21??)G~9HWtP3f zB~P0;t6nsM`b>*n?Lk# zcSU72Lsg3x#8W@-PIsk_vYbzZS9rY@OSI&oyhRnYHB}-+l)t2*U-^x0y%>?+>u#v6 zsEoJA>s|=@;Q~1SUH*EXRserDRQU7;@^?bZ_#5=)_KGSdTzjo)!nImI+)X}jh3EpO z)VN0g2lqF13uc`9lfsYyPspIbJ=F3+NLGiH{W8Onf!^Dq{U? zbkAQ1nrfsp@K@DnET*cyva#lFt#gPY{(y9p%;a5Mi9h_-n@kPfnne{F5E`pNpBj7@ zS9t4c>gHP(x*HoS=EuvatM}D-YAP#yHT89;M51g@O|9Ef(+J}BSt=~VIp=T@-&bAlt+`uN00vQ`w@4H)ucC^Gx?-W*=k{9a z@xQMc9=XJ6Syt^Q-QW>-33g&)Lj%v9M9sbueZ$8 zc|Fyv_r%gzS?yj}VX3ZYv{Y78!}StG`)cbe7f?YB-g;j>Ix9j=CVySUJV3@*Z>eu^ z*Tn#1A$aL&=r>jmT2fWhxPV~k@z*Alv!JeiaUGT7Wf*ChWBEj;g%~r+y0D^_CYX35 zIof%}OpDv=t&dMfCIAE>{sy0xw8H0eFKqBpgBN>id~OUTIDb`rUG0)s;}hGh4dp^m zn3sq))*c{$zzBj&LOV3fphhOf+~s$Bmsl$1)q6!tDk>|1ffn=@1KCJO*B>Wl-{?aA z`8AaTI>h)_7Z3Ch%2?cWRXoZb4_Jj|p})~*nMYl#tFN0-=bjIME^=Gy{0rx~6F|e= z6!}4UUf+MIghn?ougX&4o$n`lCAil4s>{I9{J_yzLmKKEYq$|K9`jFW1?cM^@5i7; z{HOXcNC}W*+)WTaDyph1f|dmqRC((g5(6;N1K=jpoYLu6UV|j~oj@M`o)<@X{!SnP zkuIJF@H_R4x!B!WA(8C?hr{>TB>;%wJf6PHAJ@0LECBFf;OZWxZdQnd=*T=zo0TTv%V_ z2NuNgFI)%^CFEaN(FCy;WhRtCHEZ)g8S*nm)q=ZJE-9<11)DA7!4d7dv)=Em1MX0f ziJ;fR_54hVz{w>EeWen3A}x!LyZDYZSBsC2dre&>q#$r0)VZjl((k9m2bD7)1A<-< zYNIduBpE|Uhz3=I;fDufLb8AkA)2c^gj}Ln6MYYYF5qKsH??vg+%Q|Y(U!6W?j>Az z!na-pmz)^Rjn?XO14W3(Yo8{X#FmtK-HrZQ)KyViJFlX0L9ADpr`#S4NJ42^9KtI^ z7L=Ya;QG9#H-^3wv7EpE4&5@E0L&ygP*p(a28aMGqx-Hp;=m+N(u!a)1PP!dH$b0C zs%xqs#Gq{pkk13WWGR43LE3s>oi6T?{K{cGlVS|fHC>hk#l?6nrNOtq0l=aRJ~Y7N zt!K*CSq<7{s=^r8)ObvdATY|)P($sW4@!*VowuT@rb5HR#=FE~$5&Cu%b3O*@mpEn z$lnM@S#^LxqX}eCcNNN{Un;wTBIuVQ@eh2=)KI^eB^vyiNQi*kMp@|h$~^IFszokO zZGB8Mt#sGa>f}s*N>BeP>nmyja)ytN%=5Lq3W^s?NH8)?_9DGt@fFzb@YRF+A+Qn5 zuhBnGi2nRdeoAdJ-R<_)>w6#cov@UoPf$9n}z)3-P~iZ}SSA#|Xl?Fhn;VS$A0`(1ojIcgpRJ!t-sXVAxUgP3lT990aKM2%Sw6VIl zrY`@g3AOcg^Rf9JrZ?5N7ti!ePuxFeFT5^p`N z*&SF+XqDh+rr+1#_t|JSdp6iX-Ta$H+$rI*2uC?HcsV|M3D!#so%*^4;iZuHr;)^d z4P&H8?*hG-K(vD>UgfHp=dIvf2$Lz^UJMZaq1ACH4QM;XqkQTd)kjPaykqJT2Y76) z+n#{MCev(@u7q~m-QIZI%@sAi>Gj^(=wYpUChu&tWPWvK^kiAKR4TaxK zn=c6?dUH*cdm4ClX?-!o)0(MEv<2&&IxI}$J)^ArZ%!QzCKVu>5&stP0=%UV_)6<3 z75TKRrrEV_w?2gZ`>Us5IN0l|;z&0O>$HUCnr@{1oD#Q}!C6=7=7CGt*NF9^v|jHT z7v6825aR0Bi}<(R62w>3PLJ<56Fz8oz|c(iW(*_jWCYiCp6UB0+FsW72IzZsOd7>K zMSRb4%e8ar z>kUHqG`|{>9@31`i-XlZ`i2D3xeL{99BmaI6@R6kH?D?==3bwf&TEt?lt}kud(Pm0w%m z=oSo+8%(@s4#|;vx%hUGe5rlQUglPELrtSRW42T8rb(t9-Pr7HGTEDOG^4GfX4Kc~ zY{oPT{l!vsmRpmHF<6cDUI)0WD5?|(EySPz5%680t5(CbTJP)xkraHssbqeop37t^ zshE!)*w{9Y>84rQ2Bnt&rfGaIp?#T5H#s2_Ie7_Vx@ji1?DcesM2@hV1i(18Jl1&!HHmS^Pw_VGM%E~&Oljl_DR7VT4#mb6y+pVlTWrbyhit>JE z=DHsqDD3zD{eSQK|GfW?_dNIWz2};lYi6#wX1^E2S?$ikY`!c{hR9k~npEd@R*jtg zFy6C+nCZrfeU{i2P$TpNsEN4hQXJ5W@{;P}EVr8kpHf(dEU7gC5mBO8@4>R8;{)!h zO3759Ka)|UcsBar-eG|s5e^+5`Nr50jUghCcJGLAort-x$DiWcK~i=aV!@ZppX?k} z5GPUKlYk{1N%T%gntP3RbV!#N-KqJo@GR1q>>1T7dscy(n+tcP?$ryO8B>C&=b#H! z&!~3S7OG`r58rGWk*jofR0wgEREc85c9ck^8r+Fdt~!K!9M+JW)gxg~tX0)LzN99t zg6g%P%dw7EI5CzG)&$QiUdX8o%?4JEK~F4MjnR+_Ajc7v&g>HDKx5$S$qH@GDlRFi z$tHlH3=0JD@!Okq$97;o8T1P{JfQD zyb7?mtpdh%nQvxeuACqiS>fz7IjW8-|I4uMkX|LUO4(DYv*k{3ho&exhE!#>n1eZ! z+XQsd!bQ|a?>Le7lrmIq#8nC%QGumDu_6i;A`03AN|hp@-X~O4sfi<3o?>8`;-I@&c_k9NXkU{^xWgk3c00#)CEw5QQTUAh%iE%I6qPjnYl zompE}Dau2HLEIHJWJ$sneG)`D4>6~LV=8bSP|(syLEzhy*pzB@nNpOY7Q;juR;Cm= zyaj&@zE*U!!YD`C4m-8Zu{$*a{QwkIC@nN}UXn;(VO?sr!g+*p!s%o&0~;?Q9#wxG zs?ZnAG@+}4-r?@pM831Ihg>R4L<|IlA8{amNp)DicLqA5y>S|(xwO7S{=BUShuU0( zrDEbFDCF+^rDfvl6+eYo9 zC|BVoj``S*i^p_NBxh-fyVPmfg|2uj*u0ABS}|Xrhi!ckZqY(#wN=<)ca%z8d+E`c zYJX?Gv$iH{nb+PS#xv#BxOc><$D*x7UH7b&XXUMSdwFLCYVexl%u^h@SWm~Aj3;B> zbdf&HOp1gbaV-uJ-myFA@D%P?53EDP&h0SlyxLN%3m3{8a-8L-j=Q}e=d|pkc}bZf zsJLeFsp;|JIxbDEzho!FcVbrD+@x7@?2?@{KO-kA8>=+Rp0zX!q@4M2sj2A+2seKr zV#!%NIZ`meF+UEr^vtu8GINO4td35G+!rOrC*`DP%!-VPP=^eu{zUjiahWM`@u^8U zSVxOb%A7Sha@tg}H!Tj~o}HO84|&K*Ov=bko;4{VLOFTdaj!v6YEs%f<=8n65k4bs zUQ$k0%Ce+cQ=_6LE6yHzLi)nAY%rZRdD@go(UEd-jpCg@KMt}G;Uem$6%`c;&Q8=K zd}_*BNnoCxos^m8BtT}-@kD&OOPlZ}_{?3HmXMv2o|Y4rId9ga$Z1}|rF+tn46n?q zB#3Z{Nps^Cre=HPFM3i86^w9CNS~j9+$H9yo7QF_Z64OjJ$2#yv{{i}*^==gM{!t} zON3Os{0jxh$x5G_jeO5f5h9D6;&En4X|e>fvgc)6>uD@b0+JkIPQ>$Sdpj?(>q;GtyI)YD-t*J2yKEi-I^h z>?-jcc2)9ZPmIsXj?2#J$cl$9mFai%gmfXwocT%FaY#MQ;k@FDUz(kike-<2#Ze{) z_XDaj>{5q3g7>(`rRHQUO-o45OixQ+m^I6(f8OqK3$xSZdTK^Gs=BBs9yXqM{)mT2 ziNhxgcW0(&Dy^Rq5#v-tk9%fP!otj~ltoESt)xP5!e=B1)yYXoOUce!2Gvrz?BL%~ z7rnW6xO>$(8Pwr>X8OX+G$8|2M^eD?vcaMV9Dj3D(2ih{8HzH?OFcd5SILu=dc3#d zJK=>47sVwkR4e)zpP>$cW#+81>eU6~CwZz+Tz2~Wlmz4xjT7e630bpLRwqxG95VqC z$ET#lWkL_5zaA)`lW`IH5FY$W(f1HG5N;$aCQK#_BlICWctC}3By1q8C(I>`B@81B zB4mUuUn)NP3HK0gC)`L_N0>{POc+KOMA-U;;fNVrzy1S)Lk12SJY?uF z*YFV|M}>|a6E=3-8R6q6OpKTmIeALd)M?Q%(`U?_HG58MUVZ`YL0C~-a^A|)vhs?` zRaMnBwX4_Etv&zj<>#E6liR)f1s7g)@w)m;F1>91QKK$t8Pd@!@|L0$PdEl$Bzd87y zZ@)YA{SQC39RBI&BftFmTkFwd$JmBRWt7B-5pXvsd9{CPHZ z&f<+?43xoYM@-8C>`W)=YN*MUwcU3nYurB1EW-`Vxa*+4I6Rq68G5F%R;~ZA1Mazv zTUyR?W!v>4^7`>iVkOx(k-dR%2Vo;2rJik?pu#l}?jUR=Y$n`K*h1)pcd(-#$Hgb0 zvG1^}3hVf5oT^sQrgm-X!T?AVaf$_W_N6A$)!^FK0 zjO#<$`OLtZCs#4Um$3!R@WWmsGXk)K$(RrJDRDBb)=!jr9nK)W1pmw^lGWCY=4&WR z!hZmp2W|nZMDoY14B8UPn2j}0O?jcSssiqR(!O?eckBY0M@vV=s&p<@xN*0{_3z&n z$LjY_Te~|hVL-Y0#1l{6H20UIbN-{JN6(KO5^*$n&85p`K3l!+lk|SIety2bK0dZ> zTb5;-rhx->83#2??CGsNCq04wdB5s!!U%&2eF$4WQ|^Zd_Y*b~?jdX>+(EdFa5LdG zgzE|G3F`=p36~IN6Q&X-63!%?LKsFEOz1<{`YENGa6e%);q!z~5^g7KAlyv2k+7by zjd z39lhsPgqA-OqffUK^RLog)ofJMHo!zL)i8)<%945;XcB>gwGT1B-}yRK)8vpp0JLv zm@ta*!V3v233Cav36lwD z5=IcZ2>TNH5Vn3u=_A}nxQFmb!tI0&gqsNK2`dS62{Q;238M)k2wj9hgp9D|1C^cw zg!>5h5I#w`op3YZM#4J6V!|ba8HBNf5ri(nAVNmivQMRBKjA*YJ%mpZZYSJIxQTEh zVI5&H;S$1R!f3)ULKk5WAtP*gpX5Tgk8ls+PQo384TPHr>j^6fa|tsDlL?~XDQ5$C0wq?0~yO`Jadk+ zZz61Xvyb9?uA;m06gK2hyorj>j=2gyc-K7Yx~Jg%|8DwR6mKkH1mXWw`XD-ac+$5* z<)@`YVdc4MJk)%ivd6Aem_fLs3p)IQ7OVU__J&dw&arogJIG%~neyMRj&+_P0|nfF zxpHsbK1-i;;}wctUrOmGd*en$kG+!I2`kCHyL1V95XSddgA`9=$=hjaTxu-| zPWArHs$TdIGQ!q36upJ;AmIVR{e&MA?jwAMa1Y`0ggXg$5N;z>lRU4~i}9J|BSx7x zFi+5Q-7rkkvTWPO$Jf`-uSXAm|DHVq0s;erf_nAp-MdepzJ2@k>)(ICfZ*VekbwgS z4H`Un$dI8!hYfSNh7TVxV&uqCqe4SRj~+87ENtx9apTT7BRqWk_z4pxPK=0{G$}H2 z^5iK~qN1iwoi;5xIwr<2b(6zrFao>UHMk2m#|U@lTA)gI=l`xc(AiblHjz9w64nz| z5(-~jLqR%$xrV8p1`=aKF}4w0q+KA0lOL&*P+_(jxpZb!(w2R3%$mqqqe!bHNEgi{DbTz?c_ZiC+`(_cs7 zodkrF-9;GmC;S`Qd!CYiaToqWAsAibvVZ%d^fvx_YJN+)@Egut(CNWUtS^k4b2baj zVH_vxm?x`wvlG|8*OXp}HTsdvkD)HGDa@B$0X!EHTm;O(>4RzLXuP>$9AejkMg3HOn|^9Vm6dTVdx?+Oa{C}Ar3+ez+Y$v%qk zaq^c;e10YR+k}Y}E-py%zl`WJ$^KCnCxZb?^5#j zKDnPo_K(TlKo~*k8cFu!l&-#HUq<0>Ap50+-;lpMDc*LXGxGm1p-%j($^ISTRYZT9 z_*4>~Td3T^h~GMgKZSdY@@JBL9JxDsaRKp7Ba9-9BmaM)_%={H>nZ$E;(H0vL&*P` zWN#)u7ZE*%!c~!bInfUhe@>WB;g*uWizr{4$i9gD9ijMr$UoL@WPP4R?q5=TC&=B8 z+#e+R7z)3g-1|~`rcyln$$b#{Uqki*z_sE+syf5Y|z;G6*M8d@Cuu zi|{FOH^_YprSAr!ZzFzF$o~wo|C{VT5$>S$JxA^@5}#7Sw}{_4WDg?$9}_)+__R=d z_7a~Je@pa}gp-NS*W^Be^6?e94RBz(>xs{s6h4XY8R8R7{1;OAtz>_l@HO&x7xCFhbc=8e_y~$ zjN%za;oXE|h))l)|3?0=BMc{ge%E{_rVlzPr_R%-rLB3FvXWabYHSx zO&Ce^Y~r_^(s3r)hZEl<^8W(4FQafbQaqoN{VBrv2l|mGEXlM@|m^Ylyy{u+BlsUnSX{`DZcNyYk5;`VzuXuPQkt zlRcU+g3v`6M2LB+iH%#Mb&m=sc2&HO{Y2OLDk@EISu@e~TfBWU_9W2_@-GLW@Uorg zW>B;<)Rh69^jKZ^Y$pHq&7Jwz6Wzx%p;Ye0UE{^LTO7$<=uY+`i0&ISx)Y~hqGKG< z>G0{oM>vX%9DGU1tq09zok07Dt_3TKvr)8%=>9CZhKl_N@D`=22C6%liiQc=5{2RLP!SqHR8;RbhlQbb8qW8_~*U6=r=>76WcUtpU z(&1mG$0>wZqW8zWuHHuk(Ffe%O=T>Y=)s#h(;3kn`M_0*sO1GEw}D;!?<4x4F8ucp zeQ+1{PZE7dkgt<;>0>+5hYs%?U~@P8HxhkVmwH!6bXOPt#YFGOmnyg=MDHrM*slIb zQNp^?T`IjkUFoD3Ezc{tIqi~@>HS0>PX3%+?;*OA&RBAIlISBkwE~Pa5FPWsPRAyq zkLuE1)e}85&!>|0T(X(8G(ps zE^LL^x*r!dX6z!^XK;hnVr3^==W=aPT>Ic0jSc=(ibteR9En}*(O&5g?qOtigc97v z-KUE?BfAJIj@IW?IVjuj|3y9uL8g4m{BcA75abA)}@fMZfJ~;A#N5F(iAj}FDtu^CZjXPkz^1>13 zTHe##%p)~nqO~pjd_KZ#GsZGyn%S@BJk+08_4~M>e8(s90XX;S*K$F>h+T};#U`W4 z7-$SJf?zIS7qAP-e9X7-4-9d4+Z?Rte`1WL_-FC`{6@B)`;)zwHqpF?_t38U6Mic7 z^Z5B#r4(i@Or11qSPk3B2a|c43p32B4`ad9&{Is8R13kK+F?yqvwjcJb+2jP^Gk zWF6I$_!#6ffDhx9{3Kt=PhdAo)SO|O_+KH*biUPHZjS0l_2YV*K8T5YsoZZs8KqiV z_~rUDY_wL$qqNc5LwY}K%55+V?M}YI2t$lQs?nND>upVDli7QJQcBy65BU|?GuR?) z&|BtF-nDN1s7Gm*_5m9LiHTZs9oo*m+NpJ_Pq+E{it_RW58*!>yYx2bQZ1GLb|ah5 zKn`X=6Gx%^cj=}2vuG_uto3{Zzp&f-f9lk1fd*Bg)ZBWZmo#g65^05!S(Nq?cd=Uj zpFfe<7V}v>T06j=(Yq_V4aNcF>Q0=ZEP7c&bH*b#&Bg{}3naY(Ii6^3#tn%=U;oPA zGjz7ATW)`rw`MjCGBZ4RSlN&0AsDFKhen-_$#JJFY8t}Uq=Ccso1EPO#V6MAMf&VpuY7+q;$2sq+@CiCjf%yCAdKS`7chIEM$Bxya`% z)ax73-}cm2T37RGj-JPsF%w5L6WNm-bOg5+S z4-wzl#;f{wi0K3NBV?(eW!$U30cq$)3tPvR8+Ny??lFBOTC;iVs4ir?2{q$=Q{^p> z1!&(Pz8mxj<~VaW>a@slly)0?lf7?#U|Re+J`Hb^kA{iTRD1Vto{Et}pytoU@Kek0 zZ1~I7Pa-d;_P5F?u|DJ_RyFulokDK!n<2ZAtL$pzE5OXvoB1x|@oxQ%)m9nj zS%b9mtUwmXF6_2eM{DEwK&`^K+8kg7Ta(Q#+=7nXU>q^-=CM*zSDS5+R!=RQzs%2I zXP`7L()}T+Gx?|dA$}V_)%Yt~i(xU$g|_x;vxUFHH^N-Od-2P8h0)(ypx9^BK6O zU9|?HCr`v2>JZz*15ii52S#g8@a-&I+s3bDpK;NXhk`Z_eU-vKpcLyqY$nWiY!*zk zb{Bkza~Ge@@K$k{2{033USgAA#v{xMxEHdoc_fR(`=jQtSeQxL-F$#{J6v?|@2`m- zM4WLf4tL)NNX?GMy(ZiAV*Qvddh+|w-^R0eb{R}L+l{e<=*b)S-=W#-*?QcIk$_Nd zgX1>+eV%O&!dUV?eFo1mZv*XBl!wybAK7hu5qp=-HK$-VJ`tv)C!b_(HJ;^3xTnL# z^H?b}t@Bt%$wX@v`U1TgHAqPBEl4j~+l)H`MgvQYZ`n0GL5`3DF+!TGMX@LrkC^Xc z_rZMue}`{l+t_@_HI=1;GMs-4eI3UBga2JTlYhwz*;JS%Jeei4Fn)+d8{^?pp=X#I z*ao(prNCUv?tvL?jn@W1vU9+HISmP_4h4=;f`TBQExCp6!#QWn0q6#jg=c{dG z8`-5Wx>3%`NqWNNsD3ZImu-cK*2)p5lI!g}2l9&6@?_s0tu01Oh3qhQW3FDvF4Zs7 zuVL4)0zTC2klxkoYIYvq&97uvva4V^T!d7kwHoe{@;RX!oupc8EI>?CkYbG=l6vXMr)@G%=*NwpjIWJD>?`9NpUMwHTQ9;2dO9D; z>&%Z>hLqfPeJsD!{EjW;pI`*}D@ksZc?oj92{W`Z{uz56pbn%@k8ebuXJ~ zH5(H&U;ZJq^)(uI-p((BR8N?XF`?@n^7)z_H(xW-p;Zg9lz1j{PrppxCyaU=i%nUZqVP{#@`kB^#b~FD6_t9+r z7(c_BjGYC|Eakcp$+_vnQ>-DD$Ym8DU{2fJK|*wdwp`qqi2sd-DtUTWp#+QoDp-%KPwH+Ly+s#vObs|G~VU{e%7JrB&aX zhalZFb`yJmeat>VtYs`wkKhloXZSm8Hp=81lI|uJZyeQQjk)}B_7K}?{F9~eAJ|R$ zVU}V1n?20_!tUpb*%J03-^G@)W$Y1_W&F(2jU((XJYn<;Tgrd)lCH^SiqW(@o&oCLSaTMA=G2V!g{Df}* z8+Bk8dj_LA74L4iynxe$4vF-fKu!Ar=Yl`sr+izyh^=77tc0D%R-%0`gVt8CO0+9K zvKD!&+)U>)I8M~kMXU`P(}vs$8kRe;77!xa=c~}#`E|?h)VW*0MuGb%K8|~*Aqgub zwQM!Gi_|qy${dMIXWgZ}4k;26y`ftl-=HymqNnVSp6*Iq zugBeUA{W83zA4|M5UxAELI{^DLe|b;TFUY z13mA_|4ai<$Q&1ypPnN8Q>P;CCw(>x2dG1{@b7hBDTOk z$y+aeJ$$W3+ufZerowdwJ51aoWI2pNsF^4yp_j`MUX)~isjuHagZiI>+n?o4@Dh1b zxtPIT#tn{#p@IF;QmY!&Be_6ol$-Y>-54|!9u z43NFbHz+gVmt3A*mI@=esjE`??`L7Fpw*Wx@ix550L|3cn^ zJbjjp9SmQLFLy(0UVzT`A!%A@ull2<50>2QZZ-YXscE8I&4A2yB5%)NWc&q7M}BrA zC!&w+gEg%QXrn|sBBc0*{P#obcb}r??XKMXWqb$OIE<-kNtQn_og0XujSZ6hd=tA4 zaS55C_h%Md3eiXQ=i@-_j&CheBT~0k{?CzNRo+CK+l2U1(8K?L_EEJkZIE5C)Q(`d zijd-LL#ry|nS4gl-JLJXiJUBfIt2gd8rEeMb~}q88*PhR0wm+Kkm3M>paj7ts4F9D1j*M53WN& zbz$7F80S*VHbw0ULyl}dNc!qd3&ycqAs4|%wFaUmZ$h}a%s_kJgcA2bY&K8B`oS#p zAT><%t`kD`}iU0$SD^yJr&1`8imm{F^IoWaA$i3o`CS4cE z|Jhi1T?o36pOD@Fm=G8-lF64YLaGDc5(0{lULP4wa4v-OE+gp)7jNlRAvPsf!C8!u zRNpRmiS#+~h?ZBSwaH6*igK?frVhCZsR~}El+O&vr$gVH@cczDxTzRiTTEBvtkNImTufhyj$)^Vogx&@6&oL|e3TGisohu`xdK7B` zGchy07Tl{~bENtUq`C(&30?1y&sgjfjFz&w4Y}L{?YxGK=A$t}2tq6SEoRU6vHv@Pl*j|F| zLl~jWv2gp4eTo15(D413XM6&^o`g`VSTxGyL*)EJX^Th7MSEIGRV1R(}uy*`uO zj9mKC$Z-Z*inZX>kKcuOe7Tr?--OkWd29ghiI(j-n4_!}lxx^;NTJ0VrJ0D`^>^7D zEFAwGvUwM6Y9Y=~;qo4gkgg$ZI^wtw@dlD~gHYmYabC@CL(3R~zA^}T=!@Qp<65lE z%|d;P!fL~95-&x#5pcT}df6Xxxd&Gr@rE$5c6k|GVtkxeX;&57iWLWz=S>~ zK*nPBGnnlCQ4XSxh_Rlik)hD-Yo%R`A49-x31U=c5p3tcZ3M!PfLpNqAAppKGhBum zfL=lH5i#~hJ_ToS6@pZYbPFB7g3aOGn`_}~4z#d)AE#aZ_ej85-NCb()(d7Ub`j!n z-_;oNMe}WQye-W8VsQu>on$EcAN>cSo!M>d#_qxrS>~eLIePpG^j{_XT{Nuov~ukU z?PF~u_UdlXCmBiq1+x@>8nO4hOE0i4whmi=6!ZTq?Mke&dYg0E-*`O61eI9%>!!)qSO669J_qOs2(EhBFIv?p1>647RA(Huz>>aH33-g=)o4$pY^Ah7; z8Cr1oGxM@urj^0hrCMLTufEsVYfROr>Iv+aA!6t-gUqM(r}Y$VAFtOgB!_Epx;5{KEsCeC5@^Oi809RVY3uSlDq-EU2?Keax! zgzpnDfp(z%y0y<*2>Tn>>(*!1SKzzYE`d2;nhrVt(bXGlo^cj0)vnM->ygH*=4SI{ z?4T|)tIY4r9;Tnw!|G?vux49xtlQ1Mnwi!=&0*G?W~sH>%CIi9{H>nWjn*yJEbD9S z7JG|*g?-$*!M@qP&fa7Xv3uKL_Kh&N+C%L-Y?pnfy~7@5PXZ;Z*?z{}X+L6T*dy(Y_CM?^?aS;3>}dNO`ziZbyU9+sm)MQ=ZT55aZu@!r zMf-O9KKmtmjs1fCihZ}e$KGo%uwS>E?KkbW?6>WA>^JOd?R@(K`$K!R{jUA7U1)z~ zzh}R1@3TL#@3J4Z@3%j-|86(fpV{Bo-`d~V|FI9*U)XEy3+x}^^RRuy{>A>){>^T+ zkK4LWn|;DQX}8eoo9*lEd+dAdZMNZK`#aX_G9gP*?)MfwxE5H_BU;X_O7;E_tSgoOZ8%HjlLMO``Gr) zyhsm17H4loB}e`UNGVaAv<%{k`T<~e4ud7gQhd5yWrywUuJ z`Hb0Q?lxaC|2Vx@u~+#uJiq-t%;Uq`eYKa_toCi~6SdV^9nQli>$J=DIoQv1Lf<2I z2amIKo~}3Q@8}^~s&<}MqwRoM)}GUTuhw55s1MV#^lW`Y`*v+(`Ne~-phDf|5Tr0q!>2tkvWflp;sH<>phKs7*7~~F`hPNw@0(5*xL4k z%ukEZmTD#1o!Vctm$W7NHTqxmU}L^&HP0_|r!wDOgHzxkN?l<~2-AA3Ee#z)2v=8tBB*ee0RzszUNcg#1;`^@*u=ght4hvw_%r{<&PG4r^2!Zh%P zD3BDs&?7fmFJ*Gf9Mr%>gx!abE3EnEe6t7|Js-7dv9-}0ZHAMX zZ+>f3fwmZ21-(k1g8G%22mjxq?-c*)YLqEVh)n;hxbl-WK^u>>zk%8w){qxcFDcm}IbzGfy zO8?`mT#x&*PHE}jpsup4DdzR?dmZ|&ACSfavTli4g1ECt80X4CK@o>S$JXKMg!?@@ z;X1-7O2_~2!~DOcbnyPa>1r2t$aiA>|5-B6;98m8*ar~nC@;c15A!O_YcQ{4l~|ZJ zv2O7md%s(=A1f^%!+Z+!Ihil8kD$zF>@%#d2=fZon7;Oy|6u*)L#*w5i@luhkP@*5 zq|&n&`v7~fkMNT;Ef}}8!Tc=ENvwqmBi6lsfx+^qnoP=nu_7dP0W7Wz-Z~_WTG8^s zE`-64V%6pwn2)5v>u6zq!wOETT+2Cz^_*i!hgf^+fjcUMc?N6a%82xdxvXP?cu$xB z7#rpTtV=2*?r#w5h~B2FUAXo33ghh;`=q#U;RC$lsBb491NZ%3YT?b(X;yw~3$3c7$T?xCm|Kb@ogb$O(#f2FGGZbbN4}}>?Mx^ABG>Xp{ zKE{iWpoNir9M-MJ!%X0QFq5Q-;D@m<7|F%X@Dwj2_8+3K_b>xyCd_o0SunGuIgb5# zVWMHCadA(FxT`}LwW=mo+n#}5z6_(*K!sku1@i`s(#=(SCyA-DoFIo;-2&W_{0 z;gjtrS=+IbjGa8u*4B37#PO4DZSA;5T=00}#L1Hga^fT`to`KC^C@M@Sy**$I!0P;p?wyiAhV65|gqL;xdxN#{v@YE!g-Z`Yo1L5l26K}#GlexZD``nW>cT|0i!Ya?XX2&%DOuvfu~~78 zlH_*~k}}0N4N{V_@M&4$fRA=8Nx+vxGVvX}IQiX;xa@_QajE!B>E6ZT-v;(H2BU&F2t8I;ufW(&BJ$9#OHxQ7l}(sOGwI6-?YtK zx;P~}IUV0kp>GMR&uhddWiL)jLYk5hI5T}=2IPSseTM+o_+CV6D&k1M2U_sIFcVC( zbHukXQs&Q3N=(7UnfT5_R#Ij*K6a3h44L5r2}_qHWn{+910@L`RY}Fy5|pqIAS*is z-x*P#*H{#nx-cngQA%d^!noAMaZ9rnL##MGpLd9hPtVMbn=2BX7B@dBE-f)LJtHnN zJ4Jk`M0_LxyfTyKBS}bVw)*@9zLkIvgFt3;Q&SSM6Ef4YvYcdRr_4{n7d7VN`yL5M zO4_`+aVen*X+~zs zeEF>gQA@LzZ^$eeBHm%PFquV-TolO0`1Y}^M%t4+-T@IlH}EmI&PTf;_Yn1q<^+IN+s>maU6dM(RGAg_mn%`N+0> z4P5*B8n&((29^mm+cbSGKf}_n8tQ8y6jl#S+c0ee#05UcU|asa1{eT+z{#@V$rq~> zy5ZYX(=e&@F?;#jzF-FqhJpKZeJsP*^f7ed3!F7y-S$o%u5n|%yf-BPJ5YV)4o(R6 z(T77?W3g`^f!(L65ZG+2e<$Ex_%!T4F2Y{zGL(1$_Ww(;y1xeZ)d+Jj_Knx$ZoBKS zZ*~)Qg|}iydOPlWeFAH|Poj_Cg}YH+#CY>I@2kt+xcJl-}%4z zQ+y|Xfxm=jFy7+t@sIfz{9FE`H0@Y&?4bo}eYHV&+HR~i9_v(5+B9v3mY}6zWo)6g zOv{HU(kieeo=~`NbnsO{tMBe{ zS;N`&{ra5|nc4Hob0_zSUpsN5HMn~9z4LtguDLBK@zVKAbHZ+#Xs*8K0)60u)d8-E z&C72bIjru^RlN#*u3tC77& z{Xk0AqU%=Q-1~+z&$<8B)&8kxE!(guEq&Xp5wTY|Zvs>)M8~BYcxSu#qJczue>=yU z+@)RoK`}6qmxp}YyJ=!ztL#As2h@w9QP8wtiLr6YzG+22MRzN#Y*Npax74cV${R0I z*s`PZdn@;kGGw^sXmx*a#%N`4A$!mmWq0KJt#}ALma*>yV(;`fiLCyR#8~#dM9zK? zh+6rhwAZs1iHsjssQsic=w~4E<8wsWjb9bIeo+|P3KYeA6j%?eY*NqfFChd;9?@hE zBMc&JX;l9A6Yd~vAlyipOPEX;M#u;cKHK@d0gYsDAlyh;NtjINq%W+C-G}T4pHY1G z5bhx4n&}tVHzXt^GO|$e;JQ!m;ZbQT>i=;-*em4S6)s>AbK%}-H_i&|U$1o{B+SRI zaUpzE0;_NepEWqEKokDOe+}AFMTx_GeJPS(33jS$ak?FTuiQR^;cQ0pbP#26grhwE z@pZsDxZ{%#EMqrD(6ETadNsyu|8%845$7oV+B8eqo5|iVyR&|QwLI$k^i}#z*zk$c z=S?4~_bAl&q4y~CBYv9$rT^T0sy;NnuaIp~bQYrgx3nuhJ0`38(>O@cBR(eoOr>wt+3@Ag^lDdg8XF=Qu5iRX)65=?(kK7b3aw-cQAI4iYKE|rL+Ecf0>W{ zzbUNjp~6*~>V2*CWOw5EpT=a;KMi$T9EoJd++EsZJ$BXTMw8tTwOAZtY)+@TQvX_q zvlzbPP~PRzfg*JMm)!ouotT^&oTwy2Pb?J1WB=WS^!{IszjCQ6ZwGT@RJlcTK{l4k zdpfzFt->{vy>W)3@3&NWHx_S_GsC9`3rOz4?3;Tq{&){|$xh%qJsEH9$+VyVJm`pXUm)|rOGB;VeoPzHpYfTv z?>VtQ)AkO)oiVt-B{-OAb-}D(cnCALYPTnQn|`yk#`ATk-bZ!DE;nJ_h+3!?cY!_uxDTnh^#+Va#j|gP*bRGZtwW z%d|$|JFpw$;69G|w2ou?;4|QU2EyZP#I+F)w{Y+eN7(Uj8_%>QI5&<*{5X9kfbRsR z2Tx>1*hIuVk@@VMh;R`I69M`p&?hl18|TJJkUP*P5%`! z=dh8@=Q1M~FKDjG!F@@&jBm?l{`G~-zp)VE+|VsI>(yAqG}j6?qHYBD`mZ!OWDZcGN$8+p`Po@S-|EBX0%kWzMCqUd8m?Ut*g*S zRkM)TYUpt_WK)ehpz+nBmNkqYxtQr~IH#;*dJWFU*Fh)OAri!Pi5T&x&4({H$TSoosTi&z+*`7W6+@|kk2Prdi}p3mnZRD z%hPOW>C;#d-U<7&;N8eVT#d}$j-F{>Bh!yGGNbT0#_Mq&+Re1s7n$FZ7g0N2!VGE; z8@hcD9Q}#o5rWb-l%DPwQQOpQi7>PxITnP3t-M ze(j%WwKX)~eg} zt@_BuR=rQgQQc@b3cttoK%-5!i`#VTP@CSP^aT90>vluCZXRgY(aIUV9~(xm1E%30 zYZ((_ZG&GJVDQ*LgD)SB>rn=88)cxaFtom5h7l2F==;M!3p0FU#{$P1_JMFiXR${A z{jtD!qjzIGFwqFunrIlfLrZ6Kjexy#4WsWoqvs>b45RS|V?yFC)0p`To&b%t$FM~E ziEWAYT$XGvW~nwe&bE0e&Oako7z_IZ0|jpg#nB1o$`Lqrku8 zso2L5$G@;1{v_->aXydTix+?|0rvo30lvz4?@w_a#`RC||10Lazwr%t_X-blY2|pT zmiL~n&BYs77@n9d#ak&7c^s}2wDWi(-d2&M4drt+?w6#G;+1$XV>PvA@8SNBeL4?r(KljFbrnCNU&?>c z>v0zw!&A$f`7z)Ly&UR1A}GiRaOE0n2L+GyZO4}%9Z8+^$mv;XLZp!m@*1;z8% zaI&HN);or-=XVXw>9E^;igCRW=VqMSaXvZhR_*Cw z7i&9*-OQgER>=1ZyU^H+>wTbqIIK=P2>f=~YVFXl&AfG3rFLvsmDUFL(ZlokxZ%tB z8N<)zk;DCY?r@)=%Z4-l&ryB@S$O}6x#&{!!CQW_`zg8yggu`7)4=zj=mufYb^sY3UT4C+tIi~GD5xyAqjUKr=vfs z!5*5}n|mF59%A?7ZMie|0rt^8Vz!<;IBeV*<906Fx2&zU>D|xY{o>sN@9OXQz8CUd z+-FaJ7Wc({UmX8(;Nc@DXSJWxesOz!`=#wyv~OzP+J1NY!|nfUZ)|_Q{l)e@?XR>q zw|~+8P5Za)hueR{^8V3wkvgwK450Drdi(*YtC#<)?H|*38X{=k5k|=9`wvIR{Scvx z+=Cr|l>7Xea#kdkB)cBFRJ+u2WN5vRWy?-w-|>sGvolot<;-6ipH}XhhIgj#AUYe- znchJ3*iniuK42=2O+?R_q2`y)e5uai6Q%s?*VP68fC7Ht03U|%gN)b|pDlc%Cma1T0p4OIDhV{(00HiNz=kzc`H^_xmV!Z z_AXa^dU`7M6Ub?-5})UPLEl_!a6$gSfxUsf@}md#0S4p;3>>x`7p3_j1N#Bf@~00R z0$iEje_(Kse-GZXXK>Jf9>YiU%<~!K%C`sNRng*?g>#On&-T|A_4FO;=QlOxthBVK zn83`;c@(4k{%?QGvcz|Q?f$+JeStj%VIVmKlEc9M{emqUUrF-!x9ont!6E*=&AtKs z&0rnNllY0R0QJDn*U$7H5bWoN4=M!);&0HP9$h!WDE@GHOrC#+e?V4dz<>e6hRr)O zZNZ|mt*EG(v58TOmq)2RftFV0+bd+kk3WVc7>1A0chG3XAVVHG85t!R<>lfhjYN6Fs~h0R27q;Tx-ie4YC)|(tO>__*lXnlWpn0xlXMcHQ%n*v05%x{4?%S z^p=4t+@@fKJC3P%WB*C%EmQHh#t{EI6(2_FZ6W`zwG_`R6>lT0pG8bi;VKCm$ls3Z z4Vk{vi*@W%B8tXGPRhe6o)~eC{gOY~TvxBl?i}9n=HNT4 zW1Y()acnr(V;A&|?|$xWk8QqariWi%cIKFdEwjDd@m$mOo$ah;9oWdDVb6D$|Gf8e zkDbW%ge)d9a`NP9kr9)pMn_GVHZ3Yz+*t29_9u8Qap8XL6Pb?C;S(lBt?+i)zuVi! zSc50Mir(_9!1R_y%(0X46TY6~*kkU@ym#(r zH+bx=O$7r#zCYFDKX`m%_VMAq(q3LsRhCCzu65THl-5?4tadcjd1%(*i-(w9;wflv zJ3VtON%Ro1WR zQsD!4M3q%kxrKZ6A9={juc)eV71p|4H5D%BQDG-iU~T!z@`^R(E_YQ`g(&~51*s|7 zNlH)fTs9NWs|)WXH6_ellZW_9SWP*e4J&t-3A#X$RQLHvn!wd1@CB^ND<}aXoW#=F zB77HBUb2z`=vlQ}>LA=pOY)_^)#P9D5$@Hs72u!_VHZ5afe+Ej@Q6#=MX8rntN5!b zWb`7P@zo;{3vk|ziOvYGh|*$3RHD>5(>N2JvX{MH~vb>SD+t_ zj2s^kGd?oLH7RO(RMhk-lU#X`F-0*kQ(~fHq9#X1PKumdG_7EAbWy%LW=g@-DKU95 zg;U*A3t|ciBMK(xPnlE@GqrGP%#^68$fC%p`I94JM1Hy+Hq8qb-!Rod@5%h@hN+4c}YPi zpNAH04I=k+9`H*2V3ix6!7djCfMYDqaGYT{U3fEu3pf*}XzJtAmWG8^3m=SyR?m|4 z#|4jLggqj%PSERMfyz|mmsaG5g%(QBV?rm4TLpS(X(>vZvGL8dpV;OMVC2i+^Q>l9G!O=V6YEwucVCH9tSY z({7YjK#5&7CAh1%w!BNn6$<}h)wTJnYTZ?9$A{JmL4=)GQBqFV6NFuK)^NCei#VQ= zeADvM*!&e=95(NILWtctTsaL|ykil#{{7qH9Q(g_z5l^y7k;Fa55(!$M0|1G+9c|o z8M|or&7pry`A4?nKQ1H1g_M`N)|Au~yF#m7g?Tl3`A`xF3g1325Ov#CiL`c+Z%O%T zRBu^?D1VH-s*^;I>WZifEv<8fg_g=(;(6@qoHZro6AGq>7EV`WL?SfDH69mEDnuVq znzt5rD2Eo7RlAD72m)O>u^L5-LKbN$DlI9fapl#x@J)6%ymbVXSBNCb?Or+8`I0&8 zne=&b$9*v>oZG1faF=#f`|!#QgkM`;;8-2I<6YPV?=01#N&gGWMH)pcsX$5({3*J( zy)3V?2!RE2=}vaR9QOGguHJSPHQeX9YqBwN5_gPGA+FM&7d@&Qx+nP}9xwl%Y<8hf z_V96IoU*Dq$74tMM0Y6$wnTwFuArc!CxU%0y2cFL#V!)+iJ%MJlb|kiPsX~?Wr9Mh zLkk>TDRY+!>Ov)o3DIxWnEfE=I38a^amv zLVK%gsxT_9aTQ@iE4n$)fqr9rp_ng}m6Vr&b%9_b8Y9$_v4X3UaSD-F4q~BK`{lw@ z0&es;s5=D}rL|>pWP*0hCEvK@6}MvG)OUE7HNFU$5#4m53k@u~E?iXCfSWUBaT3}! zoM^626$C9wWmQFSNj~aap;tb-rq*c!x~A5l%glN;{|+5Vttml^tK8)qja&t#c@UoC zL!~?v#ar!)U+NMfc2(5MhQ2DV9ECdGRb5JY)s>XhmbnVum7*2(R!j3P-vf0v8F(cD!^nI2HNlK~z$To{rdCoGh=lrnsUC6}AczD0Rx8G6%?$ zjk0LCLeCdU+EEFWpU~KAwmyNN62t@=E)tYP#RWHQB_r2i5WHx6BJkU z^D^P;u_lbv+*PZg%c38bBL}oGLM1zkNCqvetwhI;2FDS;C>}3=p7sL1^Ges`ttAou zPVZ0~yanY6=P7C`4(N+$J46$Ug$5VB6il?!PF5s(%C{>cZ)JkdY7F&->XDv!cy!X6 zPP!llptT*%b%#pGu<8wWF7Z}0SLgzikxR907-NSn@NoBx*F{?`t0d}uZ6#J(1Y@fF zqKVG(7K(iF8hD5ovN^0ga+EQu7F4!M)!|UEI+TQ$QXo*COT3JZnp&Y?Rqj=_C8FEN zccZvP)pS@h`93z-($i4CJmoCjlBcSZ)E2L@76GZ0$|?#=iq?V|*cOOZ-Gy!)vE{j( z3P`d1QF|Z*mvl4;SWlEoxT^UZAqKLL5te?$T9_nvaL*C^U=<5P zm^_FE4)wR968+Kd!c7=gttNgHT+Q1i=eX-?#H6mG++jxUsM{6DB*qmU9~fHa6^cBn z!APg%d+NQIp18!LhH%bC^Cr)ZBts9<)aw*o(x=lJ7w4@;dtB~HPZN_bsQ{!aUSY*$ zURi$0idw8Zc%&{fjRHr!G8}bW6pr*lMuv4yIVTXK9ibxQJ#7aXGcivT^Et4|$5Nuw zv<{tglA$_)4&_#Fo)n$BY!*u0MQ9hrSg>S8v1}|5Pho}ZabzAv+fglg5*kCIIYGp= zr8Q1_<3!X2#Z*hZlu=DIyJIGXE8eMwURBpZRpofctH{QLR*w-CL$>3d@jyqUNVezo zi5`E>x~dpLbZ)3R0^&-&LK5#fl5gEqP94mgA{Ui&gnX`b!nhF_RF)PNhn(7)y zVEMx{77=047ooEhWA1{Lzgzr(JJy@zf(1Irl5+GLPCVuAyec$O*(0XAyrXoSz1k5` zKF&BnWJ%O(D6eR@F_%H3gy~5Q8V65MdEu1T>Y~mA8!$lg3bhyGhEgolxG}HyYV)0N zFm%6lOj6WN@u)++{ytAT1pvG>7S?Hk&Uk4D;&kBj@XN}ay-{u>MAO!!t#?d2$$n5 zk00R|>%fx>YOAW%ifhL>O0LU^VVg%HinBA$^0-rkwdGarf(opfi>aCHrAo?+Dx6XS zlLGQcaAp>oT=@*S>ZzoDj0qJ>ZSpv;8eM~&Q*ssa5F({oX0o$+E7)_25;qmY=GW~vo&#p}Pp zuOlE`IeO>4Hz%C(@gTgM!mD=L6V5}IlMD~p8Gn?NqgDzXqkad=Q)=x4TUCYQE6Pj7 zewH|dOvG4Wg6D6R=StF)H|9#ubp5e^S4x%(uLqVRjt(vq%mb>?a*b0XLr)YmIuzm6 zn~YsyE^6Q~mz86>u6~_WTMuh_A$mgO#Z%on=^wRV6_sK&u(JYVeOW9=cm`V?V}ERj zp!8)Q-DOOV>9@07#=>3M6AGvs7T02orv6p>#J)=BCeB4o--Jot4QZ`dpu`%ATnNEx z3q}Z%!70LbYKT4aZ(8dOcdbAR_q*oW(~qf~b(Tf$m!m!Furl(>D`HhH)PMc@37y>Q z*9Ua6v)FZ={4=)HV@GR%Rs|KP^nbDU9`IQeOaJ&jAtWKRP^F0vNKAkPLWl|o`y@bs z00}V(RWzL>5R#ZeS0Xm-h>D1)v13QEV1uZL*rTGNaxr$U?PAAz|KFM2J?A{>(` zzUBY>Tpl=?vwODA&d$!x&h9RSmH}EDum!4{;@*&V%mh_uX!uGE)C#00Vcj!|Yc(*! z5iOhUZu*bnT?nZ4^Ex?U&4(;TML7e}b%lC$Nrg1&Si$^JMEvo@MbMQOjPjZyDiL1G znr4oJ4p?i}9-#{mz&CJjEelX)^{$8f^sjk4y%gmy6-zNr()&UTa;1PsRZafL)B5#E zHm}eEEkHakx$A1dWSfVEdy0Ou^zA(Ukec5_NG^IQ{MRq6@1lOY_qUblwp%njeCnl> zo~7UvtO1N{Xp*=!>VO_1mJ&Y27o3z^5Ja0+2OH);&8Uf#@Ap|tspgM&F#2QO{xt5d|ReHjN8QB=bH63vbR*d4HNuz#f-mTn( zn81ousyLl_p8bZ)SmxRs^vm6=|U0P(43(P!^(j$S4f(+4uBQ4nh876bU z3Dx-}q&QTXXHW=LiKzu@TQ%)h8bvEJEIvDa>6n_7Vd0CE18RYVViWBkEmbKPHA>}#BYlWc~gk!y|u8NUItWeZG-kPd>DD_R#rLQ^fN@8T6b#t2($7>&WK7Sh3@rXwnmrR&#p7=k#h^WE5A%(ZcdRex zF3K;ggHjn9OQ;02zCNF{GO&KBtmRzLc(lUmD42fr3q^~s-lDRad>qb$)@Q|kDY^}^ zH|w${g>)=apyMiH*0qbrN9Ykt(5pEZDIl;S!}PKU+6svHPEUAEK-c}SEiH} zFF{v^EPydj_dgneqL0r}DJJNZUoB5*8Hp^DhWMF=X~Bw>#Ux$vdUA{kGAlPaI>xJ4 zrekKs@Y*;&u^6WUDw8HNxu)Q>ey(#+I_O-m`r6p&Q{%`xj&&_@JV}i64vT~C4^Pp+ zF}%)VkZ}m;UmuqFbZ*Mj?fX3bXdbAPssC-Q>MG%hT>Mw{3*8mv(+1(=mlgf z@ac6UJ16z#Od9MBVu}_{tPulT53)YYiZEdDEDF3{iOSYupH37)y;;W6J_+Oe^GkTn zxUnkaXLv!2NH8nK@M395^x1Bfc@IamC!X3W8-tOQd7NH z2S<35JBmabEuzCL#Mf-wp%=i{Rnh>uE$T*+_)inbOKmP01QJiPv|_ij>(HXEAo_G^}{3 zYl3L?AUd0@$?PB2E0>JLfSE?x2J}Jq(x)v?D^<-K`Aq6TKi5z*NNIn5(i%BP*bn=Li`2~gGNG3Q9R%!vA3zY&`T`Hv*O)gDn zbOB>0OkuiYZ4dmo8`k7n(ksm-NJ=*K0dFj>Cc|g_Qw&2%KIHYUkLQXD#-hOf!V*hL zEG-!!0|L}QE${GQnOLuc5TJ$=$N@35gc!rMF{KNH|N40SuauAE@qa}WVO|i+mFYLe z8^etdLn=j#x4A6MjDdi4m@4^I((o%)>QTIuU;;#+s@MbxD_-sC2=AhQo7YiL@DS?W zqNWVinq|;=;GMKKu61oqb^)>}7P+~uRMjz7n<2jYN0l~#k(mGDI0EbTv!xH66-iq< zaT-WK4mu?emBuB~inC@|V-i?!q^wkfK^Xa(iPcr456aJVl!B&`B%&)a zb$oCY4_qVgBjq^AtQDC$|10oF_+=He^0o6~W1^#>LxO!tOdNXdK<|nb;9c|=wqj5y zGlw5GSgGP-{o|+@15G8FA%Y)r!>TE^#S9Nqcs z@-Se13E;P8UD3JTr|zXxc(CO+Ued*M5=sExh-Oc8SS^j&4+KG&)PWt^VU&2IlCu8B zc}YJ<@~6G93b~X=1QTeX(X(391xy_DY|y!q9^^C4SM#Y8n6(x%-dPj&hpPDP_7|W>ONMe;lf#kpmbHBsS8t$E?YiP%NsfZ#gm1gq6!_s#xz_IBqXcMLd zgsY1ys~m%^x{5Pl>svO@VLQl`!XFnO3?{!i>D!-)*PT%w! z%^!5H0pEbxG^Vw}vgfkQy|mcNhH%A8Fg4d&FC)di*cs0*z1@%pl9 z@3aXT+xL-QU0|DNPXl3yM4t|q`%S7U@*^v)f@5!tezGtIzxu>ny$l2~Ff4jm`Ipr9K2 zlbMuw{6Zfr!KhkWx)7R@{OUqle0TgnCn{JCl$#Entga_5%T|}sq8l%VW3}1OYLM1j z$@r438|IPyxY6nwdpx(*sdcBd>qGiv@J+Jq(TqHP;r!@?lV*(skDf)v#dmNq>~u2$ zbRD9HBwS3oR$$kEt9TSpO)ng$A>q-j)`=IqzzQprW`6>fSG=IB{p=R zv$~`WrH69t_Rv`$$^1n#eTtl`+6N1jdil=Q=&+h*4ER3l7nC-`)+|76%D25kV@+Fe zEq-NV!2eD62SN#C8>eoMBuE|wqK*|Ex?}&?2y|ix3Oc#>hXMTZnVyx zcpOC_6Fx0U+LlL-BHD7SO)u23%Zk-%iDj?rh(oW|1@xGFrDm#+(9KNOug-NL7vb{C zjGe8{%$2-eS11CyGjJb$Mh?z`m}w}UBssoH9+1@Y6gNFJYho&?(she4AA!F`-v-SP z(zT&CsZ^{Vnu8l0>o{a_Wr+}`KbtYe2qV1zM)L%iR2XkNKYP|d0yI(aDCWB-op|E# z6Rm6^7drQQ`HcmBq;KyF;+CcK0`>+`s%AmL3%4X_u9jWnrXCyK4A&2JiHe{Fn z(Wq?#8HdghCzQ}`7~2d(Pm76567S-@X0%NQ=73mdC2b{`Go5T^=`(|t-DFIHoY9Jy zyqpoNaHx|bD3V7B904tP$RuKAPy6uvCx&Ed=Sr6rUhK&Oz8m?L&d(~f(z2%pctl9t?J$qt}vXb2tq(M*ODv!+dl z9a7+2lyaSvGJ^y{-4MV|K9X>XZ>*iL%g2eqNo;ovDW%oK&cQ`h*dx+QE3SprI{J^L z4O+Kzaa^US1~qDd-0a)X6k!$2?3*(yCFTQ!BR(;Q7)2oExo0UR7S7+YWMSvo0fbT~ zWs_d4RjNLy4RWZ$Fv|ce^*}SRBfS8Dsn1QI|TsjC!!5$x=TEf9o*z8W7L?5F7 zX&3wpJJtR6R#7~jx3WE%%_IHOE2M26#we+-!am@|Hg_VimcNwM(2!Gry{C0mL7UI; zXBvj|@sY$z@>@7{hDxG-eoK?2hSJPHZHQM~&j|1)4neXrOUnTDr>A1lj**C`g?gtc zXI+6V!PntBDbkq)zuSoC6*E3FvKHe3lE7Ar>avBj4IkS@+z}bSUeXqllGyMdJCtE6 z#>Xh0jT`naFkDQTnl>lZ8x8wL^BXrU9_%P5EyLfN`kOiT#jN7-u^GItoA#{GHZ(_v z!S*HEFrw&WDC_ntQq6}#9xHz6tB%7QTmz=_oQRfms8nX~f1~lhA^}cJ0G+^3EjyY@ zQMejd_DxO63S3cAfz&!uz;cr?GPgf34O}iU3w9}Ervh`~6_uq`XB`9^XRPuFOj+Z_6WP|kHs|L^|FLI3{f9A%L!9pwR{Cf!;Z zCN`|~u}Yv`u-6wOCIo@35h~L#++zfp+d$VV!hrBw{D2S8Dqn zrEfW&I1tz@t0mDt6r;8h!wVrEds#8+bGW6{i=3h8unZ~G@mirtleaHqS zXDj)1ejpO=PwJyX35f4(-x1{Nph1HuxDkhus25)9bhDbWS)vTZq#uB``O zHy-?hKiOu`ss&uU#(_8t5v`1D_S9-U0^q0Yo(2&^v08&L!3p8JdZ$!rKdG$}&BiHI zwM#+S*s*FcD2GfAyEIzffn7#$ahxg5O9li)Rj~1f#uoy<#jod~$55W}+O|&Z^F7>Y z3K&0A(y~)waTiqM2*gr>c;7+1bH@|qq<*H~7%dlQ&QHf?>)|X()h`H)MQXftRcJpY zl4vf;2g_}Qr#vI3Ubp_k$hgw8TL_>%Szf|V0D@DrKbIa$1( zgTkdp1A_<6aI%d(iWw|u$g<-urp0?&0w{Mcsr$vpBu|S6#LgX3oi#tyVm0i?Dg#6h zchTugQLC@vJ;xY(P^V!0sTDuA!C=8AYg#7k@>6G$mQj7D4be~vIFXh zaEC+s#_6Q_U`ypB?2$5p#e1?nQ!_%+FQTa&@{Xnqw3lA`cZhL%POB-_6u~r+AEf+D zUe=Vz`#+YQuospUMyO!}hX9Nrs%7K6s-AJI!2LIBO1eUa*}65(sZv-c7?|ml0RKd< zw*_>+a}RhEJB^1q{S7j;Ji<;I;SHf#3|VV^fmx;Na1Kg{Wwjn?4aWz<2v?;HG?46I zvJuXCq}m6XTU21ooGi`q)YNe~%$re0oIzofpHL(%%r}Zb2s=P>tg?EKvo*C4ZvC`^ zq$M-6$T10SdCDr7eo^B>Oz>jHtXRPd)hwM2T(KesOSx82xupIfSX^zXmRi5bG8?yI z43)I7G9OD!g~hR^$Z^94%0RWhyV!a>Bbm;zm#rnd8U12FDrQ_f;&kkSQ%4vrjmp=^ zu}YorU#Ju|RpV4397}^iGT0P4B_}5ZYv@o|r({Fgpbfvz zmXMg_)tf^7vp3N!sNGbseZ98+4Z*U@-sy$hE2*I7*O zP;V^v&_Q0`k#$ledxY)l;wW}`%v)A!=G2sNsgOLBfi@EgR1q=y^ut(RoZ9HBBj|#w z8LuBYIg)Bjza670qK?PM;W(pV=paAC33w!N5_7QfS#h-exT}bqVG#US(NrNhs{ket zBpwEtVBE@kNZbZbhnba&;7v>T;feS+lUq=N@ar>&EQT3Zt&ZTty%{|ZRUqAN{}cSs zRdB1{t8R8AgPlL>*!4eHUgFC(TJIh(GJC2<;_N(7>Z z%>WWn)H)E1dKlTJ1TA9=tFob&*OCmI z3n4ehsgon)=+YeuLFZk@(GFQNN1(}|es|H6K@9JK$L!Ipr#lWo9)j7&=rMj+hg_JE zh86u5BACfP64!XKMG}2lH=XWCa}8a2Qw&#l%iDU<>0y~9&g)CWA_R!l5;M$v6@J5X z!U)J&L1M=2n79Zsj`V$RTg^DDcT9@{h7X`fnyS^ zweZS$vE&hh?p+X=SrVI&`6bH^Lky5!a=iMpmdDA!1v{qczM=8_iL;6|vp4^KVFgBb zV2z>)o5!%zPp{$(@1$Gy502w8xCg<3;6QXFy3qlT7SO@C*Y!!l2%y@S=wpID z0!b>jsuS6X)1+xI(k1xUi{odI%U9HBjWsQ0L0RLcCvsGSDjV;(N6O$yQHvcg4jE_? zV$WEunvE`0FaCJ2<5gBy(ds@g%#kngOLfyqKHUfj)ibS2sKer%dVQ_uBDCO!fp}=& zohwqLAXkUQ*g2^;9j_XDgUEd1h-2z_JgxO#{W>xWHUIKD7SH|#9Uaxc(pM|RcuVSP zWB;K{>8N`z#=&}g0{G!|dz6nl^bz9+R&K~`*?F-v&YQdR@&(LYc<-^l6~0<&4Lq{Z z;2(Rpu#E=hk&AE)CNeovH0b!eIs9LajCwFtDWakU1Tt%}H2u-btXEoJ2oN?159X)% zp0&P;MPNOk1t5sM)ph=E!|GbC`!(O)3R^3% zrNXs*csfFbi*uOmsO(tZJ}@{gtU^0pS}4E&yxL^!w2aepZ9Y#dNOr-}HMHU|7slD} zP*potR>&Pw7+qv;7-+GHbR9H5K+Do02f5bK$}k5d`n77xCk0zv$MO~q+P1_tx@f?! z|5#s`djjx=QVaI3oovKA4&JK#@tkjH@bewWHjTT*V$+!P0L4xayT)~xZ z&y3-U6#+_U?=tovT{L_(dxO8K=Rou7Fd0qMJ=skR6yLTJg+_ncw8o z)fbeC)k@SDhE|+d@=s-^Yu_MJF~)4s(WXKWek?2zCSgrc$hX%8b|_t*VES7aMw(L7 zKHaIQDL4rP=Pu(q^WxmfD)lWpWkzZyEOm1NzNqhhdO(X7h(2hH2vh*N)lJU%xPNpl zAC(o+DvFwmV;*RiSiJ>}A2^k?qS^e3%9xAe2mJSgI`~h(cyIWnvy&bwycySyI6PtP zkRkw8?2rLa#Cc^Uhv0fa7#Q6wW%D{BQ}{T`OvqDqclwlc9J+$jW=i~z`{8&l>C~kU z(BnPE5*l)BffDKa+n8F-W%^?<`lVu80k!=Dt@uGuvAkjLsqWJzjZrw`PsHzp*h8O9b4KI#U3pejA<(WA|LfBWyPHLA<=lyLK_oKfv`7 zG`&%GWP$X^QnZEh0Q{9oMA{$-+MuR?IM9K$@5UYHT|(L?CM0?%+HuN1IKMs?A(RB9 zrx7dzAp!bk_?a;qM%#eNLmvbM6HOS=Z<6%P&~<}~DuL=zh{8t4*q@G*%^JG|d_zKX&AmS0l{dpS(Q1MZ!&!=T*U!gMPcZJIaug4LoQi4m^qAn6%P z990A81F9ikAd+>Zl}-Rxk@%%(?vF9)`^l+GVp&Z`)Xqjie1kg<6s#%J@XNQ*p+aGjxV1w;`P@#4~tud3qVLr zr^_~+DDq3pj}ELFDY>(MtSU&*>7xol0fNjP?JNeK5Y>u-DTBXML2YeP4xXxN zZH42YrB)R(iD*a_h|}A0{L+QpAxwEGAuC2o-I6jKoP}kDn;l`wvWn z99Z-6{oHBOpS* zDG{|oLB3AE+#G2(8g=Bx(+fH9|IWR0-c}fBaUlGW|JnhE8CIJwvy2B_4 z)iNJ}F+Sa=t}hN!x3&|N+h`Om+V7ipzHRx&iGB{rQR( zT$vngnUg{v**Pyv9ejqczslzFu(M?kd)GIKPjnao zcA)S&5G7yYQ03EEX~UNcjvjK761vR2Tc$wJ$`)7Sns9PM!)Bd}uN%Y~(^NV`IU4=7 zmE;cNW%%ovGz2cvN*n#Nxj)euLs(|m-1;mNQZjL5cWN2K!)9I`{Q*DLcq>!8l&Mp} z)XA)!_aa*gX0}*ReTMn0Sx9yoRdfZ%Z05=4U}e1 zn&J=z3A@&>MRwm<8cZWLN zI0n4bETUAE)aYB8sbuPB=Cz!yVA4l6n!hf<%ATKms1=Q-7+OE5sL$wTtOHxD!y&z~MT+{d9m)SpOl6gW#afuY5!zih0iqSILYfqCfo(0{+4=nU^2Z8q^xY_Ie)31=@dY@>8q z`W?DFDn*iWI5E!6qAm7nX`fX!uKrzAoLf|u4-QpZR%nO{M=lrB`Od}KW9lGp#vt!F zw(+4dl2MPjFO=`6h0+iDMLJ%9fA0B_zIV;2yG%9?{Z)CYmoJXix<9mj9L=7g_2a8* z{k#9+;#JfhX?V^;W#)|Jnjb;TiGv2S9J7Epx~Md+q6V6I{DtiqOj5uZ@LpS76^C^+ z{Eq{#jl<0|u0jAa;Mb&j)L63D-$)Nfo=!Q__>sRY2RVH)PVuoV>Mw<>DpYBg6j#y| zjlB5BGtu0#;f6=qGgHTRo{l@*qySJ(z3*KaKh|Jc$kS(st`eofeLo<7t)Fjs4Cpt8 z%)6bKsVc2@swOzc1?gx`!+HIAH|~W_NG+j-S#h2*086 z1gmnGBIe*8L>!=DEM<7L&d!40?Eb4}t~?-ETY*?%L*18Ote&d^Sv=jDq@CWOLysf~+rU^BX^l3R-2< z{(k5c!Q(6Q7q9;+CE{!ID+fY?#i!Y))7*kHCr?M#LE@SAcSkk;j@YnU540n(#vxa^ zjlW-f^qVBA2KDM(BNNjCivICAefDWZC<|ja zNm^v2L(p1E6Y~g|^|8*#dfgNZDR@EM^11HDWc11jSn`%tHHu+d3F`h= zOT)S8`*nzJdaMe z^Gt@xckE-B7m@KJr~CePhM9wteqwj{Jq$OWJ>X|@=iS)Au(|HIU&vk6^=5`^E{Z-# z?&QzzWw`m|lYb?5{gpcyZf-UGH*&AJX+OgQi&p+l?xyQ|{=v}un1VfK{YmbGYyV)_ z@W5?|#TEx(n@`qS#~ z+;GWB^5=73t=jQrxlFxw^Lfix=E!^AIBifxVUf%^b>pBrznm)vlr9)wI-pcGeXt{W zN)Ao=<@UI-iU0Uxw)}X)6JKoG zlP}NNwC$vJv!=;TH+75NcwK=UB>(n)*z^>+y4A%uKDBkAJn7?4>d!kaRSxJp=hH#o zrO5dmo}P2(BL(ujG1E`}{{4w^UCQ_ow?{6J>%#}V>HV-wwtaX?hqPbH9zWc_s)}ltr}cBvD?ICAmOjEL)Q5&k9pwpF%w_cTqG%Z#T7Zz zr%!+0mvK75+kI!Ox%;thozC$UUt4oo^)oYkt3RHzVs`ASzCQMQj7+GEfd+9%^<^9gMR5ELUOpF%Ltb6FO_*f&oqBUpN2|8odtewlVH!K!X| zK0t8S4Xd6fxO)8PzY)yrzV8QuYaS78QvfI3JG(!@O|KjnL9pqo?=uOmPHIy^Frxpo zl>`s&nQ#sJM|^cJyFa?)If7g7d*pqB2@jm`J;BW@?};FRcFkMQc?p&#zIYPB1N{$X z5KMTYZ85>*`!}p07%{QxDuS~XEx4QDF5i#O5S;YGygdYCjOLmR-EQd{ zFy~w==C}EL)TuK0j-|i1d+c;s(zx)^6QVDb^*>C!;K6e)kr7{g^v0{tJSp4!p482I z)2lM)x{S$Tef}nEzYIJ5j<0vi=f7@zYWB0j*L}_F6X(qt?5m3SeP6G#Hog)2Ha^=i zCEGXp_eV2(-8#XSJh%SLKlaV^-P5+io|_)N(dV80>heGSd7kgYq@9mmHLB6q=g;X6 zwY~a5UuN4Ax>mfo&v(oBFCLdX@ps>MNi%-hviyYPz3Dv<=8o%=JnD|Yt-rk@J^ANP zUfp~4vBk-~&YC{H`;@BW9XCY2^vE5HlAqWxp!${f9!P%VeOb0|)@#Xyh4;?#ys#(P zD}OASnEyp`j~6PpoHaZw<>O92Ke#@=U&<>dUlR4y+T&C9)+Fs+zJG2?*ZZ!!|Lt8< zQs$mJzT{o+>C`TcAM>Nky3IU}Mf}#ILoz8t5Kfxcp&el~RaO=IMrFWz=w-peI&^=Gk5^JiTlCtdcOXnFzT+jWT`X> zmSwFj`ts`s$oFdFjV9eQ(`2KlfqK*ZPx|uWKvL_pNQbujAFAuc;Sq z|AFW$s^6eqL|^Z$o9QL`I(_S0rmuT@^kw?GZJ(mA6aKE~tHarfzWUs#=xdvczKZ@$ z`odt0-}Al@hPV6vjOv8nIlj+2Kij<=<8uACo?Z=}LB39F!h1G&ev@a(k8bCy4@=y>}76M60EczS4gtw;R$oZtKX-4`~u>+loqIA`>^ zyIx$Fkozg-mC5k`)iAk^oDbnkKCGk_oXj? z_?@rg<2R;FsBiYY9vOM?$ITmjlV^;W*YWLleNS$f@xp)=*ZK~wU-*w>>W28{jMy0a z!0GY6=YEQvd&RS#ZP$?Jv-RioP2u5v`rEGgZL`bG<1_PJ75;hayIl{%mZ3mFy2kZS z^;>D&roP5)*W380`Wu%65A3D#zun5er0f}zN4A^rSAP8?%Ol3UeBR2Nr=7ian{j_V zWW<_BA&(gMofk(>{2=_Ur;S_J&q{AgTP63H?{npTq(8{|?%7wql;j@s{mu`EJ}f?; zW97H?l-quNsQEK3=Livq4~l8ySEXa)|M2)$^kee>SMiB>2dPXZK0#;uDgS1xzW=Y| zpXzhkPY?JA-uUZgh6@iq$gt-x4>7#yr!5Ts{NZ7SiQhlM@RS3OGVJl~V+^1FYAeH( zzdz3K;?JL8c;hEeGF;L86vKXhdz#^;?`>oF#M|2$zFpeL@V?I#EG~M6-M@XLU`6h; z?0$N$g8OGb$L??6QSi0w9qhiaNx>fJs$ZV-qJrB~ck=h$&nWoxm>1Z+{BZ@_p16zM z6`K{jb?}Sq-gJk8XZL%F-N$cKa9#J8+5PSs1wV^?h27iFQ?U3i1>au$D*H!$r(oCl zud(~1j}@#t?R9p)@s@(WMK`hg+k6F|zd^yX-&3$xw>S9vwV4Y3bcuo|zM$arkT?1J zj4=wHyhOoY9#U}qHwyNMeT%~_E>Q5{jS9Z;j)E^o?dI>dO;&Kuc?y2}w1T<6D0p9j z;+K2M6l}gl!RJ0u@Vu_?a5~4OD|qes3V!*tf<1p$u>X*EIb8TW1$W+{U>^85(dX`V zdl>c~ui%vB3Z_4#;K08txbL|4INZV+3ch`*g594}FyU7Pk01Izhx@ij!L=I{?AWAW zQR@%*`<0^&AK#;3 zzh@Pkx<|o+Zxt*G{e;ua>ZRb|1O*SID%fzEf@989@c9cA9Jx`!^$#le=}rav>{ZbB zor2TCNPZDwa&H9_6BGg+^gUjjS6nst>C`>3VQxjFsjpM zoKL%G1%Dc$;7d~#yev<_(X|ThxlqBp>lJ+Geg#K9tKda%E4XvNf(L$AFrwq}Iyl0Mr^A;-Dpu4|8oUz{6)dW2xV{D)KkMj z3T`_^!HrWDEIVDn=n4g!&Q@^26$<`zlY*6-6@0Hz!NfNdT=tQITfS591JB>NzCUzQ zkmO*Z8~Vk4FyiT(KAR!eeYh{@?oW#3>i2u!)B2+l+2r%2M?XJFR-N$9sCy2^$#(IH z`n)PRWa6->b8cKJzkRBE*HtNb^2c?1KfNGtrJU6}cW!pCiSp*rpZjWa7s;+o)k!r^ zpCylNe@Xf)JN9P4{^_!WuR%a}f1D^{WdUpPKGV_G}DPOP4lNEAt^l`r~m9_7D=Z)A{EQ_K( zyycg{dGd|#@NItPN>y9h#J6|T{>^^U1{sNi$UFol^L<}ulUU)w(h)KUikjD z4}bjXTv_+<#&4F5yh!G3JpQSZmsZI~hYg#abLYi!Z|aKV(;I4K(?V~r;}g%3t2e&$ z=hu6xW!MG%YU9pdCNrP>_KEL%Unspj(jGf&%p}?M{YTffzr9?p56RyD>Q6Ida`=_& zhb66)k$YZAd2@f2-1T|SopZ9!ly8G=bPR?0T-ty_8C z($#Y8kdJ!4wdG>@?2Zo$&WWg#m)`K|&1p09WRD9Ll+V56bXj!YcV}%MSt65%-<{R@ zxdn35sQa!wC+iH^JHgqkX^2l?}J1e)q|oRJrP<#+`efS|LN5I-=B%2?*Wz07hoG8ETaQ=|=ybI-??B55! z@ys%rJTazp_m+`z^k-3*z4QD^`SP~&dVKclYWYUk#tRNyc(MHL{GXRr_dQo`?s@Id z*i92;^Z1J=SHGDjGw$m&B`fb@c_1_9+z)eS%9CFGG^Fgnr7~*awD_^BDrDp5g;8xL zXUP$jd#i80d5Mg_>tN4$*RPeks(Nosk69`cmOgphl;<*K=2zbG3r5b9Hx4=X=cacq zkY{{<-9OTQ+8_%;8nXTi3&#p$tw_8Vn($z$&qy?CWuH@@oa8T&4frPsZ2+++8jCwuf<{`{5O zuaFx~-?s7}3vQ6})(qJDR?*e6W=;CnACFikSA03KdUEBNGI{rR$#*sklcR6#>Ur{; z3*_iikKMk1+gY;aiUFIS-g=EJy7vs&%os z*UC%VpPtuo&pNrLTiLh+SFVr`ef&qai*Gtt)=zowu5V6Dl^d?kJN=o?m&i}HcivKx zvQ{n*2_JsJJ!|B*^-q13lX||~I%Up3CVTT_-0MqsMm(?{{WNm;p!3(r?gO8@@vFBk zkbgb#^2(Rbzd&B|bn`Q({&JJTB8%MJx&cRc<0dW;y`fBW<5%jAapQXfqC;C#8c zf9B(T<>m67!Q)deIqe2H|8JFPbHHwY%@RC5u`C5Mw zl{|tc_;34e9k&kqQC{?YwBYGg1Ja)LJ$vfAYlpRa%=gufts_^T`IPUh`1;4!;``zV zilF8_SfbYBdQ~zH?qaj=>%Q+_vH6+5`+g|9GV(3fzrN6P`Zyh#8thMxaDZjmZ z!n>!hw!X(-d-_!moUz_=fA#7cQ+m#S(sKWB;Qi>!_aCt1zqCBIndBTnALZhr2AZST*q!h74l|Ienyixpi{e%tQb zM~}|S3F_B!)m^^kD*Q!zQ3!dLJzQ2HB^LuYA_=WtE@f~p| zLvKolugG10buB{?{yxKojgsxn8fV?YFwfWe8;+MQR;7umMqrVHQsJxvaH^UsG`4NaD#pZzfAy|Po} z{J&rM;X_3u3;|=ZCrO49QlD`s%&XmoQqh8K=p_jb9+l}KsyLrCs z^2jIco35#luXKpm6%$h=Lz`Y7_tl?M<$!nBq>n6{E+2a7m3jRd=F9x>lDp=wuh8Y2 zDF@uX_>)`vPnB^eb$GqDV6yD>^49y?^evK)p1$GQPFKv8&A&f%RpQq-{qv%@py z$;ZBI^J&P5WioW{2h~;Eisksf)p!4}{S5ijxW8Tr5%Xl)*Z=tGk$Vf|?BaP_qB0lC z%a%6v?QwabJbB-Wx4PCB%ZIN&*E{6>JJg(E!IT{bYj;Vd^sXbq=oFQ}SeDxuH=E__9-CaGupin-u@T|s$JhQkcr?hTDby+qaMKC$PVnT62dVY0ERdss)(#drdlk3V;>PoVUtELs!W>hX3 zUtEYJMDgH+1lqUW8hN)R5B)n9Zpy>_*16o5!5v{f0$%QNU*U4Eak;N_x!1bfSGnBd zDyvhMl+|WdSK{y}YqU7@pKVG6g4U(Cw+% zZbuscuIagEnhk$ zGE*IvO*l#g4+Yho>YYgSrsH97 zmT6r{skf#ICu1_Ya2p@4r9^=(ggNmw%!Mzj?!~I{aDlJ$p8CS#AxDl6XFds(&p4z; zWwbLX(&bMaLEq~t_+n*Hj~&8WTAW{{QbIiwPd-FF7neCAa@*PQPHHh;O>NO3;+;tG zs_Jl}pShaYY9wk+&Vb5=e$fK{bFqCKy?7{y2S9CXvdT4VB*nAq&1Wv6FVs|`$%={> zl@%7Nu*7zd&oGTAYnwb_$L^sNN`+%Q)gk99^fOQxpJ7m2N=GH~C9uvoly1xT(UEB9 zpj{Nsr@bNtM|WjrP+g4ul-O9Rx__4L{Ag6#Fkgm_24W-{pl(oCQCCx!Uyc*}{~K8W z>XX2D4cZ@yE6|da6|@~s*N4J0UW10Ww*OkSr|{h0=7Gua;iBr8f3r!Ak|Fk2%+xJJ zdRbw0WliP0TJMZ9uI;$NgS`eXQx#Jrghrw-W8)*vLBf3;*r?2hG5|#jDk>LOKpHbq zQi)^ti;Tp;K*2_NxixV95t_R;e;&|`cQF3~_~$OIz%vX_f|yqga)94F+?7C4a!Z$1 zRpOZI+`{|<+D%zrq`u=bk00}tx0pIEHzzGUm0-s7^wg}haTHsSI~~`#=cHuKHtumb zvollKp}vp95i}_|@IhD{PGr6)`1PzlJZ>4^(XD&3yIK3!r>OC4PpeRVQ*KXa9>Cv-S?>@)& zJ*IFSovkRcZt0TG(Vz>&Qay=mbD97jpRUBd8_;7`Al@iS5~(}pJw8Lu!qvDnB8 zGcjCMF3!fjQA7~%pN^wDrWMQwFG#b;0b_WD?^AJfTne9gl37_*M?``j{FR?dPNYK$ z!AVSGE0?I4({YWvox8DD@{Ln=OTOn+D*w5Ey~6!3R+xY8FTvcCMARYwohJhS`Nud% z*#A7@$o@G~SS9R#A&|q5B`q}4S?Em|hUw!?}xBocs-S}|JV8d+xS16fYI`I7BK$L>#uvlq)DR|E*xc_(_MsLoHrdmFTE_qk3*)X4=pMh zsvMc=kazIV4{99D-AT$-KWKLR+)(yZ(r4&>AUCOiPy^wVT-cx0sRL%994e;RP!*Mt z4h34H!cvu-fD);?4vGrx6woWNlhjAZOCWtpTOdtJ4^IW+FQv379g0tJ1hi6h)kXM# zACy%34LYpSy6PIsg>ylRizSeVE7}S|#!q z4y{^9FT+~8fr`97vT8% ze6G53=g+H#=7T)g?R9e|Y9L{lkORpY=9O#C=e{HemZyT)CC zQ{pO$7soFv&d2fWJS`EWl@%o@hILOsDK505ZzXh>gSP-Dh(Pm!bc!oV*uQXDF}Iyb z)P%sPsa*8BntV}*2~Hi#RSB(mra0{VG zz*!-d8~B12E1#xt{4?Q@C+Ht|b@>;U<8He0MYuFUbs-ZTcipj{af4VuD9DNKQ>iO} z#?L=}=xcEjv!M>Vd^mHea$!N4$<`_-+NYd4ok_o-vb<~&f*Chv+L)BvghFR@0pmEW zFdmA-Wpws6HM^*&tX_;;H}fmvE0*HD2F=Pp+rOZ40qU*2?eN+I^g~I-8(JvCIfte3 zL`{GQQvyAO*DV1zfzr>MSggYVFQqt>4RbW6N-KUo7)~`68T0On!cr?c;|@qq zhXca%akiNiub{Y`Dy!(7N=o!hKV4$D*=f5qLdeqHZHvZH%>1W*Y zL9N6JjJvFwS*Ya(^_CSB6styZ#3NdDrh^LMoF+S6AjB*M4TAbP z5e06VEaF3GbWt%aj+W`o*6jVRM^y&zUrdzc*O!GfdO&Rs2nsTg6{* zxmEnt+MSxA>c2$0({j}JQti%|mc{kSbh$@Z?hO9!)$Yt3Ri6m$PR&;79h|4zCtH2r zZ@E?Znk@G;PH(H_R`pqLxySSO)s}k#yQ?gBD!XS{ZrvW1ThU{J4n5x>NhjvezqRJOx zzRywZ8|rc&EK>M1`R{kR_h>gRn&kR7X?OOFDeP|4?l~z6Uz@diil)~F*Y`E9?@P2h zCr8m+l`fybPpSTH+_SXX;M3sWxZAbs)h;~hq|kN|@u96k+eJl192+rhT&76DL%$45 z?#Qs@j$y~2nvnwZ4?8|BgK9yLusQ7bZ1$&kM}J2#a1;YaF>n+EM=@{|14l7%6az;w za1;YaF>n+EM=@{|14l7%6az;wa1;YaF>n+EM=@{|14l7H7|6;VpPjYzx*O70pOpIa zXMn+E{~Z|cvf;D>q(6esYQ{ZeNtP|KCw+>cvToL5PKp+MPyQhh|CJ(9W?!D z=W-HVeu6m13o+pGK3uGR_#5CC8X`i2g!P1a1U?B*M5u_!3ax6D7oy4#79zqDLlXG= zSbTT8DP95m4dk+giO57%wxHoD9SR==QklI&g-FJ;*VKd3tPKZ_!UDeO^z%Hip(3_6 zjLS-uZz+9GWC)cl!CfxOw;6cpaw0a7U!n0wxT+2G=d?o{xai^$U8pVwH`JcB9zkg) zkA%%Hp4(h$y8W#*+lNqFCwPu)C5}Vh)F$-fHU=%whOHbtKbrI?uOR-Ot`VYZ=cof6 zn%gx+Hbzv1XNGZm_UuWt6DcCA!>X>X?jc5~X2P17Xfx;8`{fVs>dnB3%DsmscF1o~sUilE+N`Z1NSex?xD z;MwSmn-mh@&v8+&p3$vEm!!y$E+`E39Kx$NO4ZktuV?R8qK&5)=SANe)n}pjfuqk6 zPK!E-t~u>R*Q9o$>)I%!i1M}Me{zI4xi(TH7PS!rfvd1A-S^#nl;|7Z`U$jYZCkWy zq}Y6h5TD}Nyw>J9Rt z70%%T{ENawvnvhLrm9WQUOC}tt1!_uQMVP>3p5Kq(5+oBxGmnw?HMF)Oa7*=j=HU> z6rvAOAAhxj#*v5H-_s*Z^eBoDJy6abiCwuogd6XfLY$0ewTbWK)vj-z4k4mLVq~7x zb_UnM>gp(C<6LDFNM0XyR}@FZO0U)N-pKli7ia0|~AS1cFe zSUlyfxNd)UT(0Xapp`b%cZYD_rQ|5h&Glf3=YSVF)2s~(@Yi^=$1L5BT&Huf*91?( zI-54hU5KZL@gsbpO@sQ^hKpoZ8e9kP0nk|psou?$axDFf3*D3`{`MFf0fSv4^ipB`VJp!q+Zaxp=l?+3LO4jX^aiVd%?p&Pr9A*P$f$)r22^l@DV%@JIjUeZhwOl zs~qk&c9oCPZn_oY6rQLJjyfZ4x4)Hk5Iz||4<;X1{*+(BUASu*PrWlg(3{)e(=9@D z1Ae=KCcB{xx@C20M0DnXQFr5<2s}Id(r72#{+^6Tkx|TsZ4a}e3U!GG4= zE5!YHGOsr@socBZmt_2?PLO+AL++ul0pE6mU*$vycUoE=ZB$f;_U+zAbgykKx)+6t z?m4YQcgT5)GveFfc;^Xi#R*BV;slRZ9CzT@=H5*`8;_~#p4TmtFogI6BgH`Avy*s-a7V+-;?=P=Q^s0;dPXVLk4mz;Bas5l<9Kyx`x*U)vZNYSgdjpzkh?v)cR zdL@O4UWuyoJ&%hJQAjIlt)4^Vg=JFTpTs4z>DrtHv#>N^Ki(jnujTw)ta|dahnC}ucpqyzL~Nx-*w2$#$Q9idHowg zT#IMwjsETB_V;uJe=~f~$g1u-nliD!W4xmLs-a70+e)JrUc0VR}9Ufu) zs0=7~P=C}p)0GD6+laR&c2xa~^KIiV_x~|W|9q`=i@FRBuo~w-?wJ*kx z$Q`YL?=~FX?>m<@GB7R1BiaUOIrC+j&I+k&alYv2%XuD;sKwLc7Dr#M4aH^7{{Bu{ zX~MU6@vJd%P)~AqhHj(W_)&lP5xN@CM`R9UvZTnsFufy0?@uun?uHDs13J5+cEX)D z=er91!qv{EJPy9@XcreB!8k^A(Gczt&*6!b68H1lVQpWMbH zX5$%e;&Z!%1^6pk3Abp4;?_gYbvd4TXWZJb0DseOEZt*glBprfKxYA2hGl9bCn(LP zb{_FLo;@Z_(g~x?t#`Kx_~z*z23aFgbWbGdK6u|@JsogODS8)m z7rk@3iQY+FMepzJxe(zy^B9kqhiB658V^L1ntt5h-1KA7E7uQoLqGScpBa~e@%lsX zaMrJZZ-}H&QPtZcuEMk5l&@k$cf2HfG#3*7!z zU38leZW{YRui4)t@=RQ<4|n@>+z{11c?e&Nr_sbgI^@0-&nDx??Hv}}AGmj?5rB6W z-%$Em%yR~K#CLdN?=&=xLV-2{{3-t+{)d(uZ2n{EwLz-_v`TvIggB3wk7vEfyL*J_ zPI_&Gi9{IEYrDf(dTk!{zz=mlAl!QsJmO?L%_hBpp<*EVTPS#j`ab~Mtj8b zcs4uBloKJ`{+=#+zLVrX-yytIjq!-ZcoOb1Z7kS*JN()iKcWweQ?0>sD6HSNJ`ti1 z#;0R;V|?Dx4r6mS?9$t6F+AI3Jb0&l; zFiqDl@Q7>ieCjMS@agt< zq4>=Ra}duS6QBAY=#=<{`OVaqIOcgIksdAoEo%1`Xi3_W?r#v~JlMV|K7_ z7+e1B@PhMu8|hqa@?@E*b8!D4<={Gbx(Le#M7I&)reV29yo%>XlQxe_=vzr`1HO5> zwG!P5I^{(%X5IWG)aEBa__&*PDDTbn97S#~atx;L!?&&AXALDQDD4nrVL!1pd;q6_FQQkT*FUCVlz zRK~`0J>pk9nI>(*31qiO=yY3Sp633}^RBGU2cnugG_}iX%N#2h&cp>C(H+lICS5_Y zK)49-XPpbpl~E^G9F;E5S-B~Jt39F@o=Z($6C=dL9c{!|;Jh34dGuL#7$aj7-q&0N`2|m-iO+lp zYtJr!#k*)e$Tl2Rh|0Wi^Ccd!8&A#_Q-9QTH|R0IAKvi$8P5n4mSjxGf$e^Tz0;0x z5sLB#gdtlfq!$X=+MTAST`SRURYYDmw?6up;iV3mZM@7QzQD7|t7sSf1Ho394nz*GLP15co}K!3sE_8@GI2}^AP znx*&w{z204M1jwvZc(UbRAReEYAarktR?$_)}Slm*{wvt+A;Goq@CN=M<)*7F76^ay!k(~TIH@zk60Y5H~hYnrc8 z?F&09*d00RS${KRNj$rp=>WHGe^pNBJQVWwt>}Mvk{`8kMDCq<`WQdPE%oR29M{m!Qtvv;=#pU3

V6#VLJqrG3@-y{v`CIhE?MQPl@HzYf=$5{tEJnX+;nd|%I8EN+ z5i{|O-m39KdDlYk>GC)HIv_7opF`=mh!#Lk0k%!9^0cVaZYlo%EB=gA&~z|<63owy z7q?sEoZ4^ATOM%_o-TsUlS|7-2+t{WmLg6#W*s-}yh?^TD@idz_hPHug_qU)jm*G8!SZ4^Jm0&!{@Oc9bzc+3JjlUZ*FK~=WCcJ?`@}&A7 z=nbaT2exzD?RF#gF?bGa(|$~=tvFnOKlqV54Nu$FqAm1kZIeQU;v&RH+CeUWE%R=` z9azt*?Ew8iM;MGm!B8tioQNl`(NTr~Ka`W=1o%VFIBa_VZr*~+w*q;0HD!#A6tSq! z@u*KPHA(o7%EzREX$*3h3XI zk@Ef#>%uO7Pj{?kf){p&oZ3CBb8}Ra|JtZ`bci?w&mSfo;xoI!18eQQ1MV=Eew#T& z5Sgh3`pfi%h&()V|3CKLK030aIQXtBjik|NB#l3o*cg9U>MRudx9k z1~6dEc(Z{eF)%CxHi?bJ+5snz0cH7!0}d>U0h2heEKWke34w@3NPbMUD|8U1)s85cWT8MS@b2Pw_^Q#<5Z;2}p-&wSzg1IVN*clzP+TJ3B@ z*P8!Y_eOd@(tLV{+zrg$)f)Hu{S)9yhqJlYZ}HmjdhWHrJ{LWqvk~y=S$+5A7TtZ0 z6dzh;{m}Lpe@2Hq4S2+rBf%H_up~c~i_ujB<9`*^DUr?(3(J$xxwx_K{zvmNiYzgT zK4O$U7@b&Or)Uz&v78AZW0YC5V_SZ!k30V++?{{hT(Nw@^j4;@@0Fg7sp$@R?sMsX zSMD-rP3$?`8FkYOx3W_pDGkIm0xa*KtN-}mhLtgR5Q>t%I>qZ7ZHmoG--5uRAi~hCDa(Rb51GwLn z+4vQ_*2CLcTwy(~X(H^#x2yeC1^cTBTc4GO%>-eX(yje^hujQY{dqUGp-CU6@!Ve_ z-ur=?i>qaz?3wrs8jd%(ahPfg>;J^sxXQS9b6U%PtllAC1y+(}B5xlb%Z`lE`2L6+ zzka^nx8}3_+79_CaN`$TJBfX7V$9SXF4}Wwyf(b?FV4ml2N`C?Rd-CG=B9}nO3!^}R7K3!k!mi5T6>(@p0X=buCF(Ux7X=0E$k4mtVl9kTIm*GDRgY)Iqn4ni6q40a*=uM@PG z(d|IyxEmw>zpaz)GOo43yE^3Sz)h|UBi%A`V}}e~4PQBcj^7IpHh0P9+b|otnSI+) zD#0(#)5c+VH!+FVe46j=kgot6|Jv0RT_xWS0OD{u9xJ=E@r@^?XoPmCPmo+qbBoHc zFYKGr`#R(?z-5lMwqfPT;^V`6J-a1d%Mv_n_5&UAZr~nAgFN*6L%~YrgbDw zzs>#c4EfjfvzBA|Gt8+wJLJGUQJZOc_V8WEH-1=@&h)RfzhsRC7F{~@48mATbTudg*u-8!@l-d-7&ZHG54Z(Q6kUv93eyOUGb z7NetjFKgKBC}(IF{b~Cw{&k1^5SaZ+)IQvo+Ckq8(nd~3^Wy}A=v*fHn(;i*`XcYg z-<$eaPq~W$U)aQcbrbSgYvl>^9iQ)z3xHi;ZOw80{tck)aMoAh98ZNsbKIvB+f8bl z!3$lPw65dd=#Xatbw}UIjZK+{xBgHWFY*DPX=jOZ47fd+w!vAShY$PG($+{8j$dRB zcV2SB`!px8QAo{))nu-pW1d)>{6mL46}a(lqJB_Yyo&PAP8s*Y?5;Pp^2=a!zKf0u zxX014{-JF>e5!ra-WDEKoZyasE%Xmz^!^b&8nAOdDwoc4-8V3mt9;4YtBdVL9UsSi6 z)~WtO`UN=8mBsQvpWxv``I!3~Rqk(868AUOxbvp;m;b#(iVt_lt&YBqzXe@8)ONWq z6>jHc(_PK@yi8?b#%a8Fv3oVAvaj3O(z{0E!Fbe3j7zIGeAJ)2j+bft>2QxQ_P;yi zRABOJQD5ji(`at^VbNHycANU|4*5;sYL`xBe$G|YmxLc?Wz7-wm` zSiH{?x8~wn8~0@6GiXHph&-fuuwNYSlurY9J9?|(Z6A}4-x^QaF7!!cE3u|87B|Lp z{`q_CD9rf5?oRn#;F7OL?V@#Uzz;lpVm#FthVk9z)SPp3)BT^-EoZ@pPogKA?@ z^PN4nQ*H<5ynKDUpRcBEp4Tbg0CL}m%538$T;KdKH;3KaN|kpFIXF)9{DM56HS{^u zz0cH~0N`T+TRH&583@x66#r!3vq!s+*J;GP)ASZ|ze@!Ij+w$llZdSPL|CHFM#bKc42{YItVOxb;WaAmh#sbiy($fpe7hTr;k znL-|xm*(@)wZ4G!dqZrxjILT~KSPPxC0W}o=@ zpq7^!@^5K>KWF>s1rCNbXVwm+Klg>u`BtJG*qbeS_~6BPc`@ZG?eBvIw5D4$mPtST zqE6Z0Mx$SRe6TMs`_M}aaDFv#FyWhEM^1JyFCEYG`z!pW{UhCpmiyRco$?jn5tpZ^ z-7UvnRS`g0?!F z_He!qv`uAyr~D1D>)VOC6354fd9?Pfnf$V>bL1D3Z-O;spH#ivnwh~vChMKD7r6O5 zQ9bPZnzQBw`USm^Fox~y8Xa;vE_^MOp8Mh8_5s(#G3E=0I);QC8)~-bs0_Gikt0(-;!`uBh$~a6Jlm0-g zt=@=?32a%6>S}Ty`~`n-YRf+Bg^!NlTklY=sdwFUZQO08qkJkG?&II|t%J%FLqCEE z9mBEfJLT_y8(dymC+e?v>ijUzrat39(C2Xu|$1U*sEz@aR>)P8{vw(MgH)?+!;|uG>#|L@_d%V1imY_LM z@2?f7qI(3<+}FM=y|Ysu2R!6xslJ*$^g8TnZC^w?`*F<1Wlzs?*J9e2k$snDByeqbJ$Hk4zA}`eKgu~!@hJDi=NWrb;n>?t z`Sj=dNy|HabEjMcEV;a*x$oos`Q&KC|HiY^XY-oJ4*=Vv zQe{9&$BW^7_sXhmzxW~cFu>eW)b`fDJt=%p);qTBVU@o-e~5|w>(n21%FBV`_Y!o7 z@8iwB9GTbImj`Ebaj!aueJ1xj_D~>xYp&IaJZm58l-B__xjZ-FLkSrudGE-N6ODtZ zaPN_pA+$~87-z*m?w?xYQNKS5Jmm6<+9?xXMXvE^gySM1=X-q-Z10!t`%jYX)g7|E zf-frkjJ9*P=*;@hJ7p(ujVqh_oMPQ`cihDbH@;u(Q@@Xk`T58vu$Q-ugHLzL4}g0d zU8^6msE2Q#NB&w5FJny{yR%bX1nmB2*M7*Y*lT8nU6PYa2;OWPQK z>@&>QDEB|x*30J>HpWxN{MI@zf38yo?qZFL%ZXnZzBd8) zIh?lDTzHQq6{c+jPx9%6ecjUKTl+%u5n$JYiTQ#2yXfJ4KB{S_{;E^n1sw3w`uME0 zV{@JIWZ>3h+6FeP9zH&IT0>4AeXNer?TpcFjM1%((G6{5RQuxy<<(z2PINs*=bP0B z!HfIk#S7i?eE8JJzTxGe#ldEO-L1r{^&7JG3S(&r+sy@J?fnIOXLZUy0JnYLjW_P) z_&DXIq#Gn%fpn_V^y5Tl&CRxZF>AEPYCI(Dhs623$$;&4esTM(;k!ZmzWJ?A`Fmjh zza+*D{paItokd>MG~@So%6Y)e$ut$toIHH;zRvi!J7o{>h)V+<{k|MnbT}RF3tidx z3ir!B8o@g5&R2WvuIpe8g8Xbef2UKf01o_XtH1R7T42iIbl#Dd+6<+_v>X-UdUOIk zL#Sf=*bH;iypH{Y%HqiNj_!Kwj27UR(O%gPk9=Czo%E(O#vXv50S`JFCU0#>;X~hJ zBbW6J8zo;rCK(dQf5&!r!sKLf6GrGFT;kM2(!gV@~- zpf3*nM^5Wyy;xEV0$KL_m=4dcp^t%bnCUE-wJ>Y7G)B4i)nRs|& ziiWKp=yIWv%r7}tX5b~qffbjBofYOJg*RGhe6SARee7p!&M+sx3Cuj);wk$50B|6I z)9)VvQx2!JSwA!JjKdU-s9y8XNah!<8{z$D+9`RiujOlUcJp_@-N}3zr#{}s0qNuM z>x~1qKCSxy+eP{9l|H!v8SFal#%#P7-z8@0HOT73`V`H-_+Q6i;+!?6>yOtA`QGQH z!OmXUdDqzTw#6;;o0{#uZeqF_ban`PxdrYeq4QB$bNQs49L1OKqyG{0rL6`1QY2hu zNI+A??g*m zmg=_?_;1$nTY79x{u8+IM^Ss2&X0FdJbduHf;?|-M4nmQAcGI*m%A5R@9db~lYQRU z<8$&H;6X$9ik`aC(xGVi$Df#!m+j8U-XBNh zH~Rf4yy;aZ2ABI6`{wn|rL!7$<5y`dJ{eoZb8~WwqxG0>c?@I5+1L8vcDHw;y)823 zGPSGSvx;5q(+cu5`tr%}q}1MOK0b5KWR(&A?D(*jasJYr z{0DGTl0Nc-k2gJD71^ia-;YYmLrQn~h3Jr9l#`_--3Dib9zJYWTN~m!A0yo>UyOd| zCsCcDr{8Y`Dh{V@xe~@p;aMkq8bN=L^zTuRq+Ruvhf~&$wccDGv-W!e{&iGM9q^OeXH zz*%7uS7mY;oZqI)8Lr{^30`f*}I_cfaK*oXg-m%^ZvuV z%g&xUY-p!_kjyReikeF?$kEq*Zx-I# zFdaWS|DI>0we|V@VdS58!-KQ0wxvRIQnznkh z2JXqI|9J&`o5O>!lNheXa#~%}X#39pUQSNBIVTIrGA&@M;^946KlUL%`m&@!La!^alGd8g+i2Q(voZVwpCyR1ukKWpYlPCg9W-r?E_S$GavxWWIbam3PW z{Q&ZxOQ&r~I;GWyPx@ud$S3i76hkLYFU z9s<3K4v#sBwa3|tW$rzkUf`;nT*Z8Lad)U~6X~_x7C(}c3vQ$Sol(1K{WI|4d@x;L z&HBOTU0Lf_l)sLTsXtG_3CM|KvVp z_7gezGoaFysCxw-@8M(FgFR*P-4dZoIj5 zK>cpPE3(c+YJZlKw*$HEM12@{K7O?|YwA-u`8;rbGJS=6upT}bDaZ(C-y_xHs=6F) zo5?$K@~gn@j-K)Fo-|(jjJe~-cWp3wD*075$;iWr^@#OedDzwDqd$LayR=#kxeIw8 z*wT||mkK&855L+x$>am(_ak8+I34-@SYw~2WtsW{Z4BJ*%A)cM@=bpKP%11~$9d(x z=zX(TV@F-pZ#`qo>|dBO*ud1ZnsNEF_=X!l?!UasK4zgH3-I=B2NU;S-5b*xc>|p%EnK0KTN*G z9ul~*H>xXz)9*8Zy2C|lTqYjA;nVQ!pr@?98EvC&-TV$ZMPSM0WqMw0%Nv|gp@;Ru zO};+Zl6u@+SW7QqWAnQ?c?Yn!5Y=-)eG7#${FE1Fd<$8u%zBJ(8})wNv^uypwR_Y9 z>L(+8k9uFf>|5%UmoV0zHwS-#j||_1F0t-BC}+&)jJ64RXZn6Zh)?T~f}TKnjzT+& zmJ3Ua@tGemSAj;K>vwnta*R~+k_ywYNtm9&`eD}B@a&|`d)z1fn0D=#RYpIqTN@HG z!CCB?o(7bPQJK{yYk{&w{g?{xLB^#I)b4ZfKXUTl!1*q%@#Qo=_E9yiJ)Y55Yv>1J z9;Id0zW90nt?tO(heK-y8?XPxSrIVS@A`+gf%*O(kaxI99>~Nm^vaY+Be*y(7cbFQ ztb37P!dhk>z4F-Dx=ZDDWEEscE}+Wkz-+P{8Tf=;5X=3O9bIw}aQZ;2Uiv))6caf8 zZUQSV58Hp0EM5wao-0K|Wmar;bJZc4gibO~tIq@BKIB+umwXqfxxBURtPv{H`eAm) z#J)e}^O-$e<{PyBn6`1R`&rgEXWO|7AJ;KZ$B*A(pgic>iuRwwN3W09e86j&{jiW9 zw4a4!$w--ep!`^OXh(`T>W*t!-IT$e4l}S7_Fx7Gt6%2 zlJ^6XrKlZk?js9(czXjSA#+$6M!MtxaHC7B{RPi4KX(z|ne^gBJfxY_MIFP>*w=u& z9UZN&8)sfv<~Y-{M|4ER!})kF2|mEi1~v}0*UQHz=3zMB<8heqndSOtmGKz!HWzPq zQFgON?qH2v#~OzX({l2yTE{D9Pw$d%0e2?L2(R$*i899ZTgGPjzkupGH~v|p7T`bV z6w+ZlB}m-c&xE(Q_}b6RixghZI$1|X(Z7|UH`svpLR0T^_;hV8<4%N*h556)r1LRd za+{;C{16>P3a{(Z${>1v?xLVi@xyJdP4nJc;%w2z+IW{dA6Rzu)sOxhJ}=xj^TNY- z@nRng)^1ttIQzIRc^@!2+&)fxyj!=eEcgg}6>zmnGlb3GQYbG?dSSK~ru`D}Z79#cZWOpQnZCjN^6+tcxN`gdf1Z~=ud2UePpFtoI@VNHCXM>-^TW-icUoWEF4Q!+w$ZT{cF7lkI}&vD zyYEF^a+AYpnHi%g{K*A586LY~!JTo0`#GOx>?1X57oUHnzTMo~q4VPRWJhq5q<3Lj ze&x-)Y4dWMofajq0y+kTpr)tMJ3j zCVRSNm2YF<4P9~gHTVA1GqGKMNu+A-=rJI|Xa%jXyLVkek zaBY`-7&v{C>r8gOK@YhSVNUj}!h!&%?zc*NH|__i=DdjsEu9vypcGI2&3ucLAK z68j?aH_;R-3OeAG91(f7~Ts0B&^Uuzu$Lfrnq){uvv&gVFuCcwVy}AM28i zPaw~1YmGVm?g1W2=7%htiKi`m8i_l3YWtIrNq_!5_~M^*;h&OzO_WQ&Zvti=F5)wp zczCu?BOdpjJhVetmlrrEnnR~b|Ee9VzPUs@q#_lZDebfBWZMvdhI&nSF)z zeyQ8iw}nj3>IG>&@CX<>ABqK=!@; z@y~b3g}{T3hOX1hkraNMdrr~(@x$C&p=FxZP)8RWJ;a+(} z#=qJnZv-~(X!Wyx{{`@GI@*3W%E?h#|5{F0 zUia_U^B4UtXP?PfAAYk-{_tC@eXichJN2G@b+b%*VaDI^Pujm6zL$=5qDhW%d%JdD zB|jHW^PT_4F8LmC(@CxN*6$wzb%)cku!eUn6fJIBn6?4yx329zEwi)RGq~82sKfEr zWKG}sJ>cY4p8NT}2Uv7@>KI<=lN4U(3hP%EjTFx2W;$+oHdB=T>E5REQ4_8i>9YoH zBY6;>3@pXvr3_2h#)I1e+#Tb2o`mmffZH8T&;Rz9;1PrAFkO$JlbgdAkxxr?T@Bvm zsPJwFVafdMj??k3dDoBjud>b`7vztZ@Qs8`oA1M;E$&21F4FoPfj^$|Bj*3k1pi>2 z^zrc?y4up2*%%^i_m61@mmZq>{UqR+!x>NN$;Ok{yhmfTJ7LR@ps)H#m*h`rFRPD_ z>TCXqXMf7N`d{n~lWE{@K0er$mtF9;LG}fMjAz~(vh~v1i1c3tZg4bIw>~$3f1D9H z;)Ml8^!N|x4fw99aAvN?^Jx2@vA+cFb9A+xwCz2-$-L-F<2{z1zwvg<$a3hnX0Sd` z>z^uyd|_qJgk zNhtHi=X#ttZx9s1tkGn*|FNvk=gL@bx7-3ebZXcyI&HMweEg12Z<0?#|90rV2l_Wc z|Mk$HhWw^TM(CHIpI?Rk=tnYsm;K=X3j5sAEL$cHEcEv z;_bmehWEHQ8{>7MEzZV3HWJ6i(n03TAikUr_KlBj?v&o(RB?WE#)6QjqiMd5?#+$c zUA=wW%%GX{7i>TmFk!cl4CB^CZKv7Cb<2l<;^{4(sNa2zg_YA1W1VxJO#H%Niblxi zN^0M#T9+v;gZecn1{aI7XxI8q!p`*P%H#NnmaG0m_O!q?u3RS5vo7K1#SgRm4o5ri zTJ#p8zP$?X8-|Y!AGSO9HOtHG%WMs04;=YK3-^@h5~6RD3syJ-|0V2|(KVFMXthrY zr*kJG?pkjRt;Y9V8-(Ral+X57==zZp*G;$XEW5VTHd}mpw>;s(Zn-BetLp5-dtIrp z>6}axraE#zEcC~OPnGHDPFK{2tCe|&kPmBy@LtQYXLrjFfxTz8+AD>#z8s=2)A7SR zhNaB=FXiK{^Zy;|v5}giFStY7SEWuB?#4`a%g2CQTwcb*(s<*G`|SSDeEf#OTKi64 zzB0LywTC$o@8M3w>nu$y^VW6jX&)WCv|GLfOr4dSTdY?eJ}Bd3db$+q5p>;jJk&3n z#+xACP_GQ_OGsw5mThYA#2ohKW>XlKWAO^!)7#fA_a)0g93SuVf33p|={^dScO~jj z!9KymM`O7jm)+ID$%$=qu{HPnxfp)8bjexkG zJzbexS^e-|VBAVt6e(9oI)%=4QQH{vLS5<)dv7=`H=R@EpwEQk!=# z&p2AE{>O78F`u-(_puh39%KMr5qD>q;~Nhq^nzLQFzTlr!oGche&)>4?1)(>CV!(_ z-U{6Pn5ga5zKu8|#OZI~XD}m8f_RU`Eq(3(owT`oI@0OR$!uykDLAR&+BtIuU+8x+bq7S-y!oDP+4^4IzHoW#J6R3xlyR1=?;-f%f!a#6Y)5RZNv($& zJXiC&{(Z>v?^oM_ME_!Ao5B-!@(;RY2{=C)m$M5WZ+%s5-vfvJ=gD49e(=`j9mAaW zt{^irUiDmb{%E&6{6Y9alyATuWZQ9j<)*&ARvxEl#tz?1odU(Iy_gIal z_XqtlTKga3h1;68emnn_FY>-BFq^24e%}Hda5$~cQjf)J!Hi%2 zD4%Aqp;I;-btkG({>WF_ccm|N%k98IGB50XJN8SdFK?4sQ~ zb^k?p26C$Zj!<)+dHc8BvVV7imoSEWd?+t*uWfp;W^MY-f_$^ONwz$^etCFtXg=KK zM?P--@$P@SGWmG_+pW2=oXOa~zgs>FOg^bK9`$<;INjm2|InLd;w$LcJQ`73)=$`` z8T>dkx2+C|{nT^t_t8k)DWmb4-|d#CKY$F-R$lz!c=(WZLjQL~zg)q%yo~Yp0(6$s zDu*038~ez+Fk?;Ib~@U#s!XqKm;8_RtU4BJKVW?aYEMq|J?-P;UHfR7W#SM2kg~co z;Pm^6z-Y1S)N`2FW>ufoj-#a-iq}l4j(RUZ*-AiS;5xq$9I6B^D=+{MMyr{@xIs6V`Xcb^-ztM03==Dx`Rbi{M(*@Kqh8^fu1#*dFj_AIqrSk|BGTpwT4NgIyS zi*ot_-VcE{jUH^9pCQd%McK7hxY{tW7e4v$_T{aMo99QHBX##Osn%}>9~qwnZaFWi z-#YbKJ;1&5HAOR5W8?4J+y>!Gjhb=a8 za&w-2S(W>MK3>ON2Hy9%IJ#MRAwJ~}hHt8AKRUnYn&0G5kGu}J#^v|zoP3+LRsFvB zVWXp6QaHqji1rFf>vU-7PifVMd*nJG_Y_xlvG4J6kKFI*ujd`J738J`{8kaSE$jmY z`2aHPW0&;JK=pw)$k-{T=$fAT;e0JzH&j=NeR4uqsb#5c>ycLiGl{b3_d9_74rgVzAQeyN3i*`Dr$l?_ ziI>ZWXMP9|n~t1ADCS|HrCUjUA^O9VcWFyeU2w;pU#Z)Ha2jNqb-zM<+=*@%72kC(?K(z zGSVgAu&X_`M~(u!p6cdKIPcSV#s#qR*Y(XB2Y+R-vQ*Y1PTL;*}GvBk` zB%FC_kGvOX>~U>~j}pE=0$k>BDzm_Qy4ZK6!i*mj#HVBW&1v&H5YPD|dwS$f;2}p> z$2@#fabE%E9exn`eTDWQOnvpF!qt8Uy`9STK1~~+2fG);R|Sx7n6uRe^!WE}TqZA| z?iX_h`DszzwcnO_r^LgDXD*zF9`@eAxT;&Og7+Sz9J0cFhiCW5OQ(3V+0oOs$-tY> zvuV>H)$xZCuDL3g9Y!v5|GuoNZL;6nYdiV(=ZULyRj1yTrX|A!&(6!U;bDWVJ-+e2 z1TU;J#f^_1c}b6a8Mx;BsNFPw(yGm)9~SzViv7ogb+x+qwm!)2SHPQqc}LfHAM&_| z4|Ngk{TZBAkki-`XL+bn-n94%Y$ksVUU5NGW*fJ;6yCLu@v~p&4dN?V&ys1d%b4-- z;hNgdn##I5&8=9x-)dWhZ`BU*hJ1-Pa1aG1wd2Ysh(t0A1q<(z`2mnkE!reyX92EON8e$!lU!=<)j6= z<}>+b)=A(_myeBgFLKWsXD-zn6S zq~8Jz@dK=@{oH#m>iM7X!C*aUj}9%{j-{ErvBumg>;5rqHx_)nARlMl8iEfDO`8|Z zrh8rDL~jeZ{Z9Bc$tv=|(~I~t?U$!2AF2*0FKWAc80z!d`Rz-wbwi^Zt2{Y}wz^Y4|du_Luxok30={=ozgstl!TE7939b9(r2!laUIuam>8* z=-AqNI9gky@o~bvr`959EPta%F2Aow zs*Z;4yP?qq4L>YeQx+YsB)J5p7g;YSA5ZH=f#Wb^i=8`?2(vb)j!$7=0CE?{ai1_+F}MHP?I( z%lKb8bM|`kc^T$zVE8BpdnkY)l=dPv%3-ik%?_ zqY`Q(!!yLuGZ>eZ$70WVs@Ve*fKEG=F{F;SZ`(?-q#=jH$Gq)bB_V35H`(XX-Js9Kc>9(=| z$1l&~#`z6R%XbaEg0_V`EiY#Q*Gxxkp>w|qPxtY5j?Gy$VS4Y%4-bYqW#|x^^_mh5 z`O571dHDda6w?;_{xGc02YBTo_Th?fVmsJMGUayLr z#rZ+`-bikbb>x#!h+`A?wn zd^bKB%PX9<`}k9eatin{WQ@%VtW|TonG@;Z{J5s`K7>EiDXmpF_L>J7^T2({eBk{l z{1|s+!Eau`cCpd&LE^`Y?#MTtUVYUzU9CM%@Sf{hdn4tMxBg~cz6IR)f~eipU&q4v z*g-#obBT-6;ieD27@o3M#z^-nV8Nw@UJ9rCpT@<=;pzB+`ppY25Z<(JlGNmoscR_@ zaM`7aeq7)TGKI%A9k_o5CSBZN{06UVK>s@J1>zU$ zr&nwLHO?x68;f!y_8r&Hb;;||5wI^)>9p=Fr?vf;Z_3LBZ{>c@3tfH1zFz{a>~PA< z77E#T=A=&}cwVSFl&SN{5mq#6a9n1Rx_HE<;e}^g0q%2(-Wr@zo68CLXM&mqWIw7Ok_{@;O zbPta_JcitugpHKg5iFyz~2mj+Ib=H+=n z`7$?t;k%i5-A{AIpkdHSr=vhVt*zJ_l1BX}n_m+z-1PDjksWKZqh@uA>Y)97>{j?R zP;+I|Hg1G_X+JE~@fT%aI`QVI`YEVzCR(+7!K&wK%Om)DQNB*w9A3%ETbbjm>x-nW zyEkRD4D+|+10Ps%W!PSn?JKm`0`f#d{Xg}=XVE`ni{Qr%hC9{2B=<}q#82s!?#RnC zfXYjv_SQPhh36K2SZGfe-)Xj0Eaqqa8f|_rk+Ub#9#=HqBkBhTSaA7*)9>#BcRHNS z*Y0e51DV955z8bK-C^0vve~G5oIJadS6RJIR@{d}re*)RpAVlXXE$x$Ptf5mcO|jx)#obb7~RV zd;dBw2O|15W*Cp$A)Zf-cU$XL_h&x-)x5kAc*K>Jw$SfufklV2@(*U?7qDygXapnZ z)>`k{*4&-L@ID5-n>8xb&oR&M&C5H0OKVa4>3G7fVUReXZY~`svTJDBJDV>J`sQF{ z!((fSC--LI9PhL?!oCAOzL7D}X0x;j8ThU&i`Q^&FFu%;{|)TFqSgQU-Sz#vT#~@) z_YhEVIK4};!dY?_erdpHw$ae|=x6-=Y+ZgBJICamThjq!V>KP?TGZRE%~u_>&7aV> zK+~1QctCFoAFkOMe&n+EAx%iP^bXpO@X0cKxJ;XJZ!Mf>C-N7w7VWjd5^Km_R4dC8(rC~AJh2g+<)Hm=I(5w%v9&Pro87?BE?B;O1X- zZ6@~pK5*AK+!$*M`=yQSjYG+{2AZY^$;no~LzZ4yfNp z_+M0i`hhxmkDRX>2Y<#wT9A%BIRprD;pKEp6&zPvFolviwd;$Kv zf8Etd+wuQ~{oi)^e_>3h{VQWheVO|08Eotj?mpMU`_=1Y!@UVzf}P*4=lr(J`RzK{ zaojttk?u?iA%HCvJ_R>DybV-L2zFRzb(CG)v z1_Hf?`mdA))a*@xtyjJVJnHhH+*vq{^J8Gi#XE`fb?9w{)`mz2lZvDDB|o2D z?7w!ZU@Mun)#AQh30PBhzbesIRrVqtK1((Z`7h^yRqn|BYOj19xWUn}@q>Jy5f-*P zd%;My&s-y}Ey%UV2AqW~4=l#EwxPV@k8_(ZtDK9tv!jePN9#X%5PNrE_p1~2XC3wN zRz}*zw;LXB^vWf`)otm~^Llt251c_-n-ezix?WjyX>>lJb6EU&@vdzv_yO_K*c_pp zZaxHO7Uayi$p3uBeA2XRQoVN6vdvuGD<1-?^{74c4m);s#TD*XER>MpvCHw|nD4wp z`1NTf{8<@o=H^6q9kS7UXU=nOl|JM0c-9``pWV%Sjoi_oj@T-PG^`KfJ}{h?x%Q@B zc^RG%79lEdkofL01`Z5jGh_vu7)xUP9L5B18{>wBf<(ev@v{*=2_Z?(nu z_S>cl7|65-v-W1TU3D;^uPU5XZ=B;~=FF2(jr|`WV z-nO3k(Dr8RtNY~D@XueH8stH$Ubz;y=C!RcrQf#$`yEcl6lV>Y z_zF5Qk47-qsXnOd;i)z2tcde8JJD!BRM#1EeXCM&DHQ!|hG& z!|d+rt=EfnOqD*sJE*`|BdU+BiJYZ-_*Ly$zLb|Q(T={pHIsL%er{j3elA?Yz4^Y6 z`5wviZoiWHc6veY-|F^9@GGG5x~OjIUjUw`=WROHN`AQV+bq1bNjiR5W;>&+=@<^@ z$trfYWjEikQ;YO#TE?;Cz4Aujh%2M+qqryP{ z$PB=;qcg@C{2cXdV2e>LrNT}23T>q4oi&)X@zHRc*FW7Whk(ZGTjN~6KL}JEPVa-S zV6%aaCC9wU44=d2TSNU(mc*wStm~9@cd7qDZ9Up=m9=>JGrjViJK+m1U)yVL6dxa4 z*DKed3*7jC`JLBOfmoj%Twjpum-^+Td$%obncvjhSRbivm|8z>`PPe4r~I3dsW-zj zH&2^)#K=Pqvz+UCaU*1T**mfuRgTao3r9v`i1d17Bks@GJ# z3H-M7m0o!{@ZeRg{z&0ooR=39|GC63EQD{E`*9M!)SAxjVpW;j%AX;NTR(X^dsip- z@8+%kb7x7%==|5&bA6*%Zn`?jYw-W-;X_?EdO75hNHnl{DFlxwAwHWr*Yl`+?j}{-!HhId78lKcN4fVfz$6F0d$o7Ul;S$fxqA6d1><>;1NLmH(G6=-_Ke^?~}mk z_fNlz{OfR9E_i1OKZP$m)|`tM@PmyVRf?9TLx1S!YwvR(XYW@JH9|38*YTov(9G^; zy=-BRyoEjTmgC;t?tuyFt^U#PzXg_EzQoh-9{~3`oVN2qe>T2RG@5NRH2%^+D!;JYc7LXs zw4Ja2h`lpVi_67YS;23Yk5{@G`0yPT&VA!|SkTx182veryS7zV{hkCKiu2Juvg&uy z8-u?9Sa4xibjuas3xsRkQ{h?``X@zG@$8ZP{OzoApR*nc`~28XX=7loE2GK~OYqld zkL`ztb`Je*b`G}AKiVt53d}k>%0pRm+}(pQFFfn+!7=W?KME`)X{C|Mvd14zoQ4`3Nxe#;Ct`UZF49XUG!rFK4J~7oUn}eSoY>xY`%^;n6#%^VnvM zYhJ6BVRVP;nzwVWfpe&OINFovOjgEq1*rp#>sn(}zuyL2=5T6nHOF~aV+-dyCtLis zaOKY{n`GRhHHwTj5Ns7JV(0aaZ!+&-B+s3fvW#$EGXnp^&c3d7v9W|K*Z>w?{!h)z zQ=xy(5@nb>nYCbtjCpZJxAOK-utkzSCYnl+pVFM!UXb?z)tOd3_4`raJcqNnU9@;9 zJoC?|5uVcxa#n>*cG#U$v3EI%e1JJem;Ckn4&XM2(>CMIWD2i7BqDjzrxTR%k8-@! zbP}c2YiB_|3S9E0R=vvX0bc`baX5Q(4x0?dT^{*56|Vb&IqK)rGX9droB#R;LO&&; zMh)5J7m=khXUk^N4MQ`ZkuJc8$+lpZ zj4ZC7$3JGRG)1HHi}#+c?V|rtbo{*!ci36Fdv836vk6Q3EL`S(cTbcT|F#Ek=cmXG zYS&k<7UT^;`3Bbx=(IC%8t0S1Bd)#dy#Tev>a+B1VFUPci}q>7{uv@Zy6PBK z8L$!S+iTipI$ma9SdjaHYg~D4-9;zt;ls8t-I%2f-~%UdkME?z?9~=G&2MaOP=9~c z8@8^feCWw(n%@|*z-7Qg$^1A6@bQWKtc$|$#9Uazb|oB>$o(%b$oGLue=F(>t6LiH z*1<53mfmyp6@Bsw`1EjalC#TbCVBHR_0eC}o_MYOsFkmRoo@r*YQU~Hx5kQo55A83 z5e}zw5_wc@VpC!ICJJ;^w)JU6b*cyFb59Qa!Y|Xt1>&OH4Ety`UKh<9?W@VF3+w~2 z&wPt3A95bDgzEYJKMB)uud+)O z^m)u-)=1gEK9g38{z>?oUE!RAH2I7)K>?pp547tigH7lm4y~eJ%havFC(%jETaclF z@f)MQpf4-nhtVSrG*kx;zxCp{c^Hm2WbYdb@)_V(N5kr@@*A>TB`cgU;HSB~TP`R5 zc4XSFj5N`C;iCCTa6Yj!>a{ALGM>?zgTY04xu{W+C+$aut_(@xcr<=>oEi^i&Hdei z90e}Kj~o<;B=ccCjb(!_05+ z9<#BDc>yGhmmYa{LH-iB&(V2NL0-fjWZMdNeiqm-&apnCZ};Pw{m^kF%;-fCEz^-( z3i2?p^LL^;A>(ad3GcYBW53kjV9X(R`tbtw(RMGVZjn|^Y1NJtS_94_!K-# z$Fv_FuLF@EjkWc;*}6S#lhQ{Eaxrj^%NLw}9|rD7;Pm@Lz%34^{DU<*6VLjbqM`9C z@N;M+^RqRBKE$qO5i8>+*=Op`w5-Q&XN?AS-sI+fPAbfMwI%Yy!nFwhzE#GwyQ5}( z!FL6Hpu*IqF=0%nL7yM!5aO(!5wP}V7vizq7dCs2|9}HPpZFQp!#F**k9-Q6kt+CJ34#14dXLFu?2lrx`lkUwkKTc5M ze#;(oHTv3OO><$+{y#l;SfhMyFQapR>PrQAK2V)?V?gZt*T0M`;BeahtXCSZ4PS=; zaVJO5{haN;PcN1ea71-THKkB8?c*TgKc8eSY@qxw&bJbYE=) zg0gCR9=X3Dp8)RvUDuw-SLmqHc;?vxauH$bFDf05J8%nJ`#LmSnS z&aq{*SJ4iUy)JjL%dGQd&pds zKX7wgcKW!19{hib*Rp5OY4sEO(ua|?fF+mr8wTVJ@RbHOT~{u2%gY(F!*lGT8!EFG zQ}K;fbQV|oG3y$z>zz>_JfkSjU@nhAZ!`3Up*MgmsCsfgZkC>W>ZkBK;08xev|V_s z!^dyS$u^b0*faWJrmwDY&R#*ro+vhH?r>iH7rvJsMV@lBN4w$Md09t&^~~vr7anN8 z9*#Z1*ofD@TmBh)lz{rYE2^`esV#A)wlJCsvpod9&Ulfjne^PHbjG{;WLLgVs*aBF zNX`>Hd{9F#Hivx19)bES+x&Afi@l|Ho{Ut_MYeb{zDIT^-qK^;ozwlW&I#rQV^ff? zWPo#ap!9AxZ)oF8JZUvuR@l=D@-*<9p+5-y0`YY0`?TFU;l^L+a|mBUjH?|L-jAQ~ zY*r)LT-#@6xKHjX_esN*GaB1I-sH(@Y`0Y-Y3n|CmP}{zR$~9=eVc59KI7O(pZqiM zh|6E&fmd1C4>Ng^IwkMpX&vTASyMLk$<*&9+Pd1G#%tX&@b+fk!Pc97O7qffeR2r6 z$6V37xbJ8Esd~1AHkQ~AF%Jh1yL)4dQ^xVPfi1ru z^|8tbjrA$K`9eA#-_L9LLNYlk+xA2I`^fG-`2=vMqpv)%!ab4{p1Io4IZK~sg`d_f zrxCuLa6Mb~)4P3u<|$9^lQCfGJ#O5h7v=j)KqZ0G@3);xKRcYw(J)>cUdIM&g7SzI z9Svjs)H7B;-)QYzjBSf-EaIn~F}9_`8H0De5Z;{`T=gF0;$G~kF6xs=@R^y0q4CpF+Qr?RrBxx_pDCku3DQ% zw*;N#7x&3&m-We~935!u_fvo)4yXPgnAhv(23T|Z)8WP|isI9Xe0oJEh!Eztir!*g z!?a$m8~(%9BJ_O&#&}h8^yn)`=$YT6MXgz*8S~EyhFQyohtGAp|9^y`tgJH z9kTx3q2>-96O7MLr?mmSJ+{v1-XDqR+Wm}sx%ak+PhQ8{B0cqLdPHr*=CysY0?hwG zYo2vq*C)Ne%?X@-UjWQFoc7~Fuf@H+g3&whvc2M-KJLSAkha2b_Lyyq8xZGb>-z$CE^g?PU;eE= zdC=uUSPEzDoQ}JyjdO;)q4ivR3v>5IWSRH3`dPo90$k>B>fa1G%HA4cPn-%jzB7=b zWp5Sk!`Hid0*LrU@T|N%i#B;WW4b`U7VZu0qTABT=1IPS&-j%Grz;7HsR3ZHG41M`M1+c*Pb$?+4f3 zjw}J(o<)XpX>3hCC5_iIk&oUV_UQy$dt@uN4jUHB&2_b* zsgi5kvhGdO@`1MP_m~qX*@h$c@(l+pnDUz=X(&z3zj?IS;_sI`|8)CX*-|IfoC;J^PqN(xP@a6{) zxsE>QLPlHkXtmY=_zU#@5twr{GtOQ7ILULDv5&Gp1I9n->d!Wc@3#OYhtqcF97pB% zR2XkDZemRwnp2qzzvCV~>qC7*AbOEl+ot|U$Rog_qp#zAiS=&*xfdR&VQ&NOj>E;i zzYgwJhf|)p!affDmgtBJ}dm%OOjpXsYjt3VyLkn=FgHCk8(qtWi*YTHa&F znVZ0+x3=0yzc2nI?dEXWmn#DnuMIznpCja~(i}XzF~S;z{**I&pQhP)vX92DV@mV2 zJB^In&`y_k;nBScx>uRwUHJXz1uI*zRqvBe0=W;h%9VxFIDZB__Kq-~?MUFScG&!Hx3zAL}-oh5AL7t}9e z-ulgt6O_B8e26=3dOySQt8?)2-{4KMYEk<3VV@S^HIE~o@00HX_qjZ@pD2%y5BJ#Y zd)VhVpDUVPz6iepuKBQQWB3E}GL4ro9&u~QxXcYppTz5Y0`DBtF2ihX|(+#_*5G$G&L z0q%D=U2htkN29w-g;~Gkn4g6-Ejx4K?Mq~BKkvxDK{K2U%-u5M9ess&_cEL-k*&n& z&K~q~qsWXKWgY95?zUC`dqgY9??m>e;k{Vh53?7BH>>@p-hWV^tEU6wA8oaZet!xm z#W-Y-C|x>CEPY#iZ5QIJy=f}G`srmX50Jm|e?R{O|8Hu&wC~3LsZWjqSG)4)yoZLq z$r8RZ$sKDiPQcq=qldybr3Y;kgtV3)M3(qI^>egT4yv3YK0dVdJ5|iqkDk!BE(Ka5 z+InjNIcP`b8=%Rxw)7}#7O?XVqqa4f>lNbTt*pVXNm8aVUXm-ydw~5ey^eS72M_Q0 zg|9hFYo$@^!5#v*!_iQ`DJz?0V}t!RvQQp7T|Z86phphiTV_WvCg!!+Mq=20i|dQ> zu?E39vRT+XO;txLye&ymVYEbph2e>KiuM86LKl>|<|9|g9=ICvF#rSX!+ zX&Yt5RXlY_<+laj{M4&V{qvmTY5TO5QP)%2M}6M-bqZ~=H%Ujcoj>SUm^q^;=by=V zXsbg$1D_Gs)`N8106(>_p2OE5Jg|SF<$F!@tMiuOPl5CP*!3-KhRt;fZ*oH#Z+j?w zD-S*#zJsPTkDOhU&jAm`G#N{((`PMDhv|7cVX?kHD~=ew??H3k(KH)2wcYGahbeD^ zrk(@&`6cdv&BuOmx9ELA5NkSPPh{bos_iby3^4VvsGYQbjeqjqrx%vk%_D=IS-68fC%c1PISZvI_uqf{W4t(5=0kQATfSYnS^@oNoMtyyj zDTAGlqRY|!gQjhZYdjDc(4!j^I&@EO_m+!sSD^+nt_k#E`XyLGN&bK>Fe3-UnyK6jC zc|T)vk+`L+88ePXyxyk6VwvnY{qh`Sv4EVdLx3v$9WzcN}N0 zV=V+$98Jor-ya6sd!{IJF;3?{a>o9Ci`y3V1l~be!8a#*y3NGdKpZ{yOwowO zPbxpf&mrHDXR>To?t8JNHn|S}=Lg$-YJ_9O+B(BW`f2)>8t;xTZ(H>5)9UzH{8&+* z^6{eFcHFf&JdU|9bJP*Nt@;5=#Zlj8#2F-x-LJ}s6P+u}>wOs;3mJMlHNNo}3#|hqb z&~};nEBXf5eMh2Q7$e#*sW7c4VS0Y*hh?3g`us)nt9_v;zYi?N`H6kM=8HwSJAu>h z;BL+z94;EWnfRqbnuf|M+?(?A3)bWF;kap&>&3*IM$NA>FaM?}JO3nV2h%I6J_G-V zURba*FFVl>#P1oq`{O5Q@3qcKLtd6;r-zN=zwnkX&~#`WAkdh1a&tz?*z<$lk|lx;x^gdxr-tK2($+0k_7qnNQ#a-joglABCCy zCu1lTXPGlC;*5~K#2hOUCl8NPTV_A5y%Ta*|5U6Wu`|Wh-+#9GAN0%nfYP5uZJ~ac zmvS=7x-iH(?(Feqym&T-r|sRCCc~FAwKZ((HEb=vv*>eQHP$ajTp9Enc!m1;cpH1X z5y-taKg`An{Fb}I&7?g_IJUT7$66Wrd!Jv|jQqFiJ(^&vWN9(X$H*M}mInIx%4S)9 zdcRzGVZU7ZDK}=szW){6c@C#@i!>Uq4R3NFy7&w_L76ogT|9O)YKt6Mzl8GS_+|a_ zG~jMWpLW*oR|3Zz&V1<(WaH64`ZPk{0r6YmX0c%Xw|(`uECch+UDkIump3kMnCH}> z?rwkS7?Rg;?g&i%dDJ%g-Uu>^`ac?|=>2c@cwU@X#*SahVhq`udDg0H=KOKq=>BBC z-0t$xx>va`;^D)6_y%cNmq0sf9Xz$bx%B$>bLpw@%_FVXv9I;ZXBYZq@26XRuHT>h zI(KRvPWyc6WQ&)=&z+Q_VRsnl@74>E+JIqyH}C70zX2X{w8885fI7?}Ii9XQQ^h-7p>2TL2iHPP=;&Fz z^HAN+-fOFjvR_`8@Iar`b=sOqyBz5lkmJDeU%0Wvnz=;#5T^J)1@4Q(#J*3@4agl1 zr+v#lQ{%PaKbM!!L8Az*@cvI$o#kRZngfykHj9tg8*$Z9spkje zExiL$`OB~#f%b*Af65adcED%on`)0I{LJ=nq;_qi$so$t)+pX+S{_{-nP1-=uD7&{ zCNnRgJFASzk;e?kFP+0VRFwA)m6-|4XM}||Ya?p2Hb2-jn>BI`dC=t326%gWK&C$H z`a<`D_?AfFb)TSi7u;F#!}Q(&d&Dx~;d^w*V_uwy$F%e-JG*5k`{K>aYv+s1#s_lF zv1bm*r-9pCnVy=Hr-E0XE`C^R&$h}QIJUJ%uQfd&Gr;bqt1J34zV89HI9wSz3&=vq zT?Oi+d^QzF<$q)*<)uDNH|NZs-~ztY=I|v(y!?c_ea^h}_T{PXH|OQer15=-S^Lmt z%P$&`?iUZp-LA|D9_fd*@krAA066_~t@`Wte*z_k)44?+nRxnY(WB9#&$yYRJuVxN z&jGhMdcwE?uX{|ze*w6`h3T0BVf}=utz|0Qc=$kyrup$Xj4jW6cr(Ow_xotqHan#Z zeTbXWswZj;p||3lfhsn3@LAq?ZH9A#F}^~1m)H}d+cF#cN=Zsr49L@g+FeoGUCbRb z!k@mskN4WRa}%XW#nU=K%g5V(__*B^u(=q@T%)q>-Yl6*b>;x_UAqq_eQ$4r%)DYi zJ^+;es@1Rh{X<~Il~-l7g%WGaIvGYct9~6)aZG+-ERaurj(2Q5xs=YaITYXDzGt@hRL?Z71tXS$D& zU!=lp9AkUs(Xn~&z3)2q?g7~g9C37`v_3xcX{mmbxZ^O<^4G6z(j*GmTn|Fo$=#@kE^V5xiXhm zS!Z0hrS*KltwB%QdiJ{m@-XnuFGOu^a{&FMhY!~Yfm;$d{eA*)gTrY%vW5<_*4jGDdYg))?ZEg>(TnDUpLY=YK&!d4T-OHi zcO(m>)?3$iCwkw-#mnkXM>~q6{W`u(I|EnVo#s;Ul zN8^nJd1GT(USA!e|2faVu2cPC`tj_}>RsH`Z&FEqR-PYYHwrxDXo1)79{>vu7mbfh zJTl$5N5gDPm-^%)WIcR##2Sh~Z9yvRCk}__n8`MmpA5*oz|@!A9MZF2Wd8*{`{fMW z3lD~R!aIk{+-I#j?*nOBQ0qAMvjN!!tT@`LAEUj}c(HgdCGNb78|~{feH-3v|FAqu+DBly+sm^`Q#(G)5G>pErO#kWG!if0sg3Vpn zMr>5ui22wTlCF!v<0ZLIGvBn71)sFbt-WyQ%{W{W({FzVlSP?q6xqiQu>SSS$aH+S zzNY0q;acjgVLFcF)zlFf`$|+#Q2Kp2kaIZW6`@^NW*GYywI}mw8LyovM1F@_XN<{t zUwX};Tm;8EZm_OH)*T#J)I3X94azp4mdI1T&j$87oUPg27B7XT3_cB4 zCp-V1=pJ|N=JVjxx4jpK4b?>J-qw-d7?jukCT;RJtv1o`L%@T{@^Q|XiQmr|yGO&$ z*x`NLb6AdU;oFS0KDc&}_ihKJp2$zXUvb@_T+#9XG=NVx027&`)nV zEF-?2HxS?SBR(zV*OlQ^zM*e7{3$NC`*zbZ)(#KK)xfd8b!{#7eGRyq6FB{zQAptQ z`$3@QaGF2%YAL+=$`0R7&S4XkqNVE??}KSM+VVC1-PTkYL%Zrx;ntds(_lOAp0W;a z=MARqtUcQwZoe@Q&o?L2CFHir-yf7`0aN$3>aX7~0d_lFG~YAv%y*xLKi{pL-!mvz z0XHRS!n0}~KIHw`XQET@8Kw{gimHIGK1zCo~$Ppq6_ zf9kz8_9g3%htdUENsxgHb)=7BpL4d%ei=XF_fXG;RzIe2W%QOyk716a;|HU?=!ech zr+uo#FTvF`XY!8qipXZHS&KVM@?+r2L|!ReG-iB!LUyhj?G%qE4_$*#Ey;FZK9NTX zr+H+=jn6$QE&Yk@*@M&C&o69m)4qSzu{!qblAI6R_IIu=wcg02DLlLjyj1bop9&MB z(LGg?8AnIQ0lZ6Tx8Zl@P;Pm^qfbked*%$QQ#RiMp7N)*32^%IXUtOOLSH83q=G&H!@vCyG zOz}MsW|fxP#?zs&{4>>({0Xq}8?OA6YlZ%2Jx+&-{D8Q*=app9)x-AI^z(xHD+%w< zrsAk9wi->f?IKL=y#4&l*To@c#Y4H*I!Ctk@MPA*lUNVOnAclU>*3;+CHWapywBB@ zaW%I`(s=Egr&^fC?|5ZNR^s+iSs)CP{pTCKws5@%L-%I)V#ztz5Le(mJnp7edcrR?cEA-X+aHEy-v8tR&T_ZlS%*+0I@jes4j??Cf$$ zJ`OA<+hPA%8F+1nGZ>>8VH@#3uyPvw>~!{_XRwz!le(ToU3aDE1Y2_0Nu4e0>#g(e z^1zQ!FT;|(Wszjo)46u%kO@r=Bj!J4aY`4p<* z-G*f^j@`%E7oF(byBqu+F2GkK<%EysAPkEYHalIwx;x1zR)e7O&> zPcYjyFWh{&(?-#o^)=VmV;2s|G;q74Lx6sN0C;Btr{6t$hvXWE)3pk{P$r%|LW+jQ zhbQ^@MQ;QzMji{M!gA>y74$IZV`L7Sp2lY8%ocd)NizP7A$bw7>wd>`(AD`kolB%I zlfFdyBI)y_&t;@HKik1pwdt|ELz@BkH)l)#hrM@!kF%)y$Ip}dWs_{ONjA488(K(H z+7Lp(0xhJaK!E}w1gVJT(xgoxO_p?9%0&qUq#&1A0n6pZSWzp2#=afm7L6Qj=`hqW$D;ZZ_K(g@9=Zu}NJ4S7idEi*rI%$jSZj4B#_Rr6_(Ukf0=PK5kA3G(Y?$bm)R`Khk(Vr|e`NJ*_++vtybakioP z1o|;#{Dt+W;f&P+t`9zA6_mS#JXY~N;`x{p%)^|Z0e#{a_dViAvgnb}@fd%P!&_L8 zHLybznE|(oq=b&q@XK8K01*0KX;MGcqhpdBJ_kfVbartpCH6|YVo=HR8ld3Nu?`E+Q z5!9#VIK9?qA!h(%nl{VXUGv=d>J-?@m`|1POB-o$`O9-!#}MA;3%YE24Chh>AUvw; zn)@r(3icUKBL3kBe@}!45q~cQ+@NtncTbCr$NB{4!9j!V&mtduM#0RBYi&Y|i+HOJ zYhfi=?<&E1SV>=D7%UX+x$%Wuy7|RiD*B5mBabB`N0W)S^3m6=TG_Y4+_$1@*<2s} zFXz%jfEzR&t`F>!yYVr?a`|I~HST*v>~6T$#`0hT4eO_Q^;x`j$G2x&xqQO*)cWY@ zK+$e?!j{=9&;wpo<(-y9(?+oNyRDpB4ZmW%CF;c-L%htYS_hxm*}%l{C(rgAgtI-k zYiK|FgVBJ)JtTvva8uo9gjBevRJcf==5w?g;H($`);ORBz}|He`HyKcBJXK>SH2%oj%yq+n5vNw<#j$ zm*b2lqFn{@=$n9DI-kfpe=n`fqh~cvl{+RLI!(VpL(G4n&j@>TeV#D0U)E(U>gbS| zbs4ZYl;nHuA+SLMShP#=PV`^g$u;m&ek*%heR|y%=Q+BLhJLaN{bM!c$;Hr5)?nUz z33QZ8skSw(^MO*MTNj^?=Zj$NO?#-iqz&bm9$TAae@mmUL ziy8H3w@q>+=lH=7^Qh({@JGi#80)%_9T6Ky%~}P z|GKTL^(kcH^%|PIvyFGSkVee6xL}`d3hw7l!C4t+?~SI}=<(5i0dCM~>N8wO*Yp$Z z6f)l19JK@K>TBZ6b}p6oxlge$zee+Xl<4!3_iw6VgYQ++Ka9_JWb zG(@?w-0ATiFY?BAxy<~D`tFnW*t~up)dS|}GO_Gy##wi?OVdx(4bA{Z@D|E9iUs&7BsL|Vc^AhHy>^4g*18refW8_b#Y#@ zQJyrD`F7fcXgtVA1AwROv>`uC{KRi3!UhOrmbL>T%VOKh6yp)@wnAUZM>yOE3~~>a z=a_TJTjiq>z@j%5@3>FkOoNFx^$(dRANjBc@7pX-V%}TW6g`t9^MkWTyLj&x;~vIbUdtRi4Dz$qM>}*H2p9{;VQvFF zpu=%q#&O=l#2*gb8EI75*K&+BL|Oa984ppH7TbSq#ydw&xhX~mQO}sakIwed(xcJ; z-?sC@jTiHjCdY0`BbVKp=b?EaFZT9bcJo`=U-b6|oXMQ$qYd^nnp0@lz)M|%*XM2P z_(Bh}wOet%)q}kYoXbbMEpCe5hLnBD7MATj%op#w4(EoQ`WWYH>|`I6F7(m)?`Ziz z;=2~O1sW&XCg=d?!q?;6qd`NonWhA^bF>NG!^PPzVOt;LTkR=6S_1IC8%-}3j>B9J z*sJq^yz=)?0XsF0^99;2Jo5|bvX1Pc!*OEdL#%tx*Osqkowc6oqm0wg|8-tDF8FQY zqvgdqFTy_rSf}IU<6VLg$ROxY+`mo#$h}!53%O1jPxny|!1JEw5swXchtq|}+athT z4j9wv37)`iwuu+_x#itmla6RJXiLz)l>8%VI1}{*Sg7;Bbg>U+;$?e_$`-3Bg_=T` zGt`TDNGpmnv0Z|l|`2QJeRWdOY?go z+e~7f1zVHNI2()pR#X>#3tP$yL-#PxwM}M=mdEtIgy2N$no^(15$otBknbgs?zx-4hVNBw|SI}OxHqk)f% z+mJy8nBUmP?a_;%tM~cn9y^T?baewSc@;SmFY*wxzGLX0T;AG{kIn*I{()}akR#jD z_XCf&ToC_*RX%FeG`L>JQ{DJdyeGa3>&2k&MgR9;zL?g`=dy6O(#VIEn?SkSvxYg3 zbh(eJ0S{>U+%H&Gf~TgRoXrPQ3XHTK04!?UWlXx3CxJZM z(`v0VGw94vHl2zw5N{}qinsYR@5LSs=11UdVV$u@V~qD=?y)Tiwsw7VE@1YDx_qoJ z1M1lhujz-fvmf-C*#6kFV1LL@5vCdQv6yr)Hkh=(oIzhkye}Zme9*5%JhlsDhKtPQ zd3~Da^x}^H@v-mt^L%;NDMUZ=QSp5khg2D@ov`CLzL37vaTd;QpNg~FVvek=lz^t9 z&GkR<5cFxlu;!1DACR2}-YQPSTnKg@kthD+xTC-H(UdKi<9?)h%i|yH@R)d($-t*! z{$~1Fd9d%eQSA`&&Qz@+FX#{a3gZ@_ThkYLgN|?D<@f}hSgmjB^?%M|;0Yfc1sHPB zz+HF)?~qA0S!9lV@xsZwrRe*=@zD%G;A6!Tk!LqPLdVr^xqZnq-nCEr=u|*Z(-LF1 zyvuL;X?i*z!-%&Rut~>N`7rUae9?O+%(LJ#KKc=0w~njRZHB!r!%xN+>sPH@bFuU% zrdj)(kG=yK`b4)CK63=%verWfaQXAxR{29$j2(sq&AHD*{%g8iPK4*Q9QeuickCSJ=M>-Y>h9(uv&nsE=Z z-f1^c+L-cDc}E_VV|*yD_fq+0VTCh{su1!Z_?nNt2Dsdj9=|o_#EZUw^^s_wfIjm# zA3gsDWSu=O=G!J-$hmfXs!OIj_%`Me@Azok9(Nn;Fc^4C)O9w-r>yAuo!&!r^>d89 z@A>E#fKC6>eS*aIF5qsk;rP2`%ts-O<2H`A921YVd#352A^IrOb6=iI@`5hIEo6ST|yYuJ}hXXWS9vpP-Y>n`jO7gu(cV;ng2C-=1q+Jh%-2S(ff8>meE?g6@Pd>%}LZ{;js#15Oi_A|LgWA5&j#9 zQ>NqaSTW9a6}@i1`6)CX^s+#Y?+TmrZ0{?E_1P=V*TCoU>07h&>1v$@>-1=^VvY&@ z%JjD~Qz)|zwk~ZaaxAt6mRl*O#?bdR`P#Q zKD`FGT&FGS6!t9)ym%AfRjrFS-{~^T&wLG>nNRJ29hxr7%MrOIY5K{vN36ft*B&Ri z_bmEHQ$F1Yn4N5s6KESj10Q1#MDj$eQRZQd5@(DsHo_Kz<4okhx%qVD;(Xem=?hr~ zJ>I}u$KkD+5!l=aWzZ~)=hN$<&#>*PR&EW7&tJ%=Er8vcmf#20G0?_>hM!y~#Caj; zRC!H!%Uh3k6P;b*Hq#N~+@rv|@9D%_b1~A6oNHo!Q+qzG06dVQ_|13p$1xAxg*TqW zJQQ~i#EI@W`G+c|U;`ubte7c!f0 z7u((!#hC->JkGtdMqLksJ^A!kKzFJt1J^0)%fyRuB80sv@U$3pT3lz_uM#$Wvlut# z8+F<*61G0K76tv0lk~FwhgauQ$r`lPG?gwv{*426K^Bapk;|X+1)Y25W%+b0;8~qt z6vP!)y@QegTFEhJiSzJlm6ateD?}ZD|IOfkJ@z8%oOQtU9sX)QRbGL#BY8$y@O=p2 z0gYoFcRZCmNH-aJsLNmQ7vr2kOS~Pm5w@QrR{YQ|Mqp!Z#7EEKzVr7x3NX(ul;f#Q z_pjtTA~+X8Sg#1&kdHO3e7Y;$#?uh?apU?!F1h0Hx>!D44CvQ%IM1Nt!gHSmZ9ZRN z(h<6Rli0&mZB4CdV18bEQ$Bqeupq;hPs|I%nnz53=pn8+Bxu|T{B%u+^9edk+kqGB zwQLi`owj;+Rh~jtD+65Dqu=Q7$2wZDI1fsk^CU{&&l2w9R6-T-n_}D z#hIFq;1j-=0p@6&I`81Z^L^9~yd#VIS|%N}MQ&uj4d0LSevCGz>5H}j zdxZvG=+4dR>_$^&E0>4)+VB&MgMhbn{8HG`8^>MxU2OM&Z5qk;^alHzPqEeqCOXR_Wk1G?=E-bxqYY!dp3nFU{2Vrx9?Yk4kLEq_>=%L# z7t^0a_zuL`q2mbN!442`4m|fO(Biq2nU3x4M77%tK8ST!=l-Ewo6Mo`FZ1b)EwC+| zrSl0nX5vJ@afh`a>pLKGbD<05_Bl`L3;N)F|6}>|AmBbtpJ~Ow3weMw$;cTbE+cfr z$oFA6blAEis$P>!)4Cu-UsdTjRxD6fUeD*Xv;5fmHF7MS;LXmMyuyC+GJ`F>pJ z5Xj5JsKKCT)xp;HrffQR9qxTvRTR4@_|&_5un2(khPFx_GJzW50C zArU4GVc2eqNyjQorovanc{JP!KtlNA^n#uO`aPgKFItEEeQZ_%HQI3e-3pkkabj)^ z-DFpm2O%ZvhSIG+FoC#rx)%*P*SN{^D*P zbfxUNjA6Dg#AOt3xz=MnPu_iKWE_{f!B;?M13G-sa`X42`31DVhU4#R3JPeZ#)V`%VR@moitnLRW^~iIv}Bz2C?A3ltaN384boq|+7iH}E?I zUC{6o=ZVm^)0?7i3s~(QYR6cA9@Zz$!QNw5pSZa(tk(!9TFVn-Nj=6A+gT?%sDKUu z4CF`o#ozUSkPXM*Uj>}6aYCNso#|M3jKMA%5uF$Nbckb5Q=KVLuPds0oK`@cfYt(? zFJ9-&p#~S8M7Xa4ztA3bJS8rk!`=Xxsl#*L5I%V%m16pZus++I<)+6xh><68m#_~j zh7r9O`VGct!Wc~$qlc;rC=7T&r@teOb^!lv__rfmTFC1PBlfO0Bx3Bx9klIoR2f<|B#kQ)>#SR^z6@UhPAP8U8)%`}_DRk5sn@5u z-!y{mb%32Z&&>M}&K?pw2T2Nf5c;7fbh?>@5$yKCWHCmxcoR{5-sYS)}V1 z`5X6Aqlp*emK$&7K=*2L?{P_e5bw7)G| z3TQbXzu49WnqdRlz)PE>9-LdxBwth1=4ed)bb|Zwla@iOmrTG{qYumUoi-VwR z7V~1TtANf~UOU9B-zvQ7Zqh2P;D zyP$yH?=GNzm4>(ryj6sE-Ua6KIan7_=X1n3&-os>2sTjqF!q#2^UdGYfCV-je;>XQ za@~gG?;}H~e~shvjbw{(E<9wpi-wSWUXi{dJ;p=cnRyd(8a95!sN9+)bRO%PG`a>l zW)}E_@tV(*wW3%g=VDoC&$x#H-bU|Wpxs_lK&Jqb%A#fF@2dd2by-+%8iCA$?vPxc zF2XzfeM#iQ8|8ey&!ng1WGnNx@v;K?9iYRO7Jt73Sfp`6e#mexe5lYx!(yAvmY>Q- zONNWWg{=kZEeavK+EI2s=Mu}E#Ky(YH3jquV3$2#BN#6Yys%T)jPv~%FH6^pI{@L_ zpjYsn%iMo`0ev5E{*)+x`TJ2ogT`@N0q% z=`Z$c+1|bF&cZ0-?*{b8p<())G^EZBn;gwJ=U$IcdGlrL4+XRrP!xz= zHq+nC7xQQMj|F)11pUNLV;k(ovdlr>F#Y9RP1sQx)i&&z&gf3GXTYGQBj${fhUq8d zBKk`{+D3j;^sF<}8GEIGivI)|py|AmP4BErpx2sYQKcGLsU(e-ZjpgR}&-owtTLEnaG#?brKYt&$ z8*Mv+gB%&b`CAvB+&D2##t6&!df4wa(i3N<(VuN+rdyFM!Q1c~1$5ZknD5*3v8@nq zml=2-V`AXN`vKrxIe1sTN8RUAvRuju>{VmUwH*6v<(S`=*G1(?CGYd>g3jNJx0OC9 zpcBRmXxdc8BW{E6W1DBDpExtNRh>uYw^4=klI5X~3uq;vOVeSVY{MFkffqVu9pvJu zaTZ3{a^N>UvFF(owdKI|Sc^4-%!ESPW~V)lyJH4koXuRzw*cf@HK{6pdYzYP4JQ@S zYk+CfRC!BqZ)KOUp4b7~!g$}t3~O6Y6qH3DNiU>d09rLYuCGuT1q{4(JKpMRo<@bR z8>C7fj?RU#zL--;e*_F^I_0n}3tIqr+wk@?@?!dnzF`IAT8iTwD%x{1_B?%sbaH+n z)gK&f`}}<_piJZVeQfAL`5nC8pCfGJ@?CIOI5FnCX^J;=)?yER7>vbVymfTJcYh&$ z1{lz3vn@xgr)8k;vCc4T_^WgNW5ULh8dv_^_4vUl;42{Q5XB4DRZwQW-)#D+wt_Q4 zyvGPYdkmBp(kXx;9UogGoZOj@l(jZG#6gZAKh$c0f9>$V=#^dciguN25*Ph4mBsZSzNrHBAeU^*9SWj(I>(+|XR#OHw zL8ki9W__p^^DU0S!wTtFfHgYrd|v}{Fazt=Y|G5_mp0b$j$WU5-zLbl8I@O97et;3 zwyouUAfG*k?f1hA=@Yvmv!-k)H<5ishHRh@AeO^(X;|ggM zuuIcsS;F-Q-C5w__iV%uLovQnk1wSAG>&a0<9<)twp2(LXrtfs-&^0!DRQ&i^>Z6X-7dRA$QtPKZhVZest=f9#rk2L`+O{?S9^LPC7*$DP^Two;0&yRmuIsh zcZVG7NRjqk4&836Q-;c31sM{nKKJ3=-_Utzn}FG~be)2)BRpQRjLam{U!2G0y_leS zk9wke%VJ)dg?TBz!GyEVb;i6@j5%)m8`iQkT84J@1+=S-`ibvu#4PvnBwCJmDL7+~ zDu~G&(Vja|H%l@0)abTA;=3NWMvW8q-SE~d_M5!Bvc=tsB+RKeo+BLhg%R9^!}{-- zLD%vnVm^bl36UGw7dG@1(u06)Ivrl$*p*2xJm2L8p3gSA{DjUT?|O}`D5QCy=RGW1 z78j0f0EFb6-t<#;2%>vvD>G>2INlI~o``#b+P5#hcm8sankxL;w= zGHv6De!sd9Z#NWDur|sc{+@&1cJ$6`HZkE-`ZdFySWGZWUC9^8w}B|p|1{a7FKuNP+=hO@%a^IHQ~ z7SauCA^&y0#9TLzOuU#!+s+JW3xv$Op{vkF0DCnJ?l%}0U3gJ0H{M*|nXpXF9%|l} zNsBsgFB$E;aC>BZzn0rM=cn<;Lb?X9rcUvn!(og=0dt3uve#tJh*UN-w2-+BfQ1ujB%dBe%hAHqSvCiOts&Ht`7(u5p7fa zy#}yY^=#s;hg0a``gBUK6Jup7iY0X* z#Qo{*g>;XOFZ5@eamV;FZ1`F8(`o*A3eDY>O6hCunhfg8;M=5omHDyfcP1U?fB5b~ z`Vg?-NX37_JC6%5^+nh~ZiWrydW?~MVtqNN%Q`q%NIBm@pVxFme=i{uFW(o&+rl_Q zQjBpj(#u*&*w-9jg81XS1@3_^1sK&dId5niCf;IuRgkB1F&~H@?*WtkM%Y`)}8d5%W^FZYvPzYgnx>@zZw1HD8(l}+qFx*p@=jh@K$X(13s|H7P%PeirqHo)zA_~k-6ZwJ-^p|&fyi~d?niyz}*xf)8t%( z*UwNldhJ2XyPWG0%yZgZNR@zfI={>d#53`-&S0|$Y3Vw%^0DWLevN$}!`d+N7Eg`` zanB6vtII;!)Q)qAUuwo3EbMKHTLodca$iYUpNC8&tTl+c>sW7K8yeybWXQ+Se-_fQ zdkd-S*eH)(xEa|r12hf>jp7m5HUka2zGH?LdN11@5oOA!{Pi))B*wC+ykhN0pb~ zP=svF!Q5Bd{xrh~St`d7(Iz;r{V9GrGu2Q1nob}M^OF*sjV#4kjxv#NGmPcOd#uq0*@&Q&}TV|WqHBs%fpeaJn^_HHnvHN8>Zw2(3}9WoKJ zvCg^A(@^54>j678ZIq9{k1q97SmU_gK&HCz+-7#MjlX0v>4IQ~BT2tO^-I8Jw0K!kJQJ1X5YL_TLw zKj_%gD?SMCC0YmZ`JiFFlEik@$7EGR?7@jPx>mJSc12rt-c=F(F~qXflJ$6)hYlOT zo5|263b9U8xLIhEI2SJGp^`=pWOz2^Y*y`kg1ey1uhA3z6gbIGiyIWbc&&%$=_5Gn zX!yljcMP8Fr}cp8^P)WG@0x`;t760P_cFlSIxVEn-x~oV8pnJc_r=C z^b^>X&Rz@skn>l#7FdxX2=cI7CHXF&3^g;Anl}Ree?Ij11P_y$#QL^RD^Tjd3|~u zGHY8I=9N=$Zcm=6NUERaqHFmRp@#*?JBmc{7qhS1^r6N({q$QvtIika0XASvyxh;h zJA%+9#2CbyggzIHbQ-?xrVS@o{ zd`c5;}j`@ip}?*Ph9Ry-AQ1?L0|yySr)$GMH8ed;@xOfS62Pagxi?es#hS!CeF zoi(&m^A4WK(+|NvzDIA;vgG>4 zD4&JZ`k%V~2%($3{78KzjMSwx{PfxQDFfI1;byrD81- z^T{A5DaUZ0H{ncfGv1&<8A_T8!|ca-8hg-B7e9o#$0>>r+}6;hOuUdYeL15z^Xib1 za;*sG`NLEM`Dp`SlTJg(Zk&5J@G;gHhx5X!9D>hS*XxVgt*+hb zr@4SRr$*%lf8P%%(ztxQ35)f)G@N^I`4!+^<+z8kM{wT|>)T1#=Q3%^chYhRtBH}m z<$cmmm4H#52Df93<&3KWJQcx{`2GfPn>0@7laQ?=9=Bh13T2ODtpv1^Ft>Nn6MO%8 zWTtQBCh|S#R*!0vT(90|{Imuz?KH)ksVOvd9QWsN=AZRL)8AsbzlYCz;e4H%&oP~b z7yNVzV1uRu9DjcvaJj~D-JtLB`Qey;SnuHR&ZMQsJGowfdoD57K(r0P@XLOB74WuB zliLu>9|Nywiu2vAJN$GfAh5{Rw$VmSyyb^}iZj)Iv|-y`mgqmsgW8=~I{<9Zbb#aU zKEUM~$N53Obm5sd%`CSt9vXCX`8kdLSN!x3z_6w#-UIW3X12>u%(Lt9esW*rHM>aL zZ1@XgG$8+URc4W|G&1p0ZaHnFH@xbn5TMbFYv9eek#QZe1@{01-z;I59C~42n*0`X zgNQBg2yeZ+{q*J=(3kCLqAi(t>&i5`674GodWm@FL#HF;VeGRyfp`2g4^V%G;sxKc zA7>l=n3H0Cmha!DHD_QhltX4%asF{5+YmzK;E(Hw-t*HzfH6&vFvmxKrDoXTa`|C> zhy8ZJc5O_5ti@@6$O4uh!X`wlu!q5B55i6bt#X7dM%aAFhb)9mtH&CWk+zkdK}rIrX1`5B+q`N0`$_ z(!xC~e19FVMdO&}c$yn8bRX;+8#HY1D+*mJqme6!>j``x!P+PD6M5|a%uhcAG&JgR zqOX}aZkvdcfjC?))8CkTiIgO7-RD`joeZWH(W*4ODW}uqGKBJ7crm8d;|%En6Yo#X*EhrB=;D`q=yL3fh&O1k zClh&xMz8PiynHRof7 z)jzX{J^~Ec>DA*-nSqz%F>L)bV_!77Cn_Yd%)ea^L>)m6Hr5u=F9EZgb$=l7{cGR? z8pr(*{eZ(c@Z3gX&=CE;PuQamM%G-!IOe>cD%#xWmf*VrkpmnJxDL0`$6#F1YktVOp2Q+@8@@JRlskm#FYWbr1 z68#{$hG>?D`$YdGMf5Ge;JM{g$>A{$WkBa*yMcB;u|J0VqOTA0yHy;w;nE`d0brEl ziaoZq*kijMdu-Q12Cj4Xi?pq)NUV;A6B;9Bl{{=r=XqWT_vDav0n+C8Su`Ji_SGV~ z{0j6#@Ub7RSq||w;(EM|Xq2~j8uqxlvMC$wQoo$b{2NBzC-M_{YeM^<>7$wJKBB5M zAJf#XPw>uJVnRi8LPABol~7@QWZ7rYqD|QAgLPi?ksS1q49sU>A0sH{fM~a=TTx#; zAJo5j47aur_awXQkF+zUg|z|uyWbH%ZY%AG=WL7et&BR9f$@C_jk$T?#d>FN)BIh& zzK9mx3b_dW@}C?Z`7T)W+=QI>`_N{wCx`NAd!j1c#$2QAFS-k365xGJQ`NH>?h1st z29R-+N?V6h<DY8CE6sxKSQ~$xd~Q_yY0S07;rdTN`tyHY zM5hDhsQPcm@9O~P>-J!aSM_4*uGC-)`_;mZLG3-)4i(W7<#A{p`VT5rrQwqTj_UzmP>n-bGu&`5essZD(}C zvW>;S$JyT%Z@NVE9K0R!s%k4-7F{->S16r8xQ?cF_!1`nKJOYvC$>=jh^ftgkJ6!iXTzehGlFi~gKF-8JW>3L-?iA!@N}W89 zFJ(n^eMIsI{SW(ck@q9}3c`*w?CFW$;tobooQn!6{-RyuTvS+;cdg#Sf344|74KEU#-Wf+ytbu&7f-{RE6|;?aGobc>1o{W!{A48bvpUi;EWx{ z*(|HvChV8G|G47~>%3RJQAEoCryx!KbJQWn=XA|6Ay)f| zg_H3ca}^z(=Kb&Dy?a2XPE&_-kB<@F>_zyU?-kKk_ajdA80JFnLswLBiVue_4f_EV zI2Toca|#tW$79!rxP4$sBm3?AeQ-sYopMFAyN(B-hx|9}cMTD*T8i-o$K{-3gp_gxcZ?yyp$w#eRQ=>CM*pv#Cu41 z%N+W0VPDi%IP<4bo!dlDPvhO5V5E)ewxQhOSy?AmU=N}c=S%p`p6`V0&5@gFir0&o*P;#Of*#%h z+MXH2SbXGE%=Idu*O!8K{v({bj@*C57$@RI&sxUSJ=GW^^KDx{(qq{K_5v*(SMV_Q zom82wd+sUM7_hd0`EC))QM6v#oRWLbd9JhSc6lM|8+Tu!M^9;n?v1`NrAg}ClCQWc z4_iil$Sd%5yUEv9<}2H;Z$>z*-URc-JXPn3<*4^qcN6tgvI23lYJM>#1nPh(pgn0vPf@GN3cIG(@_Z@L3u0DYK zaIhykChdPoD@Rct%Q}{8{TvTnR>iBBFrFOKe&&*EvfbvP-Qvsx`a0U}db8a&APp%G zqVE44*jY&p^@_xl^-@aV9EvEt_9xK|IKf%OXLf-;l`rUI-}9vc0@a` z$~>|7gnZ2G%^XSIp_#hM5b1M5p5pEe)~JN-we?=v_9Ejzbe|^@hx2cj?;_t5gk!n3 z89F+kz<~oCIKY7e95}#%0~|QOfdd>kz<~oC_DMNPM5&!+?hC%{t*_VU{aeNh5IJ1CVmDu0)DUKdujnu1%6)&vn9I$JMjAg z!0+*UFV2!)3;$o^_fOz10=^Tl1^90QcN^kAhVNGat$_Q0I}x;T42`PsJq=KWbRR(6 zT==~QzlCtmf&V|?_X1!6XwAd-Rroyz?jI56Ik?4u>45ecPY9{ef+?;!mBaBl|G z!5`02&{Kd@5oQ>;F9E)S@0p-^JANOH@IS`yKKS>7ZV&w4hKpm~c=HkUgztOc-;Up3 zK$x!}Pv-%O@OuF8d4wB>e;WMH!tXWkdjh|+0CVwu4ctEi9zvMEBCSvH`&9fcfFDeY zPzJ&ui*G!SMlJaLEPgLTm`42m0sPk?9G>c?6u<_27Xr4!?>e|Xq@NA=F2a8s@xF}T z*ovc{!|x=7`8#M{3>=;npq2Qp15_d0Vzj62@Y{rVTk)Nb-#zeyscyW_30ozA+kh(t zohHDG2seoDTY6q@ z2YeaO_<9Nb67lx{h7jg^h_e|qPRIA72zw6TB)}sGyBvOh0nA3Y9Js3xrXOLK!u=im zZ$P-WfL{z8%-GU#z=r`hBK)!V_909Sem@BR`EVaV*x$nc4SfF{zfS|ai{J0V?+%1L z2(Sy^#{-t&_tyYRK<8HocM5PLh09pYdz&gO~fcpTC0{#ft3&6Ywq|;Tz>t0GI(d9`Gf=3cwYB+W_|feg=3R@CM*hK;C+!0XPouMZl$i^?>^T zTLCWu-UNIG$p2z(znAuoLh$ z;A4R2Ti`jM7BCmk1ZW3b2DlyYW582@zX1LLNZo)m05bq{0nLCez@>n10Dc5`6fg{U z9qd+D}d_&8vs89JPLRj@D|`>K>8i!GzD-tU;$t;-~zzqfa?Go z0Gj|00-gl?1@Jx~@y>E80?Yz50L}*V0a|f3xKx(iFcP%F`x!;5}*~Z8gLun zzX87n>;#MfvcFwU6@XcQ;{cxr1OZn9ZUo!~xF7H^;90<50UrXg2GKqMM*&U;v;kHD z)&cGW{0Q&};J1KXfN?<5cTk6bg8|0?76W<#R|D<@{1~teuoLhm;A23+#&W6x91A!T z&<3~&a4q0=za{52LamwV*tfHMGHfNKGF10Dv906qX@ZYrngfcb#)0ha>S1AYS72KWQu zJwW0Q%gGO@0h|ix09*yQ3$PjR6yQ&Q4*@y%f+pZ3KnLJbzyRR;fQJFYfZc$90ZM*^ zJOa)HbOSKj<9J>oZq_B^mTxMh5$>-O?o$zLV-jqa6Yj*5kMg066%uSf5Y8G>DV5O_ zLaUIIf-hTL5I>znng8q7}e6@R7XcpJsn9$(dV!?e>5FK$I={{ zOUKdi)IjrSKAk`d=tMe+PNs!)3Y|))(IPsX&Y&}~Cw~?-(b?2Y=g{ZrT=n;xK_ z(a-5YdWe2O57RGc3q3-Q(qlOL_&9B)U(q)DH9bL3(o^&sdYYc0XX!b5o_>qFPrsw> z^a730i}Vt`OgrfJ^auJQ?W9-ePxNP;zx)fmN`IwY^cuZRf1};>2E9pd(cAP6y-V-G zCfxh9hd!Wj`aAuD{z-f3L;8q5rcdZo`i%aC>bI-}D-qk^$ySP$iYp)KR)&>nd8{le z+sd)LR<4z2!TP>cU=><^tH>(0N~}_=%$j1ATNPHosq`ZOyO_ zwPsqgtQzYutJXT)sa8QKqpZ(av#q18W2|GXIo4e3IO}+;!J22yw@$DYSSMO1 zStnZyty8R1t<$VU*6G$6)|pnLb(Ym+oo%hWsC#*+^N5;`?ru`QTiTW_>+4+B7V2zS z(%Td2Toa1vv#Q62Ulr0wBOdK-ODhC2JeMn}$>Levvqook%wMLl~!!SL%v;+^Pv zvf^4qQjSWBU=BaZ9m>r1>bCAxMhcg9_Vv1XrLlGbU}#JGB_VsoGHOY8?@Aj@M)d|e zqs@YexAb+kbwsl#G44~3j` z-7c4ahP^qeZ(Grpba%G(3ErYu3reBZjl* zsPOi_6GhosEg29ii;Q!p)7!Uv*>bSh-Zd0uo0mHtc+nl36;YoUvF!3sCBxkqTMX(w6)=0yU(hXj`p-7*bUL*puz}8u6mX( zkBUVl%3C_xRS$~BMOPHEUNzph9(LkJ97ivZeoIj*XB{d0s-7iWRx_EU3hz!u`@~3O zMQ_I{o3vgclaSaL!7qle?Y+1~6O3emJBlHt1*&6tU+0ogZ{H=3kfKX*@mhM@FMxm4 z6SA*uNmu96?p3y74IBsa?R5c+i#zUm0cOQ2G&MVU2SX769*yMaS&eU^eZ}7 zIC9?JvNF^bS{0RM+{N4aI$Ktw{YMk&T-n*TysdlrrP0>a(bpSnkxY%oM&)vU>h5jp zh%xjl-<4fRphI#cl0;`;-;&;rD0zIZSQ%}p^3&D~favXO>0P>XrLA`WxiS0*$yBT<`CnJm;54g^Zh?64lg9(|oFS9OO_c^$S9PSiVhroP@NZC#r! zTH;1hjrd&9yQ;6JEk=}!9Y_SRbAD-GXOvI;;chqrDTC!TQNlDBc+eic)NR} zt#L(LcXw~JX~|Dp>18i#X+uw15uvM)UCWnsT@2Y8ZKle@A zkauK)#X?J`Ll2bU9PLG-APiPV+mOVCY!a;p9RZSIMYOIQY8Zdm`XYbY1#9n0k(1^aqgIM_ngDmS^(F3nY zScrW`gHYeLW*KJ?Kms-yD!$?=$x8Y;W&$>xBP}5(jhT}QD}=W#<07a)+N#<3! z5n6hB(SKrlg?fA2ZQ70^XjeX?D0kK!lQ$JGXiT&edgZEihgz)Ajv1H@=PsmF9^0c8 z?+9&c5H`F!$4&HnsLr^uyVEwkU)f`b(3QPQp=L)0t7ytj zyp10#F+4Bnw2dlu)xpr4!?NFJH1Ex@v<+-ODeGb`*T~I0IaQRh|`GjGo>I6*-wxGc~m1Hiy20 z@WB?hT8}jhR`i@&U8sv|2g@0qZ9S`^*^=m$ZA+s$3-yMeGMUQ?4y>)Yg!`zdcs|{|+)SyjYo#G}Ft?HuA)a-J+Ki;iUScvb5!&7@IfA2~ zVKL!|I>_}F+v>2yt!Q7evIQ&Rt3pd>M-vpm?OqP*!k0%uw{Vg~9e%cE6~os|)Hzzp z2&*7UF|m!4P0l%cadwRo*uC5((7uYi5mzYPEghZht0EID*(aCv^%d}1bREp@V;iFEXsi+kqYK4upBO1I=P~?7S6O7N2zsI@HV&DwR@cReh}ONN zEz&=t(Ih^8BuAHsMuUiOEGpQ1E{yb~NG(Twm-j&6#K?xk$H|6^>&zv4&yLc!O@?g9 z$T%Ct1tSXvQ5-a+Sa}oZI9Zc^(dBxB7;4H9v9FWY`FQh&CEcp%R5juO?I7CpG}hT5 zHCDR1H#o75R99k}#~TQ3p%7LQbp(x#WI3)!i+%CH6)k2`vVbm%j?!sL&eBD&%a=y9 zI*pSHfF@PeXn0B0gaNqz3{{P^>mfa=&Y+G-ua-UKzP!0dWANyG_4TXR7 z*}wjE1?Oo9&o{7rA^3>@5Bz86faH-KgKH9zzmFon_WMV}L@~H-P+g*aINaV*S+8Tt zeOtMs${kVev&zM5OgIsYJ5m5^dOroi<^A^B4V<0o_(m|tUs%!6$ar-6C!sU6k8~Q& z%$P7g_v|B`#?vRJbJsr7X*gwKIs^MiXW+Ss>GT_PnBP{QpB=~F=vfof3GO2uYMPkN z;(equHc5UK8gxcKknPt|sQvgz*pILrlx@xK&mTnKe*M98@_zl{rLO(@OWm)~xa+r{ z;nVjsJj;{)`NKNsPL~E_}L1-)4&%gyjkA8FUIbt zqYD3$LFXxjA2#qq3jef$A5{2l27aBwKWgBE3jdISU##$(4Sa*b-)G>bEByBje44@! z8u+~_w-1C{p;n27d2$ z$8QHt@TLWqCIk_@@-!Ro*!G4RP>m;^12qe!Y=y|G3PLPFK%K+S-?NbS_=iwfuq$ zyI1t|1~0-6|Ekp&ues#XdGk+LaNY;~H~VN!P3nEE_{0;Ej=yG=pAFmOJSeb4&VL$CPZ4^+(3#R5K1aH(UrH4C{?E(r z+71%m4ayx=ZtYTuA5(5vh40t+bCmz*rQ3h5boKnroVV%u-Ce(xd}2Me74R8Pz-)gF z|I5ll&&&LdKPTO{mAgy1JC&=;W7bctD$n5a|2yjE>Zd2>f6@Q4{Elsv`5jg6uyP~w zCZj)iRsMC83cu)c=)(gmWIG)`SGNB_^*yBAu=ZE(sB*`YtLfshub>-HZUk@qSf}#4 zP`RYs@Z+*v{mM0>(NIO6r0=tYJDMk59d3A7_T$l(Y~kM@km1L6Cy8%7#vt6r`_qN% zRo^=Pf7<1Fmz8$4o9vIA{5JzMDtVysJhzEOXXx%+SuP#WaA)r$oq_u&rV}veaKDa~ zAKE-Ioiu|Ex7S#7f}19$vs=j@U0fa#7>-h|7$VRI1pS5ENRK-@e0W6Gzy3Deu##UI zujz2P?SGTe8Hz(E(oYq!$>?k_=x})~l*{PmG#Qi z5#o7th(J;@X1r_snyJUW3FC$9I}SadvLST=C}O~&VdK}YcC-=O0)=!kOt8+4Ll z(Mjuf_lrMI%%4x5mGW70LzL@3Ku44dbX@&nlKhOv$c+`dt~DAVv9jX>@UU0&%h-7dEh@p=RSiD^Vy1#ANpWo{tOy) z;+1RorHSi(gFz==euD2zoS$3vkq$jRaeduj(1};?`%5QYxdOkNm_Jt=`H4qoVEe>$ zF5gEwt-qg`&KiS`HzZkpIDc8+>Ei&k^f2@7Z$@Hk%`$%VO5`8{k(23WcTko27uFIs=o?88+y!-V;l%2L3p4I}96i;_-Rl4-?ZF zGU&vsckgo()49i>6R%wROXuIs&xZd{eoQ*?zkjyqvB9%^?qSK@Cm@-rEoMxTtQ zT}|hP{iHLRC+S37m7jG69nmi=x4s%y`DnereF}O>%%dx!@A2jkK+D{C*@$b;df}GF)*eOrE@5yu>nY4X$#K=!F=oIZIo%0Pk z+`s-4bmGYkTM=UZY&7!2fnv$An2~Krla9_$Lx)p;_bzdM+enC?3yl2yyL4v9q0_jZ z`I#Aqj+yUPgRbd6Jq{f%pZ#w#I@A6`bjsq;;eKZSn=C*12Az0velj}o$`$y1z_A`S z+&OXk@y5x|SZk4kPV3T%>3IG_bduuG3G8Qn$e^S9MgEtZ<(iB?d)5Aru47Gy&f7ma zV{z!5fA0R#*=^9#?WgQaC!NXaYt*2l%QY~vf9+>y96B_-e{^=lq0@1yvs{za*GL>X z8y4&zooD0Fx#76|qq8jzospyWkIt4jbc#N=e{>#*Lubg46O-|IQyeH+Zk)|BmcZ$G8xW&X9^v zbCjN_Tuo>9KGGRf@x}~S(;44KIs2NoP8{pieG!Y;*WC2G+l#^XooTQ zJoKrIKdRzucTjzo?IWGhd2${w`Ukl_(XU*ZC+SZ&=*W42yWWS6mvs7nujr`y)_k6A z(1};BMwK7Z`7!7$+($Y(-F_8cyBgnY(1}+r9bU)RuEv{mL_dvDUpl;wuU(Bd>BQrY z4zJ^DSL4tB50%TL^Y50+q;pS1elW-J?n~r5Nqn3C?cO5g(H6D8AN-B{zD31jKJnjx z`j%AjW{UdO=jHpge3QW^{eNtSJSQ-=GC|0z){CU8BaWV(B;{D2#1H&DUwjYhZ{@bm zl=JOTMMuZ~pLQq9e`E9iuKbJko;K)WOMk`0_e{Kz_9LUp@zzaeIA>xyWYCG5pWcbr z^L9TX+ovvwkSnpuwV!n2m8&*y;&SbXlONr0bUr7eGZKf6?r-}_XV{<`=@cv4Na21cKbKV{I?ozL$eI$eOL0ipe~rbqp$fcn$z$^dS>#wY@hCI3EUG|s=jro5&V<4C>& zcd2+t+REyV~=HMNtdB&Se(HEBF3rX?cMv^ZhMc+l@H<4b(J4b&OuN9GaF^Jy; zy2QG|y3)GJy4t$dy573My2)B^ebc(ty3M-Xy34xT`nL5QYoql8>qpjo)=#X>)&thh ztcR?JtzTMOtVgY|waxmq^@R1L^_2A+>uKv5>sjkL>lN!y)|mCawa5Cv8n^yweQ14T z)h8U2FehPd!tn|75*8$!oUkyVG2xbkTN8#7wkAB0usvZk;kAUf6W&R9H{m^8`3xq8 z5?3XzPP{bnvc#_@UY+>0#A_4RCEk#DQ{q74Hxj>_cwgdg6MvVuJ@LiF9f@O!_u*C*ec{Eg&ClOIbC zCqJJ2tK@CTPb5E?Je)k1`~j|*rlh2&WTtphvQxY%r77hpfs}@nc`2u*w5D8;(vuQQ zxhQ2M<;9ejQeH{hvK1%sCPnwy%JTAO-$>i1KB zni@`hI`ys8@zj5${xkI>JOWmjR+3hlHZASowCQQpX|-t$X8Gckk=~eoR{G-f_VkYQrRl-+i_-hjFG;^LeQo+R={Ki; zGyUH5&FMc+-;(}F`lIQOr$3qgO!{-_&!@kfzBB#L>93~0o<5eoCw)Bqqx6sQ{8VB_ zaz;*uFJneVUB;0avoq#o9G5XKFGdxFn z=6a6v%=4V&In{HHXR)W%)9zX7S>w6Fv(|Hs=O)j3&%K_XdA4{S@jU8z%oFxJ;d#>Y zwC7pRi=IDuMm?{3UiZB3Nytjh%FfEmnwxc8*1W8fvQEu9J?o6DbF*5r+Ow8s1+y;6 zx-@HT)-_poWc_#6BU$0Br?Y;WwLR;ltQ}c^n0-t3?b+YS{$BPEvhU5lKl`WIo3kIt{$=(f+2QObvY*Nx&fbZ~ z->jUZ9A8d;PC-slPDxH6XGTta&XGAs<$Nw@cFxf`$K)KFGbd+m&T%;nIj7`YlygN+ zf6g^IU&~pSb7Ri!IgjQ%k@IBE^EtygFXsFn&&VC>o#j2;Tj!naJ=%M$cdqw%Z-e(# zZ=?6~-o@VYykGXVdE336-euk%??v8K-nHJVyw`ZI_1@^c$$PVRzdl07WNljS$JpRU4?^%Zxz0a$LzBGdH#UE&VQu8!QbR>_4oMu{Qdq1{6F_U z=zrAzg#StZZ~PqwvzUeB_*9DD@s$sddSPj(w7+z1=~boQDcxB5{nAaP_m=*s^uE#`mkyOaT>5(H z-%59vzFGQC>AR)xmF_A11kd(OE1OwXUv^a4v1JWqr#GO%m^G7s0|z)I3{px;P}A2z=FVufs+C!2buzB2bu%t1X=>EfeQk` zz(s*j;L^ZX0$&YW5$F$GAGk4aQ(z!47#I$`68KBt)xc{Q&JrpUD^n}eDl;lGE3+%T zmA=aS%7V(m%A(5R%JRx-l?PWIQdw0wy|TJ;MrBRqVU@L&^_53f9$k4%<($gnDjOa7Y^T~yUqwX!Ny zwW?}$)h$)ws$W+s5cN+FkWV)tgmsRlQyHPSv|r?^TV7CmOG+zPkFF>aSH_ zTfMIOy6Wqzzg~Sq^^MgxRo`4aQ2mYS_0`|3zNPxs>f5TnRlTA5_Uawgzpws7^&hKu zR)13cY4vB-bZG6NCmwq8p^bRvv36$b%q25BXD*xBGxMUEeKSKdSIxY5=H)ZLI`hhz zYiI77`P$64X1+Ib&&&^Jeme6rJPKJgYu2pVS-rD@v#yxcKWlK-rddO?9-0-N_0+84 zSvzKp;?c;2n#7uwcO;$~IjlZU-rlh8{rmSX4O?geArn2UsnyEF@ zY7VYBq^7E7dQElBjGDu0YHN94sH4^NKa=}D_LsrLV4?|tBFuK&OP*ZH>%lS2|~ zbO=MM4q5(9PD~q3PE7uUPNgQTI*O9SkqOy{qo^fuh;3%+sFAelkUyj0sEvhmWLVK0 zp@!M6`}6F*&-e4~`hKqK`rfYV^S!R$?PqQe_xt;GUg!OOyrPm+0)tAImn|f zEnPZwN$O(n@=zB?7gv`zyKLy<3qAgF;~*aov@GI*kvDmodEBf0t1DMm^U%o1tcF?U zEK63WEL+xdS%zh<% zdiLDxdD-)`-PxY(%IquISF`mwhMcgR@SFxYkvX^Jw9ARf>5ya1xhJQ4PLCX0&ZHby z&g(h(Ioosg<@j>~Ilt#r=3M1rmG#%QUwh|T>)OP%L)JdJ*0I*LcGlYTwV$rdU%P4T zmbC?Izg)X@?f$j?wa0j@WyjpRay#eVog0^H%k7t&kei%4DA%4lI@giw%$=C~a_-dJ zS94vt-rNnjpX6@L{VezM+^=$dxm$C$B-Pv`&tqbxH%?}TG4}Htc;EW?RM{0Q3Wetz7 zbn^Jh8?Uy!+Un}9S36$qbhZ1{d#~EA_Pcuj)laT|fA!vLeXiNBy>%^kt?Jq}9&u@| zzPY-2b&G0CwY9o)_1)ER)%R3)tL|Riqq=8xuj=^f-qrV3_o=p3-&ftYx?godb^q$b z>ZIxc)q|?-)hX2@sz+9js(z$;boH3(vDJ@OKVJPr^|sp5w` z4Y}`@`)s@XpDUiz*^MV>PUfEYO`Tik*Im=O^d9a;Ee5OMK0{x_K!eM$!r(C!8vNXS zDq{zu-RLo@h=_>#5#1u(pJuo#Q}uP+cSY7W*T1QL3+}r5 z)VI~Q*LT!^t^N!i2-|}@r4bDr4W{sDSjP>@tTXG)2Cn9b<{{>%%&yQC+iU*R{F(W4 z^B3kX&0ley<{9>l4UJ^134@@}l?12{# zyn0~Pf!PN#4&)wK&*M@1e%GHzq&j#=YE*I8;s=W#E*@X}dhxR2<;AOt*A%ZUUSGVa z_>1B%i+2?Ji+?RPmV}oyENNEKs-$~KuM%6y{UrlShLoh0yiwvQ*-}zmQc)6du+72v zgAX5c9(?m)&cUq*w;eok@aVyx4_-Z3b?~M`%??E$iaT`Ap}~jjhaNuk{2}L|d57LS zBQiRRk+k&>HjvHw3o^5AYCI^Lgue z=lN6T&A;1zxAQ<(>xFI?To*hSc3ueZa97*Kz85d^h*#Ss`=zUw`v2jQN4=_poHx3D zX8Ww=W>u-9V--Jqx+Xs`OWXhmtNl zuh&ZYv($s79;!9(i{m-CJ^8ykf5-4--yS>xxMygo2T$zn&i9DJ`1>wiyPGHQ#;ITQ zJ$Ndu$E9PjEFT1Q8HN8OV~X@j(}m0>n5>7lji=`d5+SYuC~`}=^Z4m+k} zI}LUl+w;`klSb*;ZYs~zS;expWG%5O)sRY0tqS#bH*Azj)5XDX-j}G$(+|=u;fcu9 zi;QEh&xU%rh^Hhc)7u%mGDw%odty|Ht_^?3s$GUOLrjA-T@0_p7-Mz!Q*SbRvP+-A z-?6&(JQcY;Exe?QF{IIo7?r9^!#b&5VX^!jOUVQkse2O}h@Yhu$+Tw>tzs=aU0BM) zb&0I;G_TLm-jPA+z>s&MRjIUZ5Os$0^x~fEce1RXa(Pc;=ua$LN#;))@0r7T2CC%<+bZi#HBUeclE`zHrR}l@o#>g`)`-`&M&{}MP@P?DX%6Kv zp_bq}S@S?zG(lU(Al>skVYwS^pTNGRs?+*JT{iX8crJ7rYflcnQ`&KkI?{@|I(2Qx z4Xtq?HKiA8+nlJ?j4??cXZ*wVYG0SW+C`m2eYhcp5j@R0CWLyZzHT6670w7HG9ulm z)t)hmWBbD>k@d&$XAbX34Ot>Cb&J@33_a5x8>E|qPi5rgxSh%?hbbG(QY_o8jhqK0 zvPW}_MY>MR6q&8r%*qU7lrEO{jN&QQOPLX=rh)83C)V64w3o7_LAsLA9wf8(i?l&l8n+Io%Ho6wcFT{BP-P;vujRA*#p^+7!xtpEuGfIgwIi_5zJTJ zLVdV?lrFn|XEkTgFcqWktr9seby2DHCiCn6+3aH){g+1j67{rOm&!Khge9}Zvs~Py z4QV<#9^||iLkpw_N;o!`@V?$GrE=WO35zjFD|ba?8)U?j*^hzL-9w$8p<`i}AzRHc zb<&@ve30%gHOhFJtxe#y?66MMl%vb{*%9+k|N2k|uPOKiC$)N7~Ng7mJ`$qm&z zO^r)x6i?0WsY|AOm!WnZi_3Zvd3{dkU9u&4cN(Qj)Er}dp42UUyOA2HWS3zlExAc2 z$9EoMcs4W}=1^Pa#B9^4@HLzV`Wv&1XN?)^SQC?OY@~^2e(&J9q!sMmC>)B#%6mFvMhJjq@D?n)cw zDe$Z4`8b`tvV?n^$(&DRL?`RydSq3@biJvujcZAJj^9^8ueDc$b+wkI8*a$c&1cV^ zQ5m{Xw00>O6*@on51s3KhL(HqO!mW=EY)TnY!|xX%z>k5_W+*DK9)B3qy@5uo~n`l zInMP9*tR^eeI)CaS88(wUNMXeE%yxhd#$5%JQ-d;lBcW79`vl=Lmf8sFhrStP^0u$ zj8k^CemeI9!Ca%isqwO$K-l;suk zUrYZ-%a_CJUTt9%8)=CO`&>VY=gN=L{bD+4s=XRlhx$*hbz{{Ut~qk$92?n=eq7Gn z8_Q_j#fa`Owxc{eygj28%bD^t$M8S?i8R)Zx{UAS(D=vI{;iXHjn2GFUa759*Qz>h zWXy-@9#W$WJsTX3TFOkA%&4^I*u3*U?5$D%U1?`ZhVY&{bs5b6&MJ%XdM>nvIBZw_ zWUlY`v%bzMu|b@A3X3uAYA{MIq$g4hOO4_BD~7?k!-htjC(r4kjDvMojOTP$!lNwI zR8ibTaDLUdSEm>RRVw7^4&}ywd;<=h9{X}vff0Fi)>wXX#HHp8aCIb-XXIgJYrYa9G&cU zr2bN9l;b$B#i@rlW7N%-f5u^<8cURu{#n9E|6@Hl+jQovBKH%Vz13-R8*2UM?}=rd zaiKMH<)L@8P4}zQhT6VJOD)xHVZ5>pF=3|-3%SbO$;jNv6(NqZeK<2|y{cz2nReCVTu)EUF(rn2HI5(G z?$Yn49f{No50}z3Mkj+Al**l^+-o(`#p$vQgQ>GC>=JibjdZCbrrtS&j9n+LUuU@r zEoAn}Y|A#ueTvMGVcdBxQ89)=x-{C5$7_*X&zA6t%#R7&Sq@|?OPD*Uv|QFTFmz`i z*S*uvJ{P$}ot_<&n9cFB$CRP6I5rNqx?)@!&h?mCwnyo?hK*uG4;wO6RM;r4^*z;< z`h)cY4E+rQ3@26pkjXu`WFFU}*&HD!)swnVjZn!ie2*fpt)))LL+_RM|6^twI`Ume zJF-Llui98OD2zTdNRKk}b#p=#mp`c-3w17(r8&(1IsB2@G5S;Jx<1hOc&1(O>vS;n@aoW58``_oZ71X}&>`_~8{<3!2qb&zD zdXsAZJv5*#|HoUqUV6O;uJ^$89=P5E*L&c44_xno>pgJ22d?+P^&Yt11J`@tdJkOh zf$KeRy$Al^?t$iaB&1wzUC&m_%YAD3OP}vr-#ug64|*G|x6A8KJRbE}zWK3x>*|G% zZhCk7tVQv4%XNGC)U(fzt8?MxOr>5Vbzfap{dC8Bw=1=GjODwhifgq0l~MQV|D3C| zDyOtxM3K**man(9!1tq?G8lTn5J8JKLN-K}o zc!Nfx#u>G5R}X3R7ii^QYRl`j_3hC3hW7dk+VU;ha?iT)oue?$;CAYOhyl z^ z8teM;8Li&UTKRNsy>$0}& zsa;eXwDnhOd{-;4(Ut>R{krjOq`h9Cy?$O>@8eqeD6PDswtPT){fJh6kG8(68h_X7 z{jM$7&BGtH_g&OpUs%@;Z9T7OuUBj3^R?y4+VXPkeR*2_D_Z$UZMklqeX1?rr?H2| zV;a|J>shVwS8Y2VYwO#n)jO;4R;@fvtLN92Z_<_x8n56Ct*+c-+RCF?ps6up5WCeyW5P&Zc1dgghtYw$mfvAv(w}_ zm1hyia|9xZe1M%$%7pT~H+fB-<5u^YtXJMElzAxYH4`aoOqyts^43Jk zmhDj9Gej#Ns&P1!^^YX7?KC3md6rlR-LImFoFAmEvL904MWoF$HNFnz^;tw-PbadT zMWiE<`6xYQE-keU6{*g$(w2i5KUeo_6N`K0nlW~*& z_Ym1H%eLCj`;oTD*XH5Tp>dZs$k$wLS@v1JMrh0OUitDpTw7n(FJE)DW!Xph8lf%A z7|NGbTfVV&Q7LU%=8$|94y#>Xi`qry(UzmMi?fYQ*A|cpU2ixTdw{;d04y1M?V`@E^T@v8eAtGfQG z`y8nowDs40E}6`A`KtT8v%2d`-RF(f&6m2*4XgVcqq@(NsvEz$&+)38KXsoEW(lob zsk+bSlH*3c612~0lVeK0>OMd4rrJg28Bsf)b@L@tTdtdLZf&`4{?65w>*l9RTb5&A zzNTo)H`gvIr?y--f6}z&+qBomYs+o5<#F0_J8gNiw%lG@wrk6aDbVS(!hgVDi~hR& z4^>0@*Vq5L{GYA=pMC$odi{TG&tI4Sy8ZvZF3Y(`jH?R^yg3%|_&^s9EG{4&`;`T7?&>c4Q+ z|NJR;wT<}a&$|0BY~;UqQ~z`dXqTFQG65+57dPzx&g%a^J|%4Nwcmf}^v2Mw=xT0U z9k0LgdTXsWvwo_Tm1}A_b44I@%VnGH3NeTJTR%Mfp+&3zSIn%gEwO2o@Av*!>ffi; z-$ecWtIAeIsgtY9S3UCA)vLd+fBMSMJ09W&=b^)64_nluhbJ8F^5570zVuk&vQnL= z*S@oCOznM2H78uD-0v^%_%AuFvQ5{0wd3%Y&HsJz|Mu(B5C5aS@F)Do?GHRs+rLgn zErXBM(%!GOzFXVxx^>qr*Uih?4hYVuWu;se`8ua9*WKNQzI_Z;soUPq+PEf-tKD9L zMw`ZXjomeN)o9h&L8C=ubBz%iE1#%c?^%rjjYl<>YAn|1*I1;nP~&!uK8*z$H*3t- z=+&5`F;ioP#&nH!>z}4APtusC(V=mK#w3m1HCi>sYP4vK&{+9+?S9uY{`>h*H=cLa z4%FZO_G$CN`FQPk|L<~!_Ek6EWZuX&>*kOAphQMC@0M-fKWMWAmv405p7YU;51zL9$6RZ7GHSu#7H4MJCcblMNxvIRf9v@1 za@*yvJqf?fY_f3X>z~`cjxWjDUo+s=DciocJ-;)M@r!GB;+D5_?kkx6%&?dqfBVxJ znAW%8#|6hOe{l88^xTK~tvvP8iK5>--jzPHeL@HG&AFB9%_nwjzmjk!yZFMNXO0h? zx@3RbWrxmF}-(; z={0}(Tcc{mWCd4Rd?{-(x;=K_+Wb-TOWTc^clk(a?vlz2F<-AL9P^{=x#ZpNziW9@ zKg6-U-DLJx?Je3{RQq+c&&1yK4}IvAzbgBT8rSQm!GC-AxhAtN_4(%e*e6^3JmTih z4xI1fZ**IF;w_1JJF+YK*s?Y~o%XTm%WiL+>2r7Qg1%EvmMs4I;ORcwu3g*rSbF1^ zi`JF(xhwgRWB{Hc8&8#Z$5^bJF&HTmMvK8Gsq`dipnZ_U2xYC@m3eb)TaV@=GjGjclhc`a{c zS;4qz_xpbwcJC9fh85kG^75>jMKgOZy3(`7)F;~Y>+H*mZ$0lo_tz8O-K?%1>UDJP zh=^M@l%IGb%g}3QdjG!Ro8Ft;?Z}-y@17X_-EBv@R19#B>X9|)E8p_{5Wj!YmLk9IJRQncZJ3uvr7L(KjDy3yZ&{(2d?+P^&Yt11J`@tdJp_7 zd%)aEscppbH-2({t5V;R9C3?M6=XARZLQQZ{NUS<2chmZ{vB&Ubcpxkk+|>yQb`@* zvu%|M;C{G-AA-kHhtDih-VRE|;{jMn5^y{Jz&4R2SOsCByNZAk!iT?4yA^Zbld@7CKZwkWEt*+>0~u-xr=*uaugT7OnkU- z2Fb(uEF$%sRjD%E1CNr6QVwG}D^(>98}VZR<3iR6-6RtC!kh0_s;M|^*Oh;l!~^g~ zzIm|YLM!Qx3*$*!JP2Fg!@s%V4){88;C^_4jK}%qM0FQ&;x;<j2|DBm);NB2#cL ztR#83gC7>JAo)1I#;sDwMO=869L0rG?o( z;^q{kekJBbv|$+gN-Ve+?jRlTAnf!o{e}x?ktAHWfmo#ud}KK7#9eR+S%wSCNjff! z8A1DTJN$vH#?2#@>O*`|4!kv$ zcRT>E5*uzFtJEBlBz0gJ@#4Z7l8FmvIQZTZ7rsx@aN#Oq$1RUBH^_F}0ly?gcmVc$ zoPQ&ba%g{oamVfBI0ulR)PcV|srb)H%+IHkdXhB7UGNZz#)EKVD)RyNz|ABU_rX%q z6%W8)$zoin8_)5J3v&|5>k!})21+=ap4Q30O!}5)nyXIZBtn%u`Y=YaXQ`{ z7w#fPT)nDPOOl2Qdy^DgIE&bDFRUWdaPu^d!Pl7EQto1WW-^CyVH(N7g)_-w+y|>k zA?|*ibJ{H0jN9NqVtpq%#3%6PxbVhw<_s=uNzPJVcrPi%UGTlxw2e9excm){Q#=SC zoWt>mJKIPDe=Xe!-xkL)?dOr$A$ff6Bj-}M&mA+PfBrN*t^VCTxcdaxFb`kKS?=md5Y_pQ~<6aoGiay6Z@ER$`9Ut=ld&p6#4}T@*rJTE9 z&(+Ks%7r#khCAUN(wsW>ERIbQi<@)!zeFS+x56tVL42)JPZJj|+(yRZ!khhmU^2ITrW9^TdIx0;SrM@wgR^Aj@!J8A->5mx)vAe91YA ztj6td94W5^CS&-ZBuF!nIv`Kg6;IV)Y-u`pJd>co$Mo7hTC`X|KbX1 zGai6Lb~8V4Cyd&|xmwC$-*1`2xC7o;#QSj@e2G-zUijKx#R-^g?c-j9MBq+1mzZ%c z+(nw>t^@qv0+Ngi|0G>;;bmgME#E0MhB$C1Tu7XFpqOK`gnK;P3p*WT8@L@#Kg2Z@ z_rpe|9LBf>o+UZrKX9)_yiy;IBb#v_tROzzc9`vuLMew$k1$7ZD}0rd;%@je3E=9e zQiDl39)P=kWNdK9F{M5tmADV;f1*!TP!9Kz=6Dc}3vlhj{jmOV&IPy&{z+1B%g;)E zO~&Es1m~PG##-t_`zeln+y^61bG^Xra3{&ZgD|t4{gwLgggopW(Vg z&Pq9ag(P{RL;Mzx#f6>D(tcdnnOvm48v#xGaX;XbZ;67-(fwtiec$ie-d^nA|kEE^U z90=bac3kM ze18oeZpXOb!e>Y&b%ZVwz`bx#4EsYJAAGn2a{{-<>eK|1i3^XCNx1L?vE#Nobm|9^ zgIlaR)r|yj;X1M%7Y2zJw|3U40VFynI>b(0bjpYeV@Z%Ye%Os)u!yDH3r~@*xVx)P z^@!uxz@4y?B#ZOQ4TF2qx469*V;)cc;2yYxcyVFJ-s}r5>`T&dCw!S$*YYzWxQ0aH z!jJByJ=78ICP#5$r#{R{+}&5FR`sK=s2_xT6X+A%-k*6&M&Q=_b!rirgnQu+Bo7yk zPGr8}!WYRjsRP53=$~Bf!{P0uigMv>Qicl`6F)9oMhfr%95H}?ro7&kfZi9nK{JQ869e7(@xQayL z!VRR7`od318SaNC$ZF~cD@g_}3=E;KaN)1SfeVXWDd&05>h@I5&p6MxRqe+!Ubr1PNrsfey<{;SfXAL@u1NVaI`u9o!-cy@ z5iZ=EMsV}9^gX#K^>ljxP+wO!qQi`mf^y7Q<=lKa3qPqg-?+n+j6|h@j(hG_rSg6A}*XbjdkI| zDP%kDe@&;BPp99!^v?|1NTP8+obIB3a4-CdIB{XUnY0ZTK1FP}2ks;}xbU&p8DCtO zMy5y|xRq?i{qO{7x`E>hT4&Kt%7xuXF)r*&e7Fx@CU)uzx1{qPT)2ls8c32q;pa;*l~{4%homVkEFe|X7w#nG zxbRz2jH|gi6-6?rFYG*z@x_JRNDA(TRm6u2`@TsZ;=F1+P$w1@W!+mK@11(%R<)bYTLBn|h$(QU`uQCgD!EPJKWM za4-Ck6yc6VIyLHT&S_G8sbW30cXaCB zce(ac?#|?#OqSt3IO9Fe$+#D8A?A(D0a!vVQZBqoj^e`lOF6&c!ZRcvcP`VZ--w0x znm^$BORTtB&aprea6c>~E?n5u!`R`%D3XFZ;lP#j74CwoNg*ywT*bKq7Y-rIq|S%T z1!CL8{Sw?sqH$sWHH;lDe1@E*zHk~T#obvtbz?U3pE^$XJ#pj0mTT#AT-b?>z&)^c zE^WetaN|0TZE<*wl;c869@k1-*oG9~_Vpa=WYTAB3;sY-aN)d47fB8-3~Xl3$ zxVez+k}0?kPS{QV<6hW)5628{hdan-JP0RzOW)#dSV_upOA+&hsLy#XY`&M^Hkd=K zxE~JQ$Mpzz!cyYEgZruDrww=j-gkhu;tsf#EXK{>aXgY7+yf7j&3F*r{yqJPyWu)g zg$u_PGuLt9lf;h);KCBdbPM|n4-p$Kyi7Xa!fMhKw;j}}^@nIP?)*Wg_7MkeKf-mE zIPt(yw)G=z#yv1Vd{Qp_iMfgk3&~vE8{qq?08`=LZ==*!au{_BV~pG2Ua|}i zLKUr75nr=Tcryu7E*wKjap9|EJ1*QqytrzqS8*iP$M-C78fl6PPm!~%Q+Sz_;=;zQ zSPw2-)=952abdGNXg@CO*O~prg?5sJ3nRMdRW$DJPQQ@^wiSd;_@IDf+zL}9cmQ_p z$$D@*Tu0JyKWx*BamR(v6E`k=gG|FM@p{#ZRN=yy-n1VV-b1$IF6bkXTUjSey_dG( z_CCxtG8z{yB?-826|v$zc#L>(;YgcaO~Hkak#V>i785V-ypK6d&f-GVPp^t_p^0pk zIxve|#C@=Tf7*{*?$@jLNb_x!!$RW5g_lVhF1$ODe#3=>i47N~kyzXd|0EvV$p=bw z9zff0>p;efRN}%tz(r>u%Gg5>Li^*o(lEN`gx^Cwf zhi8WAl^GW{e3(9@jvMwEL3=3YWT$dR(FWY|h+e%(rs3|52=VAknz+ zRT6<)pVg}g#D#m{4`ePLgx2TShSYhUbC;8L;&%8p@!?*$k6grsZ6?xwT-b#a;tuE} z5jz<#c$}DV^@3hKLo9gkMZLO0=HkMrNxTOajwd5<;UtoP3(pZN?wL#*h#U95%z1PQ zZN}}e$t(1;)Pa#x^(tS=;j6E4O~IWmz50c07oWv;(;0iI1NW1oco04|ThG4<(SG;| ziQdJ}S7C!W%uig{j+~{ATgu*~&nfpnA4$iBAJ1ohaN!1$f~yR@YD>1`Lem2J85f3= z#kd>ZwvgkrFgnB{H`~C4cP`>ONF8A>Qj7bRl#ZQ6s|;7}5e`(d9Y^e66t z2T2Al^uNQgEp_0qcj=OcXA3FQc8* z5qe26E;N5YAK^}TnslJPc{%$J9mI)y;4Tux{qRpxi95D(oDsDb z-$vU>1aAFCuO^e`xEr?G!FqAElWP`<$8E6XZssQ*fai!C7k<8n{=|iizvVc>{jg~f zV~VSNdNrSTa4$SSa_|5w+s}UCRzKHk61$J@m*G^>6c;u-K>Mj9Y*oyAaN#84$K54* z^)2a2{Q$i4AZ^C2hxF<};>3l|lM%RZDoMcI&`a`g;R&)B7q%>AuHr#B?+4DMQU|6V zW`5#673Dly_hOBr)R>cg8((l*Mi za36`sZKt@N6FcsK`D8OL^brp(EGKhu;UzK&7giAmZa>YnnD}rv{DKtXs+{AO#2(<^ zXQ72O#f6(lC3S?~k}_P_`WMC;_rtco(q`)0;1)6-7dALUn{nYwBp&y}Vf;o%}KOyP3^BjFZ;#sFKNZR7UupsA3+zQ8^=h`Rb zF!Fc3T8#^DyTE#IVJvatZn&G|_)T!dWmqg%}Yus}Z8!nt*O`CCHfS7T64d-ey1s8hAXk55~B;h_~P#1{{ zH|q?lJDH2S;Q+mXpF?oogG)&!?twoM4<3Yf84M~155TTQgYx2Dc$`$>!Z#xfstgxq z5Cpyw63@?j##7)TtG(SJR3xPOUB{W zo(46BOp-buQEW7Nl>+Tt#Fj&#S(HiPO#Y`7gBxR0^GZGGuOG7fjc9b^(7fH(G| z&A2(ip!yIWE}TblaN!=Z80S$lss*XSg?3Vg3&#*Y?t*RZr_H65!!5*udlGq_s2?~- z!Inw9mvUiuQiKb?AYNQ(96(>;!kb7sE_9MKTzHai{37|d@WsKj2N!-t(xtxLpe8)TSmQqU6Dh`n zaNQ7tI*JEi#!%XDn4g)$Au03&E=(n7spE%3ALjU_+y}$>ph^!eY(VDX!rsJ*3kQ?Y zxbSZz0rx@62)2t02axT!a2fI90oZFK^^WkpBz%@c;KEPHMd}3MkWtJT%7w3zWL&tL zbjQ^r%o#Ebx5IZy2JVHgjAnb{a4)IEg*D_TE{qw&e8YuZNgnQi+lV?!J7L4I%x7HK zlXSp^gNYe;!fnKb3uiw{n{nX>Bnc0~8sfu+4>*|HxNsI(jC*01$2b?^e)!Jg230B! zw?4rb;cA>g?I*E6@_(7&y-#vH;=*A>;a>RcQyjzM@LDRz32q;6P)|Hrawb) z#RrX!eU7oleQ^HsjFC8O-twF!5_EhIX? zwF5ruVq268Unk|bnrTq|NLT7OV3%2p3+{y_BpnwXPiI_kVUVQYw%G=?;SKs6H_u^= zNDvps&Sh@kLL1pG^>BnFx5LlLTs#1)$aY*fI*YN!g=0x3Zd=PXbLk7*4pT|w zNyY`{k&BcIyR73HhC5*iiKdPtGb1meNn@Cqr$Ed>TOigZ669b%&|=@VSI zfGAwJl$29neZ~C`NupeRZBTuEoNsXt%-za$2M@vR|a}R_2{oETIpbv2u{E6h? z!uH>Btl>f{apJcHTsVWcaN$gnCUt&fOi3j!97_VYF#H((g9~pW z`MB_A;=%3kF*5!P|3?VEM(nt7$WNRzap9xHf(subk+>H|2N(-n`1Wze3m3jmrr?&J znX9B67bcwGnurUBlLFieUo2z1a35@Ul55RbjuH3(Ny3GzNGvY=h&0Fj@G^1X!t7J@ zCobGT?067%Jt_^+|WB57&}uxEBUU zJ}!K{l6K<4w@EtghjEvg=jZshRM_ka*BZ)&ElDBngx?Vxb%dL)N+0p_BKReVz|B<# z)q}WjVF4M33%8OaJP5zL#yL~!SJMw92Y0|(B!CNxl~HZSg~x~&cj=7kL%oro_pmPp zqiSO`s)!(S3~nUN@c?|qWaQ^S^gsL{%&3y29JUKLs=2tZeS}dtabY|eE%o7X;=vUk zT=gvR;%;cKZ&W_q1uqjnZfRgtZ;?{m3(u3t^ZX1PUTtVp7bzFsaD!0=qz=p{In)vQ zh#ME4BvWu<`$k6Q5p9E=Nir@>B;9dg3TcbG;3woFF8rAs#f6WU=|fyNlX!7IJWO1_ zbKeVpCgXA8C1S^g0~@m~T<9QeaiN=-ap7`O#X190-h{rT+y_fYAueovBiqG=qscOP zFT6lXadT6)PXf3Leoe}8KfL26#u~T7Oj3z^;Z>q8@ZM%dWoyA45RWn{3+aGcp^aE^ zJ3K|YOPyPcDvl)KHke85xEDSU&3@u8xRXr61MmlnQKgHwHmayL%njTMcaj`D2v^-k zKj6Y1ZRvkpXd?x<2ks~4i>wERwP&v4c6f?dadV7O?IzQ3;lmwh4=!9p5^&YgsD_Zm zxD#F?%Wz94`krjYz3_Wdi3`JTr*CoL&7=soLhl{S)l0PDPPR*8@gQ7j<#@o&osH^G zG8Y$y-_7xY3-9mBSmKsAqk4#xZ$IG1ujhQ zK|kQawImw1_cW?6hyxG6s9x+ZE<77gU*W=QWIXQfZB$R*%f8_rIH51|A9waMs)h;l zgVcd{Br{&PJ&32)Z8pOa;H08V$XE!+$Jq*%&f#A6&gQXf7@ znqJ}GkKj9xGoL9J=8!Vn{De{U9>?)c9XA~G495tro;9kW#DP2Ed@>&Qz%9gy``{%~ ziVIE8aW2M%uM-b0TtG5#VJ4Y^`(e}PIUio-dky%FlQF`Dd&ybq*e7zGBHbzX!TVld z>~JSMOGe=47uhf3kUDViB-W3+;16Uj9)vGWrr&T6yh6OV`6Z*eoy1r1yBly9vEagE zBmx&UdYSVl^@VLnDK6|lw&PCNbPD}OeH$D{HsiuCi3b;cPcm@fPh=7U5;b8+ET;>3mDlF_)u#Wj?~S91-8S;T@1zb27*5H^^}c>ovgA>(l2_r#8y zUpJ}&#E%Q#oW=g*!nes{T&2?oB!F9IQ~wRd0(ZktiM@tNSpV~p_td~^ZhMI9GhPA1{PDl!@u8W(at$F1-!G7a~_``yeR+zCGkQj7~P zkOEvd=q<(+_rvhFnPa+^Ar8WAxN!4g+K&s1NK;&Rh$!5##HfytNw|8)s9qz}a1YFQ zm*9TbCX+Vc!d~yu23+_c$-%wwh2^wa>aQ@WF&?(1rypPz$-{*$SF%oAIFC%ih0BQp z7p@`kxNt3r#?>mWxg;O=!yu``g|j}S|8e0;;>Vq_W?b+9?4LtBap7q)2^YS%mh%#B&NZs%$uisxe;|2y5Z=9x^CWJECVJ^lTzHIR;zGj)j%(ZvKO!G+%t z2QFOoDc47wji~WtF7Ad;Z{*m-J#ZJv!TsI>!o?uF3>v=g_%CrKVIJVqAd!b&m?7pgDW2iyvu z_0ey*Z7bh5ky6|T&yjLmZ8NG{NpyJ25R-5tE*wOH)N#N&zv0|Lxf6avy5a$N*AC_( z?uKo4(oWnCcaS_>7+pvo;=))m4fn!?-CVP9C!9r&;%+$kTaFRjQe;#vQi*$@ZZG>5 z!M?zCBmy_@V;z3_9d{kzT1Mh=^_@|*B2HX5oQ%MQkCOzc4@ZB`HgG?@shIx6t?(ab>d_}~1&PFc@TtR`b8t8O zm2|+>5z5G1T-b>?ap6!h0vEn}l=kDo)jx8NjoXhghsiSB2md5xxN!DQ^bs!HNxZl@ z!0}El;w~6-oZ}j|!?#INeU3rc`)9@s7Y-rKaSz;09Ju8K?=54#;Z8XJ6vv~KpEjy( zBnJ<|{Bn*Fak%Uk`VIHPt-sPv+gZVS8^REF5Chq zkh!=Een;GR5ca*ydT|HbKs>k~_Ps*;r5xrHuav_(uhRdx9hMMF!iVOFULfm?d{jKJFO?_7lKTl95l_U<2k`cJlnYf0Vlp7arAX9Lm(wme6x4{9V z!woG%bm5V>&_^y(M_5UY;zFarqzZ9if0B<2#}W_jg~y45^#~s~nN$KUe34jjbC^lJ z9BxvRa6jx4K|66fTw0Iy;6WJOfc4`}_!eo}sAY(8k+g|&;rAqf3r~fOM8 zQQrnXBJsE%ZfImuc033>m`y4Tcf-uavJHMpamx^Iu`nla;Z$;#IsrJn z4eg;k2=BX%KE(a-NIS+9ceH0r$!OdKlVfO`I2_r5zQx_}2r0mY86D{_T)3QM;6Zqm zq%>(6VqPbj)a;Pu7rr<&!8I21! z#&MkDmU|d?;+ArFn3Uqev~DJ~85h1lR^uL6zdQSjTj3j|c~klXzR-g{p#4?ITfcn~^!b3Vb{a4Q*)`=Q}pUc=3B z9+`rB;c?=^gYdRK^gnKevxpn_!0$;W9)R0zj4Q70WBVircffMu#m#*gBeETLLw6!$ zjr)_B7X#>ro2UanCJGmRP0mtB4K%4HWCZ2HUc`nAA0V-~1I{20+zs={c-;H|^N~1l zC;TOueZ=j9m`lVh_2FKUi3i}F53(;(2bK{pZXRq>(?}uifjT?wY}PWwr|@#hg)ZX9 zeK71HIbSeO;3i_h1Mm-$jteIYVXol9StJD)?k4fLa6jpQn}^c=6pl6AF^prDl;Xmb z4>Lz`;fEv-SHn5~kocQhhS+o@=VDygj6~qVmZY5eUbu_oQ!Z>Uif!S-A&+og#f8rh z2QGY(B;!H&&S=IL_rYCbn7g=nEc1bs;STuYlZ>g!cH&HpSTCMevxs+)g;bsWV6(VUz18)*yLr-pSZ9! zDZ~Tt*(uDc7A-?ec!f6L!enB`y>J`J!-W@!8yB{j%DlpbUC20GIGEUR7yOA7;ObSA zT0*wtKG^0p#u0bJEYcy0@0X!{I@`sC&yh;%2wx=uc`w}J;+#Mo+f2@NvuG>sgFVuj zSGWVdLCSF9R#Joue&il4-sR_mLcAn!|_77uq!FXUGN-Rb|!G(LsXxzHPq!LLv zF5FLwaN$vsj|-Wc`#2FYIPM;li*z9ACH> zPWhH&09QpO)t;o|R+vIEa0kpHi*X-pwwL=%sROT()#CfO?vUoKxrc#Yk}ArD8T)BB zF8q!7abbHuI3vG?+wBp-!cDiJA9ACOZoREb#pQ8$1O0CBugDQgQVbY*tUfI zm2y}{(s1)Z<^q|9`{DRQv`Om2Z%f%1+;*6`afJ8a!at93{=|i8KhgiVFTfl=&VEUK zm`#jrD2Mxh=6sG@PS97RE$)XWNd_)FN1V8DWEpM7g$sxc7rIF-?t^VllG|E__%I%c z3&)X4>IjQS02fA`qRqIlGs(w=gNXveYc5okz`i)}%cfwCAILG4Vb0)R!JpG0{ey6>pd0X0WfjLDixDQUe z$Tb4@z;>4yM_l+QNx+4Rh!yw4u>Z!<{l{4~=MNnJV9f8C?lhBasSIL6xCkMP6$W7t zLbzxN;UdIl4MM&fEF_I=4n; z`fo*Ls@TYSUb8aILqFZa>s42#fx5M(()V&I(=r`ib6{mE>hK^;(cxui)8$Po(_Mor zQ~jSbufCaaI>U>Qjo!R6jRO5C$S(zrqb{?>m zW6(KXf$6$!>&kRKX6XX|1NDP^Z=CCfRHo&&heu(t4!?)_I=taFm1%aomJi>yGPQbb zfnUHdUFQ9^t4zano}a};9bRo{Wy`S@bB^8I^4Yrbgr#39ki>tHNL<*{<$)>>pWKuuk>#zXx?%U z$ELgZbxhD@-geK*v_OZqZg)I7T;8WLO^q@913GovzLjaK{VUTF-Nj#{eG|_dKIDMP zG+2jEL0=ud2rG?G2Ue#0Fx~d>+nA)o)dxE^-OWcH;uv%%--`vh#J^#&&Kz2q?nY0H z=kHLxsr`?tOqU>|yZC){=djd@Kg)0oPYSYklkR2$XdAFwD}Od^cJK`@R%Gc&zK@F z!$6(JRHkz=IJWbr7!uq6QkibVFkRw9kN4iXlRv`f7;{2pYDAX~AB|}`JPw^YJU;$g z7kS&Um1&O7@#C1UyE&a`z3B{(!XlmLl_xp=7=N;PL&av^cU)!K0>gFqYYfui)>F)b z&htMpRfiXy>Ns@xdyLk((<;-R`N}jycXAg>y2S5dg$_?W!`jf{>oH$v&a6z^qkePO zi%&<3?&RmtPnY@0@#a~lvnta!7_75rSEd`#rn~sVbFA~&KEb_yuIG~O<^ktf8@i3J zzSw(7siAL&*d{sr|qcU@(=6w`G033Tf4GK|&X z-!W2WuXoQPx3zng&qccqUxcgPDYhc~?2#||Cd z26J>LSKQ-Sw2iNwd98bWywKs5_j#Telk4)a4{f%m2i#LA=y1n_jz@O*41(xX!J{QY%fzNo=HPBuB16qdK z=WCU|-ZQ7V$nD*pJG#WpZ@8Cr_+gCD;b$;ZXZ~$&-?3(N=ezC;6m)v8G980rZ0G0D zrOUkY`__rh@dub6;}=(^O|VF}@g*qhB0r6`?R|fY=V6czPx!z!)8SjN()jS5SgLz? z;D^q~m^NPbKjvBI_*smN?d8gJ4JPU?uKvg~Q@8TXn668_$H$IMhkH=c;fDXZ9y-T8 zpL<_jUgmS)FWrYb*bg6!7M^6>8*|BkN9a?f^Tb&>18cRad- zi|EiLzF>u8*4dwY4u(m(n}5T69UlFQ*XZzxm=a_7=U;ui)`j1Ed{0$rxz4Osm8Pyy zl`_Lzql&83Tve5_x|hK&4)S1?*v@@3L@c%ZbN(*%OYs}E$Ur^9~u|BPb>@NLRc_-ahhfhI;F7Q3* z)Zy(0Ri)87yf@l(+PErhfQ34|C+6z#v6!L5C!(MW{1%qz9v--9Ra&My`56pp^F3i+ zcW_ner^DN!TIcyb4A&*TXbW?q+p^{aqje`w!vY;%jxHVUv!!*W!<%7(4sU@mI>&cl z@UHz=IkQz&YSH0=NIJY7mKq=4Vr%EFyZFQ*RcW#@;r+IAOgg-LXjK}e!`0h6ex2K) zD!sX5RVwQ2u&Q(nX6rn6?qm*iH`nc4l@{q%ZrG(Nm30T#>{^vp>Q25Hu|%LT_YXd2!nO_DD>4uo{MEV{3^P2c+1_)n+_j|X*zs8Ch0Q&Fx)Zdw%r}WKHh6L z$H4vetxAJ*_+Mzz-TPOiqdTkt9sUp#bolfG&5v$9$eO_n-N`F3E4Ghx44AF+{5tT z)A8@=_ds|Fmf9Zv1>HK_`$F@h!;>!ZdY!wtD$PWT*Oqt%ChG7Bmss06d>4l4@Ei=% zZI`<5F;|BNUS`g9cuN#?o2Tv!=17M(#3&t}j^R36a8IFrul}oi%GHj+_VC3h>oR|Jjbk>Z z?b@pJE{5qewJKFjt4bqv=EkaY#7(Y|?&5~&uAR>FTDO@8UE*hp?wuHadsRB_4(Aoy zdDfk-k?!HU6Jr z5X*G<5G>T;lV`bpI(#l>=h&huMXtb6$M zr>tpR3Rq1SuiShhz%+=xjx_z9| z;fWZh(;Gf-dCRraxwjoBTK4U~%7u3vgYDsIDC-_RYLT^JOt|)4bD_f*V4&{d%@#Xu zUE-%dv~G3Ve|&r|n;%^W|JORvol6|!C*F5IA1}D(Q_p|f!&_mgF7s+j?Z=q#O~~o+ zT(rk)`2`Ho=`&+ciZPsDtvb!r;c=^1r>VNTx;p(_Q|)&k%v)`Bnv0dX%s*lH{{2^Z zQA2g=tHVE{LYEq=(|WzUR)=@N0v&!ZNLpq>^jxyt$x+1O}F*0PM=}4ZXHmaw#FhI9)*$)@7`LSrt9$j zn5@H7FkWZZbDV>!(^6gBq&hv8bxgW#tLpSPIu7W+$~$abordag2L|fQkm|J8_SI>u zF78mBUd2RR=Cy}ar%5``Z(zFa;WKxtPP1b?*X~@M=IJa?!vbC6x3N%{d7oXX(_)?H ze_=_C;Xb=or{%GoXZ^W4wH)YL?^c~Q#Y7$6Xt?>&;Vm&-hqp&o7x;E8(c!zWK!-2b z-Er#hoha(?@0g-B4^1>45!>@m}HE(5}O!1Dv}K ze~f-Q{57g|_kq>vyOFM!4zD%3I!(}>M|q!|If*g6?XiwoXOF8+!~WuW=@P$tygAWr zCse14P=By%%~Qu(w>rE8gLHVW6U~n<@uw$w51l=kF;3_Be2mux{sj|t>p1g-sk)o1 zPO%PRJ3oNAy3FZR^Q<$xE6Tcq^H{1od9Bl`{oBHhnO{crA=WDYi19l7#p&iyhcjoG zLml1>{d9@vW04N0v#Nb=Xif6Qn5M(+n527n^x2LhPhK3B=-iCzbUg;yPZuvj zPKW>V56>eV{t8*$c9-YvOvj*0eBj;YL3i>7vs`c8&Hux49lqc}_mU1@i`hCeyE^TS zAxHLK<#ir*kLd8msL*+S0PVV)vyXU==nnpRj^otD$9#;#LLL4Hb9K1Sc7foKk0ta;oGs&m>xd(Dc8dG@Lnayqr;;xOs8jDi)YV!!(<5S+TPIMQ)g`zI=xr?kxUE<;=?zPyy)P0RH z$Mj$2H9vD+I^2XII^6Q5XSEJ@qFRT4z;gQuzxTCs)WvU%UEz3)Dg9&{N;*937ssH( z?_sLWtu*#m_d|^5O@Fgb-NC2-Zau_yUU#*c)N-u%<<`|}(h%Lj@1aAdHER4BzM3>n zxAN|op~IspYSLsKJ_+M>iJRA~NfpQWx{~k5Qrp8HV4)80R9lng=we+>y0X3|^)tSk zzig=SG2DIHSd-pByH34o(m|N4!yjjAQeKDeZ*m+u*SjWd*j$sQNAr7Fti%85Q> z+5R=@6ZGit(gDt0hgYJc^Xt~6jaq9`^%c1?yl zFXMZ*uSq|mM~D0FP?Hwv@Fke5!&jiF!#7~E4$s7R9iD@n?%_LkG>2n-{>=BHO^0iC zc71htTeRr#16bj;UAxqz@7m0T?H#*%e@xP4{=YxFUeWx{Zq7}&4tETgr@MKB-Obg> zKDP3i7^1`1qOT4=gq0`xot*X<2ONU$I=bj;cx5WBfSZkK%O>t4X7E_!tb=;fFCuhu1jV+R))+ zvC@9h5jE*LOt!tm7mT(hbr)}bq_v_uc*s%CSLgX+)Su$#+Wab(+a7)$W!=LYAMF`v zO!yXLb$AB)=`wGSGjF<$ufbT|#cyJz4*!59I{f-E=0}GYW0nqoh-o@}>ao_6F7s+* ztd&!Je}fBX)!~(>kN!(ddK;5;c+ObIpu-C>LU)~5lb$)rwbPlCYtnhKePb-i@>CG^w9 ziRKDpbq`;6zT?y--sErQS9kCwD8_i6aDlms@!aP^Yf0z$cnm(>&&T;zWOTUgB6DR- zIEN)Mo+qGNm$?7M{-5#T1JJI+M`4IAaOWgzK$m#jWY<^cF8BUepu>Cq-Mr}V5h&_1 zUw?)7)tM_@pMrb;3~PWdyxKhI5`T@cI{f}Mu8R&2y%xI2^U$rsTTk^~I=nBY>F|;0 z)CK+&i*&lqvmHxyneUwD7|wM3H`b){F;RzSVT=wxa+71w;b$;ZhZkX>ZoAoQr&}{R zJnJ_1kq$qKSvtHJQ*`F`nzRF2$NSoluSK;E{|n2FDf9k!dN13%_|h3ZM(7gHzss@d zj(_@mX{K}3oqRnCy2z{FZ60(hZ;PUCD>2yy`S_^YxJa3CqjOW)dUuW*M zelg@MKWFD_(NBjTLxm0>Jj?YpKKwSib;rNFuFEsim>ypAfHkIDAFN4#Ls5sfe8_WB zhvz)(*{h3>c%Gm~hktt1K6Nm4V)8P%Cb{%ziG^Xjcl4rm?*Ijo#?-})?W7XOD?lbf|N5AA6z6{;T zeO_@qx{WWuI9=d53mmh~yy}^Qr8?ZJ+cD_yI_T2jy)Z?$zF`gg+xzMQ&v?_vpb3tj zuU_ampiBG-+G0ERdCPsRTlpGv=q|qMZ67amH+Q^a|2jNokz>>0_mI=McWcr~g9{vi8ba>#kIrR$`$J zU$jPTnytgPpr~^dwW(pv+O$-+@iD0Wn|a{tD{E6mm-*zX+SFGU_@C&|;oYih(-0lr z3$417t7~f0D4pf4>uS>i9sVn3>F{L@wP}(LFF{_n_Nq+t&9w%(Fc_8#8tIvke@B4zD(_HciywH856p z^4%D5q0hUxWkYkT!>6O44qy2v?`3@W7A)1_+ptjQ2i2xsHm>!#l6~^!o7AQWx`%(* zv^GuAxxuw*{moq$9ljN_b$I3$)`l)-YyJGm{&g4MyLD~q(b*xjX`5|oQ@Y6h`6Eo! z;h&My;cvFBP3=0|cc^pG;qB0>d-&w-Yg5I=elE=AU9AJ#!^8jV*mU?M%+lc(cdJcP zb>|+n=^yClwOzb(yXz9o1NN#-gLNB^AK`s<$G+CXevT)$?_ZntJHYzUnFDLn!^rD0 zw;WWPI(0YiII1ZaK!a)7{6`rc;k|oph1c98;URbSsa>G9A7g z3w8J@lynb&{TJ&;cOGAx&N`ts)nDS-&YxkF4rj)?_BwnL2I(Syf}Bn#x~8X_H{E)s zXA7pq7`|q_>!rK-Jq*6o^OJj>WxqPy`)v2MG2#9w>+n#_kNxn`=eTyp7x+tz(3uIg zVT^9$DX729*Fl^)*ZPbx+<}EUJQj0wxD(TL__6qJ9ex_)bpE{BbjV-LwS9JT^+a>4 z!+8{R_-;(p;eTPY4xim=?dtGkWOeu&^wZrJ)~2g2@qEyom)53_QP$})YYExO))GID zdL1rfxiM{%Yts{$VSD)2%RN7J_+I37c$dFBe;qy?Lv`yE=ZZPH$Rn?Cf9Wn>i6uIF zrFCBLUeQ+@gZj%oEBFqK(BVt3u^x2z3bg1l_qx{c=+m8B z(QS9Q*Dyn8?yOB)&9GK=C-3_Y_eeC~gNncVeMr9aF7so1_-b_PGJp0@=Wa}PrfY<( z&fHy__Q3)jz6P^(_#c?A!)M-Ou5@?;@;ba2qjh*0+I9Zk+H}G!@1eVRF$PXChMVrQ zMs;{SEH|c;_rKqDx4ppgFhZAk{Vvx+xA8HUsl&fviVoL5;FxrHU5wT_eiCzanZJ9` zJm|KE+&k!dh0i^B>xX?@(BXTq%$SZxJi{@>_8vaqQP)z3|AI+6{1nFN@M{>Q!!>i< zQ@VpEW411G59aF3W3_3s$IZF!(!?%+c(vfy{F_~citNgciw zeRa4S6*~MOdg8SUtp8UXgY5-=1}k)Uz-x|Qho`^g8KT280v(=>f)4Naw&$}hEUHa+ zzH2>Q?Yf5-TerH%4`8tl@B4v$>hOUdSsOZhBBto@mLFRiIy@R9b$AZiblVd1`iXPV zd0vX_HGb~EFMsA^gAOmn3S%-~)TXMh%(Ly?{1aNP^>ugnYuC>9@Sm_)hmXTN9X<

#|0hkjj=k+$==e4VB-U)+r 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 z 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 literal 0 HcmV?d00001 diff --git a/sqlite3.exp b/sqlite3.exp new file mode 100644 index 0000000000000000000000000000000000000000..f266211465ca22369c1144497d194bc6d28a71b4 GIT binary patch literal 48247 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 literal 0 HcmV?d00001 diff --git a/sqlite3.h b/sqlite3.h new file mode 100644 index 0000000..9b284d2 --- /dev/null +++ b/sqlite3.h @@ -0,0 +1,12836 @@ +/* +** 2001-09-15 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** This header file defines the interface that the SQLite library +** presents to client programs. If a C-function, structure, datatype, +** or constant definition does not appear in this file, then it is +** not a published API of SQLite, is subject to change without +** notice, and should not be referenced by programs that use SQLite. +** +** Some of the definitions that are in this file are marked as +** "experimental". Experimental interfaces are normally new +** features recently added to SQLite. We do not anticipate changes +** to experimental interfaces but reserve the right to make minor changes +** if experience from use "in the wild" suggest such changes are prudent. +** +** The official C-language API documentation for SQLite is derived +** from comments in this file. This file is the authoritative source +** on how SQLite interfaces are supposed to operate. +** +** The name of this file under configuration management is "sqlite.h.in". +** The makefile makes some minor changes to this file (such as inserting +** the version number) and changes its name to "sqlite3.h" as +** part of the build process. +*/ +#ifndef SQLITE3_H +#define SQLITE3_H +#include /* Needed for the definition of va_list */ + +/* +** Make sure we can call this stuff from C++. +*/ +#ifdef __cplusplus +extern "C" { +#endif + + +/* +** Facilitate override of interface linkage and calling conventions. +** Be aware that these macros may not be used within this particular +** translation of the amalgamation and its associated header file. +** +** The SQLITE_EXTERN and SQLITE_API macros are used to instruct the +** compiler that the target identifier should have external linkage. +** +** The SQLITE_CDECL macro is used to set the calling convention for +** public functions that accept a variable number of arguments. +** +** The SQLITE_APICALL macro is used to set the calling convention for +** public functions that accept a fixed number of arguments. +** +** The SQLITE_STDCALL macro is no longer used and is now deprecated. +** +** The SQLITE_CALLBACK macro is used to set the calling convention for +** function pointers. +** +** The SQLITE_SYSAPI macro is used to set the calling convention for +** functions provided by the operating system. +** +** Currently, the SQLITE_CDECL, SQLITE_APICALL, SQLITE_CALLBACK, and +** SQLITE_SYSAPI macros are used only when building for environments +** that require non-default calling conventions. +*/ +#ifndef SQLITE_EXTERN +# define SQLITE_EXTERN extern +#endif +#ifndef SQLITE_API +# define SQLITE_API +#endif +#ifndef SQLITE_CDECL +# define SQLITE_CDECL +#endif +#ifndef SQLITE_APICALL +# define SQLITE_APICALL +#endif +#ifndef SQLITE_STDCALL +# define SQLITE_STDCALL SQLITE_APICALL +#endif +#ifndef SQLITE_CALLBACK +# define SQLITE_CALLBACK +#endif +#ifndef SQLITE_SYSAPI +# define SQLITE_SYSAPI +#endif + +/* +** These no-op macros are used in front of interfaces to mark those +** interfaces as either deprecated or experimental. New applications +** should not use deprecated interfaces - they are supported for backwards +** compatibility only. Application writers should be aware that +** experimental interfaces are subject to change in point releases. +** +** These macros used to resolve to various kinds of compiler magic that +** would generate warning messages when they were used. But that +** compiler magic ended up generating such a flurry of bug reports +** that we have taken it all out and gone back to using simple +** noop macros. +*/ +#define SQLITE_DEPRECATED +#define SQLITE_EXPERIMENTAL + +/* +** Ensure these symbols were not defined by some previous header file. +*/ +#ifdef SQLITE_VERSION +# undef SQLITE_VERSION +#endif +#ifdef SQLITE_VERSION_NUMBER +# undef SQLITE_VERSION_NUMBER +#endif + +/* +** CAPI3REF: Compile-Time Library Version Numbers +** +** ^(The [SQLITE_VERSION] C preprocessor macro in the sqlite3.h header +** evaluates to a string literal that is the SQLite version in the +** format "X.Y.Z" where X is the major version number (always 3 for +** SQLite3) and Y is the minor version number and Z is the release number.)^ +** ^(The [SQLITE_VERSION_NUMBER] C preprocessor macro resolves to an integer +** with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z are the same +** numbers used in [SQLITE_VERSION].)^ +** The SQLITE_VERSION_NUMBER for any given release of SQLite will also +** be larger than the release from which it is derived. Either Y will +** be held constant and Z will be incremented or else Y will be incremented +** and Z will be reset to zero. +** +** Since [version 3.6.18] ([dateof:3.6.18]), +** SQLite source code has been stored in the +** Fossil configuration management +** system. ^The SQLITE_SOURCE_ID macro evaluates to +** a string which identifies a particular check-in of SQLite +** within its configuration management system. ^The SQLITE_SOURCE_ID +** string contains the date and time of the check-in (UTC) and a SHA1 +** or SHA3-256 hash of the entire source tree. If the source code has +** been edited in any way since it was last checked in, then the last +** four hexadecimal digits of the hash may be modified. +** +** See also: [sqlite3_libversion()], +** [sqlite3_libversion_number()], [sqlite3_sourceid()], +** [sqlite_version()] and [sqlite_source_id()]. +*/ +#define SQLITE_VERSION "3.39.4" +#define SQLITE_VERSION_NUMBER 3039004 +#define SQLITE_SOURCE_ID "2022-09-29 15:55:41 a29f9949895322123f7c38fbe94c649a9d6e6c9cd0c3b41c96d694552f26b309" + +/* +** CAPI3REF: Run-Time Library Version Numbers +** KEYWORDS: sqlite3_version sqlite3_sourceid +** +** These interfaces provide the same information as the [SQLITE_VERSION], +** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros +** but are associated with the library instead of the header file. ^(Cautious +** programmers might include assert() statements in their application to +** verify that values returned by these interfaces match the macros in +** the header, and thus ensure that the application is +** compiled with matching library and header files. +** +**

+** assert( sqlite3_libversion_number()==SQLITE_VERSION_NUMBER );
+** assert( strncmp(sqlite3_sourceid(),SQLITE_SOURCE_ID,80)==0 );
+** assert( strcmp(sqlite3_libversion(),SQLITE_VERSION)==0 );
+** 
)^ +** +** ^The sqlite3_version[] string constant contains the text of [SQLITE_VERSION] +** macro. ^The sqlite3_libversion() function returns a pointer to the +** to the sqlite3_version[] string constant. The sqlite3_libversion() +** function is provided for use in DLLs since DLL users usually do not have +** direct access to string constants within the DLL. ^The +** sqlite3_libversion_number() function returns an integer equal to +** [SQLITE_VERSION_NUMBER]. ^(The sqlite3_sourceid() function returns +** a pointer to a string constant whose value is the same as the +** [SQLITE_SOURCE_ID] C preprocessor macro. Except if SQLite is built +** using an edited copy of [the amalgamation], then the last four characters +** of the hash might be different from [SQLITE_SOURCE_ID].)^ +** +** See also: [sqlite_version()] and [sqlite_source_id()]. +*/ +SQLITE_API SQLITE_EXTERN const char sqlite3_version[]; +SQLITE_API const char *sqlite3_libversion(void); +SQLITE_API const char *sqlite3_sourceid(void); +SQLITE_API int sqlite3_libversion_number(void); + +/* +** CAPI3REF: Run-Time Library Compilation Options Diagnostics +** +** ^The sqlite3_compileoption_used() function returns 0 or 1 +** indicating whether the specified option was defined at +** compile time. ^The SQLITE_ prefix may be omitted from the +** option name passed to sqlite3_compileoption_used(). +** +** ^The sqlite3_compileoption_get() function allows iterating +** over the list of options that were defined at compile time by +** returning the N-th compile time option string. ^If N is out of range, +** sqlite3_compileoption_get() returns a NULL pointer. ^The SQLITE_ +** prefix is omitted from any strings returned by +** sqlite3_compileoption_get(). +** +** ^Support for the diagnostic functions sqlite3_compileoption_used() +** and sqlite3_compileoption_get() may be omitted by specifying the +** [SQLITE_OMIT_COMPILEOPTION_DIAGS] option at compile time. +** +** See also: SQL functions [sqlite_compileoption_used()] and +** [sqlite_compileoption_get()] and the [compile_options pragma]. +*/ +#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS +SQLITE_API int sqlite3_compileoption_used(const char *zOptName); +SQLITE_API const char *sqlite3_compileoption_get(int N); +#else +# define sqlite3_compileoption_used(X) 0 +# define sqlite3_compileoption_get(X) ((void*)0) +#endif + +/* +** CAPI3REF: Test To See If The Library Is Threadsafe +** +** ^The sqlite3_threadsafe() function returns zero if and only if +** SQLite was compiled with mutexing code omitted due to the +** [SQLITE_THREADSAFE] compile-time option being set to 0. +** +** SQLite can be compiled with or without mutexes. When +** the [SQLITE_THREADSAFE] C preprocessor macro is 1 or 2, mutexes +** are enabled and SQLite is threadsafe. When the +** [SQLITE_THREADSAFE] macro is 0, +** the mutexes are omitted. Without the mutexes, it is not safe +** to use SQLite concurrently from more than one thread. +** +** Enabling mutexes incurs a measurable performance penalty. +** So if speed is of utmost importance, it makes sense to disable +** the mutexes. But for maximum safety, mutexes should be enabled. +** ^The default behavior is for mutexes to be enabled. +** +** This interface can be used by an application to make sure that the +** version of SQLite that it is linking against was compiled with +** the desired setting of the [SQLITE_THREADSAFE] macro. +** +** This interface only reports on the compile-time mutex setting +** of the [SQLITE_THREADSAFE] flag. If SQLite is compiled with +** SQLITE_THREADSAFE=1 or =2 then mutexes are enabled by default but +** can be fully or partially disabled using a call to [sqlite3_config()] +** with the verbs [SQLITE_CONFIG_SINGLETHREAD], [SQLITE_CONFIG_MULTITHREAD], +** or [SQLITE_CONFIG_SERIALIZED]. ^(The return value of the +** sqlite3_threadsafe() function shows only the compile-time setting of +** thread safety, not any run-time changes to that setting made by +** sqlite3_config(). In other words, the return value from sqlite3_threadsafe() +** is unchanged by calls to sqlite3_config().)^ +** +** See the [threading mode] documentation for additional information. +*/ +SQLITE_API int sqlite3_threadsafe(void); + +/* +** CAPI3REF: Database Connection Handle +** KEYWORDS: {database connection} {database connections} +** +** Each open SQLite database is represented by a pointer to an instance of +** the opaque structure named "sqlite3". It is useful to think of an sqlite3 +** pointer as an object. The [sqlite3_open()], [sqlite3_open16()], and +** [sqlite3_open_v2()] interfaces are its constructors, and [sqlite3_close()] +** and [sqlite3_close_v2()] are its destructors. There are many other +** interfaces (such as +** [sqlite3_prepare_v2()], [sqlite3_create_function()], and +** [sqlite3_busy_timeout()] to name but three) that are methods on an +** sqlite3 object. +*/ +typedef struct sqlite3 sqlite3; + +/* +** CAPI3REF: 64-Bit Integer Types +** KEYWORDS: sqlite_int64 sqlite_uint64 +** +** Because there is no cross-platform way to specify 64-bit integer types +** SQLite includes typedefs for 64-bit signed and unsigned integers. +** +** The sqlite3_int64 and sqlite3_uint64 are the preferred type definitions. +** The sqlite_int64 and sqlite_uint64 types are supported for backwards +** compatibility only. +** +** ^The sqlite3_int64 and sqlite_int64 types can store integer values +** between -9223372036854775808 and +9223372036854775807 inclusive. ^The +** sqlite3_uint64 and sqlite_uint64 types can store integer values +** between 0 and +18446744073709551615 inclusive. +*/ +#ifdef SQLITE_INT64_TYPE + typedef SQLITE_INT64_TYPE sqlite_int64; +# ifdef SQLITE_UINT64_TYPE + typedef SQLITE_UINT64_TYPE sqlite_uint64; +# else + typedef unsigned SQLITE_INT64_TYPE sqlite_uint64; +# endif +#elif defined(_MSC_VER) || defined(__BORLANDC__) + typedef __int64 sqlite_int64; + typedef unsigned __int64 sqlite_uint64; +#else + typedef long long int sqlite_int64; + typedef unsigned long long int sqlite_uint64; +#endif +typedef sqlite_int64 sqlite3_int64; +typedef sqlite_uint64 sqlite3_uint64; + +/* +** If compiling for a processor that lacks floating point support, +** substitute integer for floating-point. +*/ +#ifdef SQLITE_OMIT_FLOATING_POINT +# define double sqlite3_int64 +#endif + +/* +** CAPI3REF: Closing A Database Connection +** DESTRUCTOR: sqlite3 +** +** ^The sqlite3_close() and sqlite3_close_v2() routines are destructors +** for the [sqlite3] object. +** ^Calls to sqlite3_close() and sqlite3_close_v2() return [SQLITE_OK] if +** the [sqlite3] object is successfully destroyed and all associated +** resources are deallocated. +** +** Ideally, applications should [sqlite3_finalize | finalize] all +** [prepared statements], [sqlite3_blob_close | close] all [BLOB handles], and +** [sqlite3_backup_finish | finish] all [sqlite3_backup] objects associated +** with the [sqlite3] object prior to attempting to close the object. +** ^If the database connection is associated with unfinalized prepared +** statements, BLOB handlers, and/or unfinished sqlite3_backup objects then +** sqlite3_close() will leave the database connection open and return +** [SQLITE_BUSY]. ^If sqlite3_close_v2() is called with unfinalized prepared +** statements, unclosed BLOB handlers, and/or unfinished sqlite3_backups, +** it returns [SQLITE_OK] regardless, but instead of deallocating the database +** connection immediately, it marks the database connection as an unusable +** "zombie" and makes arrangements to automatically deallocate the database +** connection after all prepared statements are finalized, all BLOB handles +** are closed, and all backups have finished. The sqlite3_close_v2() interface +** is intended for use with host languages that are garbage collected, and +** where the order in which destructors are called is arbitrary. +** +** ^If an [sqlite3] object is destroyed while a transaction is open, +** the transaction is automatically rolled back. +** +** The C parameter to [sqlite3_close(C)] and [sqlite3_close_v2(C)] +** must be either a NULL +** pointer or an [sqlite3] object pointer obtained +** from [sqlite3_open()], [sqlite3_open16()], or +** [sqlite3_open_v2()], and not previously closed. +** ^Calling sqlite3_close() or sqlite3_close_v2() with a NULL pointer +** argument is a harmless no-op. +*/ +SQLITE_API int sqlite3_close(sqlite3*); +SQLITE_API int sqlite3_close_v2(sqlite3*); + +/* +** The type for a callback function. +** This is legacy and deprecated. It is included for historical +** compatibility and is not documented. +*/ +typedef int (*sqlite3_callback)(void*,int,char**, char**); + +/* +** CAPI3REF: One-Step Query Execution Interface +** METHOD: sqlite3 +** +** The sqlite3_exec() interface is a convenience wrapper around +** [sqlite3_prepare_v2()], [sqlite3_step()], and [sqlite3_finalize()], +** that allows an application to run multiple statements of SQL +** without having to use a lot of C code. +** +** ^The sqlite3_exec() interface runs zero or more UTF-8 encoded, +** semicolon-separate SQL statements passed into its 2nd argument, +** in the context of the [database connection] passed in as its 1st +** argument. ^If the callback function of the 3rd argument to +** sqlite3_exec() is not NULL, then it is invoked for each result row +** coming out of the evaluated SQL statements. ^The 4th argument to +** sqlite3_exec() is relayed through to the 1st argument of each +** callback invocation. ^If the callback pointer to sqlite3_exec() +** is NULL, then no callback is ever invoked and result rows are +** ignored. +** +** ^If an error occurs while evaluating the SQL statements passed into +** sqlite3_exec(), then execution of the current statement stops and +** subsequent statements are skipped. ^If the 5th parameter to sqlite3_exec() +** is not NULL then any error message is written into memory obtained +** from [sqlite3_malloc()] and passed back through the 5th parameter. +** To avoid memory leaks, the application should invoke [sqlite3_free()] +** on error message strings returned through the 5th parameter of +** sqlite3_exec() after the error message string is no longer needed. +** ^If the 5th parameter to sqlite3_exec() is not NULL and no errors +** occur, then sqlite3_exec() sets the pointer in its 5th parameter to +** NULL before returning. +** +** ^If an sqlite3_exec() callback returns non-zero, the sqlite3_exec() +** routine returns SQLITE_ABORT without invoking the callback again and +** without running any subsequent SQL statements. +** +** ^The 2nd argument to the sqlite3_exec() callback function is the +** number of columns in the result. ^The 3rd argument to the sqlite3_exec() +** callback is an array of pointers to strings obtained as if from +** [sqlite3_column_text()], one for each column. ^If an element of a +** result row is NULL then the corresponding string pointer for the +** sqlite3_exec() callback is a NULL pointer. ^The 4th argument to the +** sqlite3_exec() callback is an array of pointers to strings where each +** entry represents the name of corresponding result column as obtained +** from [sqlite3_column_name()]. +** +** ^If the 2nd parameter to sqlite3_exec() is a NULL pointer, a pointer +** to an empty string, or a pointer that contains only whitespace and/or +** SQL comments, then no SQL statements are evaluated and the database +** is not changed. +** +** Restrictions: +** +**
    +**
  • The application must ensure that the 1st parameter to sqlite3_exec() +** is a valid and open [database connection]. +**
  • The application must not close the [database connection] specified by +** the 1st parameter to sqlite3_exec() while sqlite3_exec() is running. +**
  • The application must not modify the SQL statement text passed into +** the 2nd parameter of sqlite3_exec() while sqlite3_exec() is running. +**
+*/ +SQLITE_API int sqlite3_exec( + sqlite3*, /* An open database */ + const char *sql, /* SQL to be evaluated */ + int (*callback)(void*,int,char**,char**), /* Callback function */ + void *, /* 1st argument to callback */ + char **errmsg /* Error msg written here */ +); + +/* +** CAPI3REF: Result Codes +** KEYWORDS: {result code definitions} +** +** Many SQLite functions return an integer result code from the set shown +** here in order to indicate success or failure. +** +** New error codes may be added in future versions of SQLite. +** +** See also: [extended result code definitions] +*/ +#define SQLITE_OK 0 /* Successful result */ +/* beginning-of-error-codes */ +#define SQLITE_ERROR 1 /* Generic error */ +#define SQLITE_INTERNAL 2 /* Internal logic error in SQLite */ +#define SQLITE_PERM 3 /* Access permission denied */ +#define SQLITE_ABORT 4 /* Callback routine requested an abort */ +#define SQLITE_BUSY 5 /* The database file is locked */ +#define SQLITE_LOCKED 6 /* A table in the database is locked */ +#define SQLITE_NOMEM 7 /* A malloc() failed */ +#define SQLITE_READONLY 8 /* Attempt to write a readonly database */ +#define SQLITE_INTERRUPT 9 /* Operation terminated by sqlite3_interrupt()*/ +#define SQLITE_IOERR 10 /* Some kind of disk I/O error occurred */ +#define SQLITE_CORRUPT 11 /* The database disk image is malformed */ +#define SQLITE_NOTFOUND 12 /* Unknown opcode in sqlite3_file_control() */ +#define SQLITE_FULL 13 /* Insertion failed because database is full */ +#define SQLITE_CANTOPEN 14 /* Unable to open the database file */ +#define SQLITE_PROTOCOL 15 /* Database lock protocol error */ +#define SQLITE_EMPTY 16 /* Internal use only */ +#define SQLITE_SCHEMA 17 /* The database schema changed */ +#define SQLITE_TOOBIG 18 /* String or BLOB exceeds size limit */ +#define SQLITE_CONSTRAINT 19 /* Abort due to constraint violation */ +#define SQLITE_MISMATCH 20 /* Data type mismatch */ +#define SQLITE_MISUSE 21 /* Library used incorrectly */ +#define SQLITE_NOLFS 22 /* Uses OS features not supported on host */ +#define SQLITE_AUTH 23 /* Authorization denied */ +#define SQLITE_FORMAT 24 /* Not used */ +#define SQLITE_RANGE 25 /* 2nd parameter to sqlite3_bind out of range */ +#define SQLITE_NOTADB 26 /* File opened that is not a database file */ +#define SQLITE_NOTICE 27 /* Notifications from sqlite3_log() */ +#define SQLITE_WARNING 28 /* Warnings from sqlite3_log() */ +#define SQLITE_ROW 100 /* sqlite3_step() has another row ready */ +#define SQLITE_DONE 101 /* sqlite3_step() has finished executing */ +/* end-of-error-codes */ + +/* +** CAPI3REF: Extended Result Codes +** KEYWORDS: {extended result code definitions} +** +** In its default configuration, SQLite API routines return one of 30 integer +** [result codes]. However, experience has shown that many of +** these result codes are too coarse-grained. They do not provide as +** much information about problems as programmers might like. In an effort to +** address this, newer versions of SQLite (version 3.3.8 [dateof:3.3.8] +** and later) include +** support for additional result codes that provide more detailed information +** about errors. These [extended result codes] are enabled or disabled +** on a per database connection basis using the +** [sqlite3_extended_result_codes()] API. Or, the extended code for +** the most recent error can be obtained using +** [sqlite3_extended_errcode()]. +*/ +#define SQLITE_ERROR_MISSING_COLLSEQ (SQLITE_ERROR | (1<<8)) +#define SQLITE_ERROR_RETRY (SQLITE_ERROR | (2<<8)) +#define SQLITE_ERROR_SNAPSHOT (SQLITE_ERROR | (3<<8)) +#define SQLITE_IOERR_READ (SQLITE_IOERR | (1<<8)) +#define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8)) +#define SQLITE_IOERR_WRITE (SQLITE_IOERR | (3<<8)) +#define SQLITE_IOERR_FSYNC (SQLITE_IOERR | (4<<8)) +#define SQLITE_IOERR_DIR_FSYNC (SQLITE_IOERR | (5<<8)) +#define SQLITE_IOERR_TRUNCATE (SQLITE_IOERR | (6<<8)) +#define SQLITE_IOERR_FSTAT (SQLITE_IOERR | (7<<8)) +#define SQLITE_IOERR_UNLOCK (SQLITE_IOERR | (8<<8)) +#define SQLITE_IOERR_RDLOCK (SQLITE_IOERR | (9<<8)) +#define SQLITE_IOERR_DELETE (SQLITE_IOERR | (10<<8)) +#define SQLITE_IOERR_BLOCKED (SQLITE_IOERR | (11<<8)) +#define SQLITE_IOERR_NOMEM (SQLITE_IOERR | (12<<8)) +#define SQLITE_IOERR_ACCESS (SQLITE_IOERR | (13<<8)) +#define SQLITE_IOERR_CHECKRESERVEDLOCK (SQLITE_IOERR | (14<<8)) +#define SQLITE_IOERR_LOCK (SQLITE_IOERR | (15<<8)) +#define SQLITE_IOERR_CLOSE (SQLITE_IOERR | (16<<8)) +#define SQLITE_IOERR_DIR_CLOSE (SQLITE_IOERR | (17<<8)) +#define SQLITE_IOERR_SHMOPEN (SQLITE_IOERR | (18<<8)) +#define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8)) +#define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8)) +#define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) +#define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) +#define SQLITE_IOERR_DELETE_NOENT (SQLITE_IOERR | (23<<8)) +#define SQLITE_IOERR_MMAP (SQLITE_IOERR | (24<<8)) +#define SQLITE_IOERR_GETTEMPPATH (SQLITE_IOERR | (25<<8)) +#define SQLITE_IOERR_CONVPATH (SQLITE_IOERR | (26<<8)) +#define SQLITE_IOERR_VNODE (SQLITE_IOERR | (27<<8)) +#define SQLITE_IOERR_AUTH (SQLITE_IOERR | (28<<8)) +#define SQLITE_IOERR_BEGIN_ATOMIC (SQLITE_IOERR | (29<<8)) +#define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8)) +#define SQLITE_IOERR_ROLLBACK_ATOMIC (SQLITE_IOERR | (31<<8)) +#define SQLITE_IOERR_DATA (SQLITE_IOERR | (32<<8)) +#define SQLITE_IOERR_CORRUPTFS (SQLITE_IOERR | (33<<8)) +#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) +#define SQLITE_LOCKED_VTAB (SQLITE_LOCKED | (2<<8)) +#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) +#define SQLITE_BUSY_SNAPSHOT (SQLITE_BUSY | (2<<8)) +#define SQLITE_BUSY_TIMEOUT (SQLITE_BUSY | (3<<8)) +#define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) +#define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8)) +#define SQLITE_CANTOPEN_FULLPATH (SQLITE_CANTOPEN | (3<<8)) +#define SQLITE_CANTOPEN_CONVPATH (SQLITE_CANTOPEN | (4<<8)) +#define SQLITE_CANTOPEN_DIRTYWAL (SQLITE_CANTOPEN | (5<<8)) /* Not Used */ +#define SQLITE_CANTOPEN_SYMLINK (SQLITE_CANTOPEN | (6<<8)) +#define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) +#define SQLITE_CORRUPT_SEQUENCE (SQLITE_CORRUPT | (2<<8)) +#define SQLITE_CORRUPT_INDEX (SQLITE_CORRUPT | (3<<8)) +#define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) +#define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) +#define SQLITE_READONLY_ROLLBACK (SQLITE_READONLY | (3<<8)) +#define SQLITE_READONLY_DBMOVED (SQLITE_READONLY | (4<<8)) +#define SQLITE_READONLY_CANTINIT (SQLITE_READONLY | (5<<8)) +#define SQLITE_READONLY_DIRECTORY (SQLITE_READONLY | (6<<8)) +#define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) +#define SQLITE_CONSTRAINT_CHECK (SQLITE_CONSTRAINT | (1<<8)) +#define SQLITE_CONSTRAINT_COMMITHOOK (SQLITE_CONSTRAINT | (2<<8)) +#define SQLITE_CONSTRAINT_FOREIGNKEY (SQLITE_CONSTRAINT | (3<<8)) +#define SQLITE_CONSTRAINT_FUNCTION (SQLITE_CONSTRAINT | (4<<8)) +#define SQLITE_CONSTRAINT_NOTNULL (SQLITE_CONSTRAINT | (5<<8)) +#define SQLITE_CONSTRAINT_PRIMARYKEY (SQLITE_CONSTRAINT | (6<<8)) +#define SQLITE_CONSTRAINT_TRIGGER (SQLITE_CONSTRAINT | (7<<8)) +#define SQLITE_CONSTRAINT_UNIQUE (SQLITE_CONSTRAINT | (8<<8)) +#define SQLITE_CONSTRAINT_VTAB (SQLITE_CONSTRAINT | (9<<8)) +#define SQLITE_CONSTRAINT_ROWID (SQLITE_CONSTRAINT |(10<<8)) +#define SQLITE_CONSTRAINT_PINNED (SQLITE_CONSTRAINT |(11<<8)) +#define SQLITE_CONSTRAINT_DATATYPE (SQLITE_CONSTRAINT |(12<<8)) +#define SQLITE_NOTICE_RECOVER_WAL (SQLITE_NOTICE | (1<<8)) +#define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8)) +#define SQLITE_WARNING_AUTOINDEX (SQLITE_WARNING | (1<<8)) +#define SQLITE_AUTH_USER (SQLITE_AUTH | (1<<8)) +#define SQLITE_OK_LOAD_PERMANENTLY (SQLITE_OK | (1<<8)) +#define SQLITE_OK_SYMLINK (SQLITE_OK | (2<<8)) /* internal use only */ + +/* +** CAPI3REF: Flags For File Open Operations +** +** These bit values are intended for use in the +** 3rd parameter to the [sqlite3_open_v2()] interface and +** in the 4th parameter to the [sqlite3_vfs.xOpen] method. +** +** Only those flags marked as "Ok for sqlite3_open_v2()" may be +** used as the third argument to the [sqlite3_open_v2()] interface. +** The other flags have historically been ignored by sqlite3_open_v2(), +** though future versions of SQLite might change so that an error is +** raised if any of the disallowed bits are passed into sqlite3_open_v2(). +** Applications should not depend on the historical behavior. +** +** Note in particular that passing the SQLITE_OPEN_EXCLUSIVE flag into +** [sqlite3_open_v2()] does *not* cause the underlying database file +** to be opened using O_EXCL. Passing SQLITE_OPEN_EXCLUSIVE into +** [sqlite3_open_v2()] has historically be a no-op and might become an +** error in future versions of SQLite. +*/ +#define SQLITE_OPEN_READONLY 0x00000001 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_READWRITE 0x00000002 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_CREATE 0x00000004 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_DELETEONCLOSE 0x00000008 /* VFS only */ +#define SQLITE_OPEN_EXCLUSIVE 0x00000010 /* VFS only */ +#define SQLITE_OPEN_AUTOPROXY 0x00000020 /* VFS only */ +#define SQLITE_OPEN_URI 0x00000040 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_MEMORY 0x00000080 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_MAIN_DB 0x00000100 /* VFS only */ +#define SQLITE_OPEN_TEMP_DB 0x00000200 /* VFS only */ +#define SQLITE_OPEN_TRANSIENT_DB 0x00000400 /* VFS only */ +#define SQLITE_OPEN_MAIN_JOURNAL 0x00000800 /* VFS only */ +#define SQLITE_OPEN_TEMP_JOURNAL 0x00001000 /* VFS only */ +#define SQLITE_OPEN_SUBJOURNAL 0x00002000 /* VFS only */ +#define SQLITE_OPEN_SUPER_JOURNAL 0x00004000 /* VFS only */ +#define SQLITE_OPEN_NOMUTEX 0x00008000 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_FULLMUTEX 0x00010000 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_SHAREDCACHE 0x00020000 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_PRIVATECACHE 0x00040000 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_WAL 0x00080000 /* VFS only */ +#define SQLITE_OPEN_NOFOLLOW 0x01000000 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_EXRESCODE 0x02000000 /* Extended result codes */ + +/* Reserved: 0x00F00000 */ +/* Legacy compatibility: */ +#define SQLITE_OPEN_MASTER_JOURNAL 0x00004000 /* VFS only */ + + +/* +** CAPI3REF: Device Characteristics +** +** The xDeviceCharacteristics method of the [sqlite3_io_methods] +** object returns an integer which is a vector of these +** bit values expressing I/O characteristics of the mass storage +** device that holds the file that the [sqlite3_io_methods] +** refers to. +** +** The SQLITE_IOCAP_ATOMIC property means that all writes of +** any size are atomic. The SQLITE_IOCAP_ATOMICnnn values +** mean that writes of blocks that are nnn bytes in size and +** are aligned to an address which is an integer multiple of +** nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means +** that when data is appended to a file, the data is appended +** first then the size of the file is extended, never the other +** way around. The SQLITE_IOCAP_SEQUENTIAL property means that +** information is written to disk in the same order as calls +** to xWrite(). The SQLITE_IOCAP_POWERSAFE_OVERWRITE property means that +** after reboot following a crash or power loss, the only bytes in a +** file that were written at the application level might have changed +** and that adjacent bytes, even bytes within the same sector are +** guaranteed to be unchanged. The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN +** flag indicates that a file cannot be deleted when open. The +** SQLITE_IOCAP_IMMUTABLE flag indicates that the file is on +** read-only media and cannot be changed even by processes with +** elevated privileges. +** +** The SQLITE_IOCAP_BATCH_ATOMIC property means that the underlying +** filesystem supports doing multiple write operations atomically when those +** write operations are bracketed by [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] and +** [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]. +*/ +#define SQLITE_IOCAP_ATOMIC 0x00000001 +#define SQLITE_IOCAP_ATOMIC512 0x00000002 +#define SQLITE_IOCAP_ATOMIC1K 0x00000004 +#define SQLITE_IOCAP_ATOMIC2K 0x00000008 +#define SQLITE_IOCAP_ATOMIC4K 0x00000010 +#define SQLITE_IOCAP_ATOMIC8K 0x00000020 +#define SQLITE_IOCAP_ATOMIC16K 0x00000040 +#define SQLITE_IOCAP_ATOMIC32K 0x00000080 +#define SQLITE_IOCAP_ATOMIC64K 0x00000100 +#define SQLITE_IOCAP_SAFE_APPEND 0x00000200 +#define SQLITE_IOCAP_SEQUENTIAL 0x00000400 +#define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 0x00000800 +#define SQLITE_IOCAP_POWERSAFE_OVERWRITE 0x00001000 +#define SQLITE_IOCAP_IMMUTABLE 0x00002000 +#define SQLITE_IOCAP_BATCH_ATOMIC 0x00004000 + +/* +** CAPI3REF: File Locking Levels +** +** SQLite uses one of these integer values as the second +** argument to calls it makes to the xLock() and xUnlock() methods +** of an [sqlite3_io_methods] object. +*/ +#define SQLITE_LOCK_NONE 0 +#define SQLITE_LOCK_SHARED 1 +#define SQLITE_LOCK_RESERVED 2 +#define SQLITE_LOCK_PENDING 3 +#define SQLITE_LOCK_EXCLUSIVE 4 + +/* +** CAPI3REF: Synchronization Type Flags +** +** When SQLite invokes the xSync() method of an +** [sqlite3_io_methods] object it uses a combination of +** these integer values as the second argument. +** +** When the SQLITE_SYNC_DATAONLY flag is used, it means that the +** sync operation only needs to flush data to mass storage. Inode +** information need not be flushed. If the lower four bits of the flag +** equal SQLITE_SYNC_NORMAL, that means to use normal fsync() semantics. +** If the lower four bits equal SQLITE_SYNC_FULL, that means +** to use Mac OS X style fullsync instead of fsync(). +** +** Do not confuse the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags +** with the [PRAGMA synchronous]=NORMAL and [PRAGMA synchronous]=FULL +** settings. The [synchronous pragma] determines when calls to the +** xSync VFS method occur and applies uniformly across all platforms. +** The SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags determine how +** energetic or rigorous or forceful the sync operations are and +** only make a difference on Mac OSX for the default SQLite code. +** (Third-party VFS implementations might also make the distinction +** between SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL, but among the +** operating systems natively supported by SQLite, only Mac OSX +** cares about the difference.) +*/ +#define SQLITE_SYNC_NORMAL 0x00002 +#define SQLITE_SYNC_FULL 0x00003 +#define SQLITE_SYNC_DATAONLY 0x00010 + +/* +** CAPI3REF: OS Interface Open File Handle +** +** An [sqlite3_file] object represents an open file in the +** [sqlite3_vfs | OS interface layer]. Individual OS interface +** implementations will +** want to subclass this object by appending additional fields +** for their own use. The pMethods entry is a pointer to an +** [sqlite3_io_methods] object that defines methods for performing +** I/O operations on the open file. +*/ +typedef struct sqlite3_file sqlite3_file; +struct sqlite3_file { + const struct sqlite3_io_methods *pMethods; /* Methods for an open file */ +}; + +/* +** CAPI3REF: OS Interface File Virtual Methods Object +** +** Every file opened by the [sqlite3_vfs.xOpen] method populates an +** [sqlite3_file] object (or, more commonly, a subclass of the +** [sqlite3_file] object) with a pointer to an instance of this object. +** This object defines the methods used to perform various operations +** against the open file represented by the [sqlite3_file] object. +** +** If the [sqlite3_vfs.xOpen] method sets the sqlite3_file.pMethods element +** to a non-NULL pointer, then the sqlite3_io_methods.xClose method +** may be invoked even if the [sqlite3_vfs.xOpen] reported that it failed. The +** only way to prevent a call to xClose following a failed [sqlite3_vfs.xOpen] +** is for the [sqlite3_vfs.xOpen] to set the sqlite3_file.pMethods element +** to NULL. +** +** The flags argument to xSync may be one of [SQLITE_SYNC_NORMAL] or +** [SQLITE_SYNC_FULL]. The first choice is the normal fsync(). +** The second choice is a Mac OS X style fullsync. The [SQLITE_SYNC_DATAONLY] +** flag may be ORed in to indicate that only the data of the file +** and not its inode needs to be synced. +** +** The integer values to xLock() and xUnlock() are one of +**
    +**
  • [SQLITE_LOCK_NONE], +**
  • [SQLITE_LOCK_SHARED], +**
  • [SQLITE_LOCK_RESERVED], +**
  • [SQLITE_LOCK_PENDING], or +**
  • [SQLITE_LOCK_EXCLUSIVE]. +**
+** xLock() increases the lock. xUnlock() decreases the lock. +** The xCheckReservedLock() method checks whether any database connection, +** either in this process or in some other process, is holding a RESERVED, +** PENDING, or EXCLUSIVE lock on the file. It returns true +** if such a lock exists and false otherwise. +** +** The xFileControl() method is a generic interface that allows custom +** VFS implementations to directly control an open file using the +** [sqlite3_file_control()] interface. The second "op" argument is an +** integer opcode. The third argument is a generic pointer intended to +** point to a structure that may contain arguments or space in which to +** write return values. Potential uses for xFileControl() might be +** functions to enable blocking locks with timeouts, to change the +** locking strategy (for example to use dot-file locks), to inquire +** about the status of a lock, or to break stale locks. The SQLite +** core reserves all opcodes less than 100 for its own use. +** A [file control opcodes | list of opcodes] less than 100 is available. +** Applications that define a custom xFileControl method should use opcodes +** greater than 100 to avoid conflicts. VFS implementations should +** return [SQLITE_NOTFOUND] for file control opcodes that they do not +** recognize. +** +** The xSectorSize() method returns the sector size of the +** device that underlies the file. The sector size is the +** minimum write that can be performed without disturbing +** other bytes in the file. The xDeviceCharacteristics() +** method returns a bit vector describing behaviors of the +** underlying device: +** +**
    +**
  • [SQLITE_IOCAP_ATOMIC] +**
  • [SQLITE_IOCAP_ATOMIC512] +**
  • [SQLITE_IOCAP_ATOMIC1K] +**
  • [SQLITE_IOCAP_ATOMIC2K] +**
  • [SQLITE_IOCAP_ATOMIC4K] +**
  • [SQLITE_IOCAP_ATOMIC8K] +**
  • [SQLITE_IOCAP_ATOMIC16K] +**
  • [SQLITE_IOCAP_ATOMIC32K] +**
  • [SQLITE_IOCAP_ATOMIC64K] +**
  • [SQLITE_IOCAP_SAFE_APPEND] +**
  • [SQLITE_IOCAP_SEQUENTIAL] +**
  • [SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN] +**
  • [SQLITE_IOCAP_POWERSAFE_OVERWRITE] +**
  • [SQLITE_IOCAP_IMMUTABLE] +**
  • [SQLITE_IOCAP_BATCH_ATOMIC] +**
+** +** The SQLITE_IOCAP_ATOMIC property means that all writes of +** any size are atomic. The SQLITE_IOCAP_ATOMICnnn values +** mean that writes of blocks that are nnn bytes in size and +** are aligned to an address which is an integer multiple of +** nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means +** that when data is appended to a file, the data is appended +** first then the size of the file is extended, never the other +** way around. The SQLITE_IOCAP_SEQUENTIAL property means that +** information is written to disk in the same order as calls +** to xWrite(). +** +** If xRead() returns SQLITE_IOERR_SHORT_READ it must also fill +** in the unread portions of the buffer with zeros. A VFS that +** fails to zero-fill short reads might seem to work. However, +** failure to zero-fill short reads will eventually lead to +** database corruption. +*/ +typedef struct sqlite3_io_methods sqlite3_io_methods; +struct sqlite3_io_methods { + int iVersion; + int (*xClose)(sqlite3_file*); + int (*xRead)(sqlite3_file*, void*, int iAmt, sqlite3_int64 iOfst); + int (*xWrite)(sqlite3_file*, const void*, int iAmt, sqlite3_int64 iOfst); + int (*xTruncate)(sqlite3_file*, sqlite3_int64 size); + int (*xSync)(sqlite3_file*, int flags); + int (*xFileSize)(sqlite3_file*, sqlite3_int64 *pSize); + int (*xLock)(sqlite3_file*, int); + int (*xUnlock)(sqlite3_file*, int); + int (*xCheckReservedLock)(sqlite3_file*, int *pResOut); + int (*xFileControl)(sqlite3_file*, int op, void *pArg); + int (*xSectorSize)(sqlite3_file*); + int (*xDeviceCharacteristics)(sqlite3_file*); + /* Methods above are valid for version 1 */ + int (*xShmMap)(sqlite3_file*, int iPg, int pgsz, int, void volatile**); + int (*xShmLock)(sqlite3_file*, int offset, int n, int flags); + void (*xShmBarrier)(sqlite3_file*); + int (*xShmUnmap)(sqlite3_file*, int deleteFlag); + /* Methods above are valid for version 2 */ + int (*xFetch)(sqlite3_file*, sqlite3_int64 iOfst, int iAmt, void **pp); + int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p); + /* Methods above are valid for version 3 */ + /* Additional methods may be added in future releases */ +}; + +/* +** CAPI3REF: Standard File Control Opcodes +** KEYWORDS: {file control opcodes} {file control opcode} +** +** These integer constants are opcodes for the xFileControl method +** of the [sqlite3_io_methods] object and for the [sqlite3_file_control()] +** interface. +** +**
    +**
  • [[SQLITE_FCNTL_LOCKSTATE]] +** The [SQLITE_FCNTL_LOCKSTATE] opcode is used for debugging. This +** opcode causes the xFileControl method to write the current state of +** the lock (one of [SQLITE_LOCK_NONE], [SQLITE_LOCK_SHARED], +** [SQLITE_LOCK_RESERVED], [SQLITE_LOCK_PENDING], or [SQLITE_LOCK_EXCLUSIVE]) +** into an integer that the pArg argument points to. This capability +** is used during testing and is only available when the SQLITE_TEST +** compile-time option is used. +** +**
  • [[SQLITE_FCNTL_SIZE_HINT]] +** The [SQLITE_FCNTL_SIZE_HINT] opcode is used by SQLite to give the VFS +** layer a hint of how large the database file will grow to be during the +** current transaction. This hint is not guaranteed to be accurate but it +** is often close. The underlying VFS might choose to preallocate database +** file space based on this hint in order to help writes to the database +** file run faster. +** +**
  • [[SQLITE_FCNTL_SIZE_LIMIT]] +** The [SQLITE_FCNTL_SIZE_LIMIT] opcode is used by in-memory VFS that +** implements [sqlite3_deserialize()] to set an upper bound on the size +** of the in-memory database. The argument is a pointer to a [sqlite3_int64]. +** If the integer pointed to is negative, then it is filled in with the +** current limit. Otherwise the limit is set to the larger of the value +** of the integer pointed to and the current database size. The integer +** pointed to is set to the new limit. +** +**
  • [[SQLITE_FCNTL_CHUNK_SIZE]] +** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS +** extends and truncates the database file in chunks of a size specified +** by the user. The fourth argument to [sqlite3_file_control()] should +** point to an integer (type int) containing the new chunk-size to use +** for the nominated database. Allocating database file space in large +** chunks (say 1MB at a time), may reduce file-system fragmentation and +** improve performance on some systems. +** +**
  • [[SQLITE_FCNTL_FILE_POINTER]] +** The [SQLITE_FCNTL_FILE_POINTER] opcode is used to obtain a pointer +** to the [sqlite3_file] object associated with a particular database +** connection. See also [SQLITE_FCNTL_JOURNAL_POINTER]. +** +**
  • [[SQLITE_FCNTL_JOURNAL_POINTER]] +** The [SQLITE_FCNTL_JOURNAL_POINTER] opcode is used to obtain a pointer +** to the [sqlite3_file] object associated with the journal file (either +** the [rollback journal] or the [write-ahead log]) for a particular database +** connection. See also [SQLITE_FCNTL_FILE_POINTER]. +** +**
  • [[SQLITE_FCNTL_SYNC_OMITTED]] +** No longer in use. +** +**
  • [[SQLITE_FCNTL_SYNC]] +** The [SQLITE_FCNTL_SYNC] opcode is generated internally by SQLite and +** sent to the VFS immediately before the xSync method is invoked on a +** database file descriptor. Or, if the xSync method is not invoked +** because the user has configured SQLite with +** [PRAGMA synchronous | PRAGMA synchronous=OFF] it is invoked in place +** of the xSync method. In most cases, the pointer argument passed with +** this file-control is NULL. However, if the database file is being synced +** as part of a multi-database commit, the argument points to a nul-terminated +** string containing the transactions super-journal file name. VFSes that +** do not need this signal should silently ignore this opcode. Applications +** should not call [sqlite3_file_control()] with this opcode as doing so may +** disrupt the operation of the specialized VFSes that do require it. +** +**
  • [[SQLITE_FCNTL_COMMIT_PHASETWO]] +** The [SQLITE_FCNTL_COMMIT_PHASETWO] opcode is generated internally by SQLite +** and sent to the VFS after a transaction has been committed immediately +** but before the database is unlocked. VFSes that do not need this signal +** should silently ignore this opcode. Applications should not call +** [sqlite3_file_control()] with this opcode as doing so may disrupt the +** operation of the specialized VFSes that do require it. +** +**
  • [[SQLITE_FCNTL_WIN32_AV_RETRY]] +** ^The [SQLITE_FCNTL_WIN32_AV_RETRY] opcode is used to configure automatic +** retry counts and intervals for certain disk I/O operations for the +** windows [VFS] in order to provide robustness in the presence of +** anti-virus programs. By default, the windows VFS will retry file read, +** file write, and file delete operations up to 10 times, with a delay +** of 25 milliseconds before the first retry and with the delay increasing +** by an additional 25 milliseconds with each subsequent retry. This +** opcode allows these two values (10 retries and 25 milliseconds of delay) +** to be adjusted. The values are changed for all database connections +** within the same process. The argument is a pointer to an array of two +** integers where the first integer is the new retry count and the second +** integer is the delay. If either integer is negative, then the setting +** is not changed but instead the prior value of that setting is written +** into the array entry, allowing the current retry settings to be +** interrogated. The zDbName parameter is ignored. +** +**
  • [[SQLITE_FCNTL_PERSIST_WAL]] +** ^The [SQLITE_FCNTL_PERSIST_WAL] opcode is used to set or query the +** persistent [WAL | Write Ahead Log] setting. By default, the auxiliary +** write ahead log ([WAL file]) and shared memory +** files used for transaction control +** are automatically deleted when the latest connection to the database +** closes. Setting persistent WAL mode causes those files to persist after +** close. Persisting the files is useful when other processes that do not +** have write permission on the directory containing the database file want +** to read the database file, as the WAL and shared memory files must exist +** in order for the database to be readable. The fourth parameter to +** [sqlite3_file_control()] for this opcode should be a pointer to an integer. +** That integer is 0 to disable persistent WAL mode or 1 to enable persistent +** WAL mode. If the integer is -1, then it is overwritten with the current +** WAL persistence setting. +** +**
  • [[SQLITE_FCNTL_POWERSAFE_OVERWRITE]] +** ^The [SQLITE_FCNTL_POWERSAFE_OVERWRITE] opcode is used to set or query the +** persistent "powersafe-overwrite" or "PSOW" setting. The PSOW setting +** determines the [SQLITE_IOCAP_POWERSAFE_OVERWRITE] bit of the +** xDeviceCharacteristics methods. The fourth parameter to +** [sqlite3_file_control()] for this opcode should be a pointer to an integer. +** That integer is 0 to disable zero-damage mode or 1 to enable zero-damage +** mode. If the integer is -1, then it is overwritten with the current +** zero-damage mode setting. +** +**
  • [[SQLITE_FCNTL_OVERWRITE]] +** ^The [SQLITE_FCNTL_OVERWRITE] opcode is invoked by SQLite after opening +** a write transaction to indicate that, unless it is rolled back for some +** reason, the entire database file will be overwritten by the current +** transaction. This is used by VACUUM operations. +** +**
  • [[SQLITE_FCNTL_VFSNAME]] +** ^The [SQLITE_FCNTL_VFSNAME] opcode can be used to obtain the names of +** all [VFSes] in the VFS stack. The names are of all VFS shims and the +** final bottom-level VFS are written into memory obtained from +** [sqlite3_malloc()] and the result is stored in the char* variable +** that the fourth parameter of [sqlite3_file_control()] points to. +** The caller is responsible for freeing the memory when done. As with +** all file-control actions, there is no guarantee that this will actually +** do anything. Callers should initialize the char* variable to a NULL +** pointer in case this file-control is not implemented. This file-control +** is intended for diagnostic use only. +** +**
  • [[SQLITE_FCNTL_VFS_POINTER]] +** ^The [SQLITE_FCNTL_VFS_POINTER] opcode finds a pointer to the top-level +** [VFSes] currently in use. ^(The argument X in +** sqlite3_file_control(db,SQLITE_FCNTL_VFS_POINTER,X) must be +** of type "[sqlite3_vfs] **". This opcodes will set *X +** to a pointer to the top-level VFS.)^ +** ^When there are multiple VFS shims in the stack, this opcode finds the +** upper-most shim only. +** +**
  • [[SQLITE_FCNTL_PRAGMA]] +** ^Whenever a [PRAGMA] statement is parsed, an [SQLITE_FCNTL_PRAGMA] +** file control is sent to the open [sqlite3_file] object corresponding +** to the database file to which the pragma statement refers. ^The argument +** to the [SQLITE_FCNTL_PRAGMA] file control is an array of +** pointers to strings (char**) in which the second element of the array +** is the name of the pragma and the third element is the argument to the +** pragma or NULL if the pragma has no argument. ^The handler for an +** [SQLITE_FCNTL_PRAGMA] file control can optionally make the first element +** of the char** argument point to a string obtained from [sqlite3_mprintf()] +** or the equivalent and that string will become the result of the pragma or +** the error message if the pragma fails. ^If the +** [SQLITE_FCNTL_PRAGMA] file control returns [SQLITE_NOTFOUND], then normal +** [PRAGMA] processing continues. ^If the [SQLITE_FCNTL_PRAGMA] +** file control returns [SQLITE_OK], then the parser assumes that the +** VFS has handled the PRAGMA itself and the parser generates a no-op +** prepared statement if result string is NULL, or that returns a copy +** of the result string if the string is non-NULL. +** ^If the [SQLITE_FCNTL_PRAGMA] file control returns +** any result code other than [SQLITE_OK] or [SQLITE_NOTFOUND], that means +** that the VFS encountered an error while handling the [PRAGMA] and the +** compilation of the PRAGMA fails with an error. ^The [SQLITE_FCNTL_PRAGMA] +** file control occurs at the beginning of pragma statement analysis and so +** it is able to override built-in [PRAGMA] statements. +** +**
  • [[SQLITE_FCNTL_BUSYHANDLER]] +** ^The [SQLITE_FCNTL_BUSYHANDLER] +** file-control may be invoked by SQLite on the database file handle +** shortly after it is opened in order to provide a custom VFS with access +** to the connection's busy-handler callback. The argument is of type (void**) +** - an array of two (void *) values. The first (void *) actually points +** to a function of type (int (*)(void *)). In order to invoke the connection's +** busy-handler, this function should be invoked with the second (void *) in +** the array as the only argument. If it returns non-zero, then the operation +** should be retried. If it returns zero, the custom VFS should abandon the +** current operation. +** +**
  • [[SQLITE_FCNTL_TEMPFILENAME]] +** ^Applications can invoke the [SQLITE_FCNTL_TEMPFILENAME] file-control +** to have SQLite generate a +** temporary filename using the same algorithm that is followed to generate +** temporary filenames for TEMP tables and other internal uses. The +** argument should be a char** which will be filled with the filename +** written into memory obtained from [sqlite3_malloc()]. The caller should +** invoke [sqlite3_free()] on the result to avoid a memory leak. +** +**
  • [[SQLITE_FCNTL_MMAP_SIZE]] +** The [SQLITE_FCNTL_MMAP_SIZE] file control is used to query or set the +** maximum number of bytes that will be used for memory-mapped I/O. +** The argument is a pointer to a value of type sqlite3_int64 that +** is an advisory maximum number of bytes in the file to memory map. The +** pointer is overwritten with the old value. The limit is not changed if +** the value originally pointed to is negative, and so the current limit +** can be queried by passing in a pointer to a negative number. This +** file-control is used internally to implement [PRAGMA mmap_size]. +** +**
  • [[SQLITE_FCNTL_TRACE]] +** The [SQLITE_FCNTL_TRACE] file control provides advisory information +** to the VFS about what the higher layers of the SQLite stack are doing. +** This file control is used by some VFS activity tracing [shims]. +** The argument is a zero-terminated string. Higher layers in the +** SQLite stack may generate instances of this file control if +** the [SQLITE_USE_FCNTL_TRACE] compile-time option is enabled. +** +**
  • [[SQLITE_FCNTL_HAS_MOVED]] +** The [SQLITE_FCNTL_HAS_MOVED] file control interprets its argument as a +** pointer to an integer and it writes a boolean into that integer depending +** on whether or not the file has been renamed, moved, or deleted since it +** was first opened. +** +**
  • [[SQLITE_FCNTL_WIN32_GET_HANDLE]] +** The [SQLITE_FCNTL_WIN32_GET_HANDLE] opcode can be used to obtain the +** underlying native file handle associated with a file handle. This file +** control interprets its argument as a pointer to a native file handle and +** writes the resulting value there. +** +**
  • [[SQLITE_FCNTL_WIN32_SET_HANDLE]] +** The [SQLITE_FCNTL_WIN32_SET_HANDLE] opcode is used for debugging. This +** opcode causes the xFileControl method to swap the file handle with the one +** pointed to by the pArg argument. This capability is used during testing +** and only needs to be supported when SQLITE_TEST is defined. +** +**
  • [[SQLITE_FCNTL_WAL_BLOCK]] +** The [SQLITE_FCNTL_WAL_BLOCK] is a signal to the VFS layer that it might +** be advantageous to block on the next WAL lock if the lock is not immediately +** available. The WAL subsystem issues this signal during rare +** circumstances in order to fix a problem with priority inversion. +** Applications should not use this file-control. +** +**
  • [[SQLITE_FCNTL_ZIPVFS]] +** The [SQLITE_FCNTL_ZIPVFS] opcode is implemented by zipvfs only. All other +** VFS should return SQLITE_NOTFOUND for this opcode. +** +**
  • [[SQLITE_FCNTL_RBU]] +** The [SQLITE_FCNTL_RBU] opcode is implemented by the special VFS used by +** the RBU extension only. All other VFS should return SQLITE_NOTFOUND for +** this opcode. +** +**
  • [[SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]] +** If the [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] opcode returns SQLITE_OK, then +** the file descriptor is placed in "batch write mode", which +** means all subsequent write operations will be deferred and done +** atomically at the next [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]. Systems +** that do not support batch atomic writes will return SQLITE_NOTFOUND. +** ^Following a successful SQLITE_FCNTL_BEGIN_ATOMIC_WRITE and prior to +** the closing [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE] or +** [SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE], SQLite will make +** no VFS interface calls on the same [sqlite3_file] file descriptor +** except for calls to the xWrite method and the xFileControl method +** with [SQLITE_FCNTL_SIZE_HINT]. +** +**
  • [[SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]] +** The [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE] opcode causes all write +** operations since the previous successful call to +** [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] to be performed atomically. +** This file control returns [SQLITE_OK] if and only if the writes were +** all performed successfully and have been committed to persistent storage. +** ^Regardless of whether or not it is successful, this file control takes +** the file descriptor out of batch write mode so that all subsequent +** write operations are independent. +** ^SQLite will never invoke SQLITE_FCNTL_COMMIT_ATOMIC_WRITE without +** a prior successful call to [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]. +** +**
  • [[SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE]] +** The [SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE] opcode causes all write +** operations since the previous successful call to +** [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] to be rolled back. +** ^This file control takes the file descriptor out of batch write mode +** so that all subsequent write operations are independent. +** ^SQLite will never invoke SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE without +** a prior successful call to [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]. +** +**
  • [[SQLITE_FCNTL_LOCK_TIMEOUT]] +** The [SQLITE_FCNTL_LOCK_TIMEOUT] opcode is used to configure a VFS +** to block for up to M milliseconds before failing when attempting to +** obtain a file lock using the xLock or xShmLock methods of the VFS. +** The parameter is a pointer to a 32-bit signed integer that contains +** the value that M is to be set to. Before returning, the 32-bit signed +** integer is overwritten with the previous value of M. +** +**
  • [[SQLITE_FCNTL_DATA_VERSION]] +** The [SQLITE_FCNTL_DATA_VERSION] opcode is used to detect changes to +** a database file. The argument is a pointer to a 32-bit unsigned integer. +** The "data version" for the pager is written into the pointer. The +** "data version" changes whenever any change occurs to the corresponding +** database file, either through SQL statements on the same database +** connection or through transactions committed by separate database +** connections possibly in other processes. The [sqlite3_total_changes()] +** interface can be used to find if any database on the connection has changed, +** but that interface responds to changes on TEMP as well as MAIN and does +** not provide a mechanism to detect changes to MAIN only. Also, the +** [sqlite3_total_changes()] interface responds to internal changes only and +** omits changes made by other database connections. The +** [PRAGMA data_version] command provides a mechanism to detect changes to +** a single attached database that occur due to other database connections, +** but omits changes implemented by the database connection on which it is +** called. This file control is the only mechanism to detect changes that +** happen either internally or externally and that are associated with +** a particular attached database. +** +**
  • [[SQLITE_FCNTL_CKPT_START]] +** The [SQLITE_FCNTL_CKPT_START] opcode is invoked from within a checkpoint +** in wal mode before the client starts to copy pages from the wal +** file to the database file. +** +**
  • [[SQLITE_FCNTL_CKPT_DONE]] +** The [SQLITE_FCNTL_CKPT_DONE] opcode is invoked from within a checkpoint +** in wal mode after the client has finished copying pages from the wal +** file to the database file, but before the *-shm file is updated to +** record the fact that the pages have been checkpointed. +**
+** +**
  • [[SQLITE_FCNTL_EXTERNAL_READER]] +** The EXPERIMENTAL [SQLITE_FCNTL_EXTERNAL_READER] opcode is used to detect +** whether or not there is a database client in another process with a wal-mode +** transaction open on the database or not. It is only available on unix.The +** (void*) argument passed with this file-control should be a pointer to a +** value of type (int). The integer value is set to 1 if the database is a wal +** mode database and there exists at least one client in another process that +** currently has an SQL transaction open on the database. It is set to 0 if +** the database is not a wal-mode db, or if there is no such connection in any +** other process. This opcode cannot be used to detect transactions opened +** by clients within the current process, only within other processes. +** +** +**
  • [[SQLITE_FCNTL_CKSM_FILE]] +** Used by the cksmvfs VFS module only. +** +*/ +#define SQLITE_FCNTL_LOCKSTATE 1 +#define SQLITE_FCNTL_GET_LOCKPROXYFILE 2 +#define SQLITE_FCNTL_SET_LOCKPROXYFILE 3 +#define SQLITE_FCNTL_LAST_ERRNO 4 +#define SQLITE_FCNTL_SIZE_HINT 5 +#define SQLITE_FCNTL_CHUNK_SIZE 6 +#define SQLITE_FCNTL_FILE_POINTER 7 +#define SQLITE_FCNTL_SYNC_OMITTED 8 +#define SQLITE_FCNTL_WIN32_AV_RETRY 9 +#define SQLITE_FCNTL_PERSIST_WAL 10 +#define SQLITE_FCNTL_OVERWRITE 11 +#define SQLITE_FCNTL_VFSNAME 12 +#define SQLITE_FCNTL_POWERSAFE_OVERWRITE 13 +#define SQLITE_FCNTL_PRAGMA 14 +#define SQLITE_FCNTL_BUSYHANDLER 15 +#define SQLITE_FCNTL_TEMPFILENAME 16 +#define SQLITE_FCNTL_MMAP_SIZE 18 +#define SQLITE_FCNTL_TRACE 19 +#define SQLITE_FCNTL_HAS_MOVED 20 +#define SQLITE_FCNTL_SYNC 21 +#define SQLITE_FCNTL_COMMIT_PHASETWO 22 +#define SQLITE_FCNTL_WIN32_SET_HANDLE 23 +#define SQLITE_FCNTL_WAL_BLOCK 24 +#define SQLITE_FCNTL_ZIPVFS 25 +#define SQLITE_FCNTL_RBU 26 +#define SQLITE_FCNTL_VFS_POINTER 27 +#define SQLITE_FCNTL_JOURNAL_POINTER 28 +#define SQLITE_FCNTL_WIN32_GET_HANDLE 29 +#define SQLITE_FCNTL_PDB 30 +#define SQLITE_FCNTL_BEGIN_ATOMIC_WRITE 31 +#define SQLITE_FCNTL_COMMIT_ATOMIC_WRITE 32 +#define SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE 33 +#define SQLITE_FCNTL_LOCK_TIMEOUT 34 +#define SQLITE_FCNTL_DATA_VERSION 35 +#define SQLITE_FCNTL_SIZE_LIMIT 36 +#define SQLITE_FCNTL_CKPT_DONE 37 +#define SQLITE_FCNTL_RESERVE_BYTES 38 +#define SQLITE_FCNTL_CKPT_START 39 +#define SQLITE_FCNTL_EXTERNAL_READER 40 +#define SQLITE_FCNTL_CKSM_FILE 41 + +/* deprecated names */ +#define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE +#define SQLITE_SET_LOCKPROXYFILE SQLITE_FCNTL_SET_LOCKPROXYFILE +#define SQLITE_LAST_ERRNO SQLITE_FCNTL_LAST_ERRNO + + +/* +** CAPI3REF: Mutex Handle +** +** The mutex module within SQLite defines [sqlite3_mutex] to be an +** abstract type for a mutex object. The SQLite core never looks +** at the internal representation of an [sqlite3_mutex]. It only +** deals with pointers to the [sqlite3_mutex] object. +** +** Mutexes are created using [sqlite3_mutex_alloc()]. +*/ +typedef struct sqlite3_mutex sqlite3_mutex; + +/* +** CAPI3REF: Loadable Extension Thunk +** +** A pointer to the opaque sqlite3_api_routines structure is passed as +** the third parameter to entry points of [loadable extensions]. This +** structure must be typedefed in order to work around compiler warnings +** on some platforms. +*/ +typedef struct sqlite3_api_routines sqlite3_api_routines; + +/* +** CAPI3REF: OS Interface Object +** +** An instance of the sqlite3_vfs object defines the interface between +** the SQLite core and the underlying operating system. The "vfs" +** in the name of the object stands for "virtual file system". See +** the [VFS | VFS documentation] for further information. +** +** The VFS interface is sometimes extended by adding new methods onto +** the end. Each time such an extension occurs, the iVersion field +** is incremented. The iVersion value started out as 1 in +** SQLite [version 3.5.0] on [dateof:3.5.0], then increased to 2 +** with SQLite [version 3.7.0] on [dateof:3.7.0], and then increased +** to 3 with SQLite [version 3.7.6] on [dateof:3.7.6]. Additional fields +** may be appended to the sqlite3_vfs object and the iVersion value +** may increase again in future versions of SQLite. +** Note that due to an oversight, the structure +** of the sqlite3_vfs object changed in the transition from +** SQLite [version 3.5.9] to [version 3.6.0] on [dateof:3.6.0] +** and yet the iVersion field was not increased. +** +** The szOsFile field is the size of the subclassed [sqlite3_file] +** structure used by this VFS. mxPathname is the maximum length of +** a pathname in this VFS. +** +** Registered sqlite3_vfs objects are kept on a linked list formed by +** the pNext pointer. The [sqlite3_vfs_register()] +** and [sqlite3_vfs_unregister()] interfaces manage this list +** in a thread-safe way. The [sqlite3_vfs_find()] interface +** searches the list. Neither the application code nor the VFS +** implementation should use the pNext pointer. +** +** The pNext field is the only field in the sqlite3_vfs +** structure that SQLite will ever modify. SQLite will only access +** or modify this field while holding a particular static mutex. +** The application should never modify anything within the sqlite3_vfs +** object once the object has been registered. +** +** The zName field holds the name of the VFS module. The name must +** be unique across all VFS modules. +** +** [[sqlite3_vfs.xOpen]] +** ^SQLite guarantees that the zFilename parameter to xOpen +** is either a NULL pointer or string obtained +** from xFullPathname() with an optional suffix added. +** ^If a suffix is added to the zFilename parameter, it will +** consist of a single "-" character followed by no more than +** 11 alphanumeric and/or "-" characters. +** ^SQLite further guarantees that +** the string will be valid and unchanged until xClose() is +** called. Because of the previous sentence, +** the [sqlite3_file] can safely store a pointer to the +** filename if it needs to remember the filename for some reason. +** If the zFilename parameter to xOpen is a NULL pointer then xOpen +** must invent its own temporary name for the file. ^Whenever the +** xFilename parameter is NULL it will also be the case that the +** flags parameter will include [SQLITE_OPEN_DELETEONCLOSE]. +** +** The flags argument to xOpen() includes all bits set in +** the flags argument to [sqlite3_open_v2()]. Or if [sqlite3_open()] +** or [sqlite3_open16()] is used, then flags includes at least +** [SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE]. +** If xOpen() opens a file read-only then it sets *pOutFlags to +** include [SQLITE_OPEN_READONLY]. Other bits in *pOutFlags may be set. +** +** ^(SQLite will also add one of the following flags to the xOpen() +** call, depending on the object being opened: +** +**
      +**
    • [SQLITE_OPEN_MAIN_DB] +**
    • [SQLITE_OPEN_MAIN_JOURNAL] +**
    • [SQLITE_OPEN_TEMP_DB] +**
    • [SQLITE_OPEN_TEMP_JOURNAL] +**
    • [SQLITE_OPEN_TRANSIENT_DB] +**
    • [SQLITE_OPEN_SUBJOURNAL] +**
    • [SQLITE_OPEN_SUPER_JOURNAL] +**
    • [SQLITE_OPEN_WAL] +**
    )^ +** +** The file I/O implementation can use the object type flags to +** change the way it deals with files. For example, an application +** that does not care about crash recovery or rollback might make +** the open of a journal file a no-op. Writes to this journal would +** also be no-ops, and any attempt to read the journal would return +** SQLITE_IOERR. Or the implementation might recognize that a database +** file will be doing page-aligned sector reads and writes in a random +** order and set up its I/O subsystem accordingly. +** +** SQLite might also add one of the following flags to the xOpen method: +** +**
      +**
    • [SQLITE_OPEN_DELETEONCLOSE] +**
    • [SQLITE_OPEN_EXCLUSIVE] +**
    +** +** The [SQLITE_OPEN_DELETEONCLOSE] flag means the file should be +** deleted when it is closed. ^The [SQLITE_OPEN_DELETEONCLOSE] +** will be set for TEMP databases and their journals, transient +** databases, and subjournals. +** +** ^The [SQLITE_OPEN_EXCLUSIVE] flag is always used in conjunction +** with the [SQLITE_OPEN_CREATE] flag, which are both directly +** analogous to the O_EXCL and O_CREAT flags of the POSIX open() +** API. The SQLITE_OPEN_EXCLUSIVE flag, when paired with the +** SQLITE_OPEN_CREATE, is used to indicate that file should always +** be created, and that it is an error if it already exists. +** It is not used to indicate the file should be opened +** for exclusive access. +** +** ^At least szOsFile bytes of memory are allocated by SQLite +** to hold the [sqlite3_file] structure passed as the third +** argument to xOpen. The xOpen method does not have to +** allocate the structure; it should just fill it in. Note that +** the xOpen method must set the sqlite3_file.pMethods to either +** a valid [sqlite3_io_methods] object or to NULL. xOpen must do +** this even if the open fails. SQLite expects that the sqlite3_file.pMethods +** element will be valid after xOpen returns regardless of the success +** or failure of the xOpen call. +** +** [[sqlite3_vfs.xAccess]] +** ^The flags argument to xAccess() may be [SQLITE_ACCESS_EXISTS] +** to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to +** test whether a file is readable and writable, or [SQLITE_ACCESS_READ] +** to test whether a file is at least readable. The SQLITE_ACCESS_READ +** flag is never actually used and is not implemented in the built-in +** VFSes of SQLite. The file is named by the second argument and can be a +** directory. The xAccess method returns [SQLITE_OK] on success or some +** non-zero error code if there is an I/O error or if the name of +** the file given in the second argument is illegal. If SQLITE_OK +** is returned, then non-zero or zero is written into *pResOut to indicate +** whether or not the file is accessible. +** +** ^SQLite will always allocate at least mxPathname+1 bytes for the +** output buffer xFullPathname. The exact size of the output buffer +** is also passed as a parameter to both methods. If the output buffer +** is not large enough, [SQLITE_CANTOPEN] should be returned. Since this is +** handled as a fatal error by SQLite, vfs implementations should endeavor +** to prevent this by setting mxPathname to a sufficiently large value. +** +** The xRandomness(), xSleep(), xCurrentTime(), and xCurrentTimeInt64() +** interfaces are not strictly a part of the filesystem, but they are +** included in the VFS structure for completeness. +** The xRandomness() function attempts to return nBytes bytes +** of good-quality randomness into zOut. The return value is +** the actual number of bytes of randomness obtained. +** The xSleep() method causes the calling thread to sleep for at +** least the number of microseconds given. ^The xCurrentTime() +** method returns a Julian Day Number for the current date and time as +** a floating point value. +** ^The xCurrentTimeInt64() method returns, as an integer, the Julian +** Day Number multiplied by 86400000 (the number of milliseconds in +** a 24-hour day). +** ^SQLite will use the xCurrentTimeInt64() method to get the current +** date and time if that method is available (if iVersion is 2 or +** greater and the function pointer is not NULL) and will fall back +** to xCurrentTime() if xCurrentTimeInt64() is unavailable. +** +** ^The xSetSystemCall(), xGetSystemCall(), and xNestSystemCall() interfaces +** are not used by the SQLite core. These optional interfaces are provided +** by some VFSes to facilitate testing of the VFS code. By overriding +** system calls with functions under its control, a test program can +** simulate faults and error conditions that would otherwise be difficult +** or impossible to induce. The set of system calls that can be overridden +** varies from one VFS to another, and from one version of the same VFS to the +** next. Applications that use these interfaces must be prepared for any +** or all of these interfaces to be NULL or for their behavior to change +** from one release to the next. Applications must not attempt to access +** any of these methods if the iVersion of the VFS is less than 3. +*/ +typedef struct sqlite3_vfs sqlite3_vfs; +typedef void (*sqlite3_syscall_ptr)(void); +struct sqlite3_vfs { + int iVersion; /* Structure version number (currently 3) */ + int szOsFile; /* Size of subclassed sqlite3_file */ + int mxPathname; /* Maximum file pathname length */ + sqlite3_vfs *pNext; /* Next registered VFS */ + const char *zName; /* Name of this virtual file system */ + void *pAppData; /* Pointer to application-specific data */ + int (*xOpen)(sqlite3_vfs*, const char *zName, sqlite3_file*, + int flags, int *pOutFlags); + int (*xDelete)(sqlite3_vfs*, const char *zName, int syncDir); + int (*xAccess)(sqlite3_vfs*, const char *zName, int flags, int *pResOut); + int (*xFullPathname)(sqlite3_vfs*, const char *zName, int nOut, char *zOut); + void *(*xDlOpen)(sqlite3_vfs*, const char *zFilename); + void (*xDlError)(sqlite3_vfs*, int nByte, char *zErrMsg); + void (*(*xDlSym)(sqlite3_vfs*,void*, const char *zSymbol))(void); + void (*xDlClose)(sqlite3_vfs*, void*); + int (*xRandomness)(sqlite3_vfs*, int nByte, char *zOut); + int (*xSleep)(sqlite3_vfs*, int microseconds); + int (*xCurrentTime)(sqlite3_vfs*, double*); + int (*xGetLastError)(sqlite3_vfs*, int, char *); + /* + ** The methods above are in version 1 of the sqlite_vfs object + ** definition. Those that follow are added in version 2 or later + */ + int (*xCurrentTimeInt64)(sqlite3_vfs*, sqlite3_int64*); + /* + ** The methods above are in versions 1 and 2 of the sqlite_vfs object. + ** Those below are for version 3 and greater. + */ + int (*xSetSystemCall)(sqlite3_vfs*, const char *zName, sqlite3_syscall_ptr); + sqlite3_syscall_ptr (*xGetSystemCall)(sqlite3_vfs*, const char *zName); + const char *(*xNextSystemCall)(sqlite3_vfs*, const char *zName); + /* + ** The methods above are in versions 1 through 3 of the sqlite_vfs object. + ** New fields may be appended in future versions. The iVersion + ** value will increment whenever this happens. + */ +}; + +/* +** CAPI3REF: Flags for the xAccess VFS method +** +** These integer constants can be used as the third parameter to +** the xAccess method of an [sqlite3_vfs] object. They determine +** what kind of permissions the xAccess method is looking for. +** With SQLITE_ACCESS_EXISTS, the xAccess method +** simply checks whether the file exists. +** With SQLITE_ACCESS_READWRITE, the xAccess method +** checks whether the named directory is both readable and writable +** (in other words, if files can be added, removed, and renamed within +** the directory). +** The SQLITE_ACCESS_READWRITE constant is currently used only by the +** [temp_store_directory pragma], though this could change in a future +** release of SQLite. +** With SQLITE_ACCESS_READ, the xAccess method +** checks whether the file is readable. The SQLITE_ACCESS_READ constant is +** currently unused, though it might be used in a future release of +** SQLite. +*/ +#define SQLITE_ACCESS_EXISTS 0 +#define SQLITE_ACCESS_READWRITE 1 /* Used by PRAGMA temp_store_directory */ +#define SQLITE_ACCESS_READ 2 /* Unused */ + +/* +** CAPI3REF: Flags for the xShmLock VFS method +** +** These integer constants define the various locking operations +** allowed by the xShmLock method of [sqlite3_io_methods]. The +** following are the only legal combinations of flags to the +** xShmLock method: +** +**
      +**
    • SQLITE_SHM_LOCK | SQLITE_SHM_SHARED +**
    • SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE +**
    • SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED +**
    • SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE +**
    +** +** When unlocking, the same SHARED or EXCLUSIVE flag must be supplied as +** was given on the corresponding lock. +** +** The xShmLock method can transition between unlocked and SHARED or +** between unlocked and EXCLUSIVE. It cannot transition between SHARED +** and EXCLUSIVE. +*/ +#define SQLITE_SHM_UNLOCK 1 +#define SQLITE_SHM_LOCK 2 +#define SQLITE_SHM_SHARED 4 +#define SQLITE_SHM_EXCLUSIVE 8 + +/* +** CAPI3REF: Maximum xShmLock index +** +** The xShmLock method on [sqlite3_io_methods] may use values +** between 0 and this upper bound as its "offset" argument. +** The SQLite core will never attempt to acquire or release a +** lock outside of this range +*/ +#define SQLITE_SHM_NLOCK 8 + + +/* +** CAPI3REF: Initialize The SQLite Library +** +** ^The sqlite3_initialize() routine initializes the +** SQLite library. ^The sqlite3_shutdown() routine +** deallocates any resources that were allocated by sqlite3_initialize(). +** These routines are designed to aid in process initialization and +** shutdown on embedded systems. Workstation applications using +** SQLite normally do not need to invoke either of these routines. +** +** A call to sqlite3_initialize() is an "effective" call if it is +** the first time sqlite3_initialize() is invoked during the lifetime of +** the process, or if it is the first time sqlite3_initialize() is invoked +** following a call to sqlite3_shutdown(). ^(Only an effective call +** of sqlite3_initialize() does any initialization. All other calls +** are harmless no-ops.)^ +** +** A call to sqlite3_shutdown() is an "effective" call if it is the first +** call to sqlite3_shutdown() since the last sqlite3_initialize(). ^(Only +** an effective call to sqlite3_shutdown() does any deinitialization. +** All other valid calls to sqlite3_shutdown() are harmless no-ops.)^ +** +** The sqlite3_initialize() interface is threadsafe, but sqlite3_shutdown() +** is not. The sqlite3_shutdown() interface must only be called from a +** single thread. All open [database connections] must be closed and all +** other SQLite resources must be deallocated prior to invoking +** sqlite3_shutdown(). +** +** Among other things, ^sqlite3_initialize() will invoke +** sqlite3_os_init(). Similarly, ^sqlite3_shutdown() +** will invoke sqlite3_os_end(). +** +** ^The sqlite3_initialize() routine returns [SQLITE_OK] on success. +** ^If for some reason, sqlite3_initialize() is unable to initialize +** the library (perhaps it is unable to allocate a needed resource such +** as a mutex) it returns an [error code] other than [SQLITE_OK]. +** +** ^The sqlite3_initialize() routine is called internally by many other +** SQLite interfaces so that an application usually does not need to +** invoke sqlite3_initialize() directly. For example, [sqlite3_open()] +** calls sqlite3_initialize() so the SQLite library will be automatically +** initialized when [sqlite3_open()] is called if it has not be initialized +** already. ^However, if SQLite is compiled with the [SQLITE_OMIT_AUTOINIT] +** compile-time option, then the automatic calls to sqlite3_initialize() +** are omitted and the application must call sqlite3_initialize() directly +** prior to using any other SQLite interface. For maximum portability, +** it is recommended that applications always invoke sqlite3_initialize() +** directly prior to using any other SQLite interface. Future releases +** of SQLite may require this. In other words, the behavior exhibited +** when SQLite is compiled with [SQLITE_OMIT_AUTOINIT] might become the +** default behavior in some future release of SQLite. +** +** The sqlite3_os_init() routine does operating-system specific +** initialization of the SQLite library. The sqlite3_os_end() +** routine undoes the effect of sqlite3_os_init(). Typical tasks +** performed by these routines include allocation or deallocation +** of static resources, initialization of global variables, +** setting up a default [sqlite3_vfs] module, or setting up +** a default configuration using [sqlite3_config()]. +** +** The application should never invoke either sqlite3_os_init() +** or sqlite3_os_end() directly. The application should only invoke +** sqlite3_initialize() and sqlite3_shutdown(). The sqlite3_os_init() +** interface is called automatically by sqlite3_initialize() and +** sqlite3_os_end() is called by sqlite3_shutdown(). Appropriate +** implementations for sqlite3_os_init() and sqlite3_os_end() +** are built into SQLite when it is compiled for Unix, Windows, or OS/2. +** When [custom builds | built for other platforms] +** (using the [SQLITE_OS_OTHER=1] compile-time +** option) the application must supply a suitable implementation for +** sqlite3_os_init() and sqlite3_os_end(). An application-supplied +** implementation of sqlite3_os_init() or sqlite3_os_end() +** must return [SQLITE_OK] on success and some other [error code] upon +** failure. +*/ +SQLITE_API int sqlite3_initialize(void); +SQLITE_API int sqlite3_shutdown(void); +SQLITE_API int sqlite3_os_init(void); +SQLITE_API int sqlite3_os_end(void); + +/* +** CAPI3REF: Configuring The SQLite Library +** +** The sqlite3_config() interface is used to make global configuration +** changes to SQLite in order to tune SQLite to the specific needs of +** the application. The default configuration is recommended for most +** applications and so this routine is usually not necessary. It is +** provided to support rare applications with unusual needs. +** +** The sqlite3_config() interface is not threadsafe. The application +** must ensure that no other SQLite interfaces are invoked by other +** threads while sqlite3_config() is running. +** +** The sqlite3_config() interface +** may only be invoked prior to library initialization using +** [sqlite3_initialize()] or after shutdown by [sqlite3_shutdown()]. +** ^If sqlite3_config() is called after [sqlite3_initialize()] and before +** [sqlite3_shutdown()] then it will return SQLITE_MISUSE. +** Note, however, that ^sqlite3_config() can be called as part of the +** implementation of an application-defined [sqlite3_os_init()]. +** +** The first argument to sqlite3_config() is an integer +** [configuration option] that determines +** what property of SQLite is to be configured. Subsequent arguments +** vary depending on the [configuration option] +** in the first argument. +** +** ^When a configuration option is set, sqlite3_config() returns [SQLITE_OK]. +** ^If the option is unknown or SQLite is unable to set the option +** then this routine returns a non-zero [error code]. +*/ +SQLITE_API int sqlite3_config(int, ...); + +/* +** CAPI3REF: Configure database connections +** METHOD: sqlite3 +** +** The sqlite3_db_config() interface is used to make configuration +** changes to a [database connection]. The interface is similar to +** [sqlite3_config()] except that the changes apply to a single +** [database connection] (specified in the first argument). +** +** The second argument to sqlite3_db_config(D,V,...) is the +** [SQLITE_DBCONFIG_LOOKASIDE | configuration verb] - an integer code +** that indicates what aspect of the [database connection] is being configured. +** Subsequent arguments vary depending on the configuration verb. +** +** ^Calls to sqlite3_db_config() return SQLITE_OK if and only if +** the call is considered successful. +*/ +SQLITE_API int sqlite3_db_config(sqlite3*, int op, ...); + +/* +** CAPI3REF: Memory Allocation Routines +** +** An instance of this object defines the interface between SQLite +** and low-level memory allocation routines. +** +** This object is used in only one place in the SQLite interface. +** A pointer to an instance of this object is the argument to +** [sqlite3_config()] when the configuration option is +** [SQLITE_CONFIG_MALLOC] or [SQLITE_CONFIG_GETMALLOC]. +** By creating an instance of this object +** and passing it to [sqlite3_config]([SQLITE_CONFIG_MALLOC]) +** during configuration, an application can specify an alternative +** memory allocation subsystem for SQLite to use for all of its +** dynamic memory needs. +** +** Note that SQLite comes with several [built-in memory allocators] +** that are perfectly adequate for the overwhelming majority of applications +** and that this object is only useful to a tiny minority of applications +** with specialized memory allocation requirements. This object is +** also used during testing of SQLite in order to specify an alternative +** memory allocator that simulates memory out-of-memory conditions in +** order to verify that SQLite recovers gracefully from such +** conditions. +** +** The xMalloc, xRealloc, and xFree methods must work like the +** malloc(), realloc() and free() functions from the standard C library. +** ^SQLite guarantees that the second argument to +** xRealloc is always a value returned by a prior call to xRoundup. +** +** xSize should return the allocated size of a memory allocation +** previously obtained from xMalloc or xRealloc. The allocated size +** is always at least as big as the requested size but may be larger. +** +** The xRoundup method returns what would be the allocated size of +** a memory allocation given a particular requested size. Most memory +** allocators round up memory allocations at least to the next multiple +** of 8. Some allocators round up to a larger multiple or to a power of 2. +** Every memory allocation request coming in through [sqlite3_malloc()] +** or [sqlite3_realloc()] first calls xRoundup. If xRoundup returns 0, +** that causes the corresponding memory allocation to fail. +** +** The xInit method initializes the memory allocator. For example, +** it might allocate any required mutexes or initialize internal data +** structures. The xShutdown method is invoked (indirectly) by +** [sqlite3_shutdown()] and should deallocate any resources acquired +** by xInit. The pAppData pointer is used as the only parameter to +** xInit and xShutdown. +** +** SQLite holds the [SQLITE_MUTEX_STATIC_MAIN] mutex when it invokes +** the xInit method, so the xInit method need not be threadsafe. The +** xShutdown method is only called from [sqlite3_shutdown()] so it does +** not need to be threadsafe either. For all other methods, SQLite +** holds the [SQLITE_MUTEX_STATIC_MEM] mutex as long as the +** [SQLITE_CONFIG_MEMSTATUS] configuration option is turned on (which +** it is by default) and so the methods are automatically serialized. +** However, if [SQLITE_CONFIG_MEMSTATUS] is disabled, then the other +** methods must be threadsafe or else make their own arrangements for +** serialization. +** +** SQLite will never invoke xInit() more than once without an intervening +** call to xShutdown(). +*/ +typedef struct sqlite3_mem_methods sqlite3_mem_methods; +struct sqlite3_mem_methods { + void *(*xMalloc)(int); /* Memory allocation function */ + void (*xFree)(void*); /* Free a prior allocation */ + void *(*xRealloc)(void*,int); /* Resize an allocation */ + int (*xSize)(void*); /* Return the size of an allocation */ + int (*xRoundup)(int); /* Round up request size to allocation size */ + int (*xInit)(void*); /* Initialize the memory allocator */ + void (*xShutdown)(void*); /* Deinitialize the memory allocator */ + void *pAppData; /* Argument to xInit() and xShutdown() */ +}; + +/* +** CAPI3REF: Configuration Options +** KEYWORDS: {configuration option} +** +** These constants are the available integer configuration options that +** can be passed as the first argument to the [sqlite3_config()] interface. +** +** New configuration options may be added in future releases of SQLite. +** Existing configuration options might be discontinued. Applications +** should check the return code from [sqlite3_config()] to make sure that +** the call worked. The [sqlite3_config()] interface will return a +** non-zero [error code] if a discontinued or unsupported configuration option +** is invoked. +** +**
    +** [[SQLITE_CONFIG_SINGLETHREAD]]
    SQLITE_CONFIG_SINGLETHREAD
    +**
    There are no arguments to this option. ^This option sets the +** [threading mode] to Single-thread. In other words, it disables +** all mutexing and puts SQLite into a mode where it can only be used +** by a single thread. ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** it is not possible to change the [threading mode] from its default +** value of Single-thread and so [sqlite3_config()] will return +** [SQLITE_ERROR] if called with the SQLITE_CONFIG_SINGLETHREAD +** configuration option.
    +** +** [[SQLITE_CONFIG_MULTITHREAD]]
    SQLITE_CONFIG_MULTITHREAD
    +**
    There are no arguments to this option. ^This option sets the +** [threading mode] to Multi-thread. In other words, it disables +** mutexing on [database connection] and [prepared statement] objects. +** The application is responsible for serializing access to +** [database connections] and [prepared statements]. But other mutexes +** are enabled so that SQLite will be safe to use in a multi-threaded +** environment as long as no two threads attempt to use the same +** [database connection] at the same time. ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** it is not possible to set the Multi-thread [threading mode] and +** [sqlite3_config()] will return [SQLITE_ERROR] if called with the +** SQLITE_CONFIG_MULTITHREAD configuration option.
    +** +** [[SQLITE_CONFIG_SERIALIZED]]
    SQLITE_CONFIG_SERIALIZED
    +**
    There are no arguments to this option. ^This option sets the +** [threading mode] to Serialized. In other words, this option enables +** all mutexes including the recursive +** mutexes on [database connection] and [prepared statement] objects. +** In this mode (which is the default when SQLite is compiled with +** [SQLITE_THREADSAFE=1]) the SQLite library will itself serialize access +** to [database connections] and [prepared statements] so that the +** application is free to use the same [database connection] or the +** same [prepared statement] in different threads at the same time. +** ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** it is not possible to set the Serialized [threading mode] and +** [sqlite3_config()] will return [SQLITE_ERROR] if called with the +** SQLITE_CONFIG_SERIALIZED configuration option.
    +** +** [[SQLITE_CONFIG_MALLOC]]
    SQLITE_CONFIG_MALLOC
    +**
    ^(The SQLITE_CONFIG_MALLOC option takes a single argument which is +** a pointer to an instance of the [sqlite3_mem_methods] structure. +** The argument specifies +** alternative low-level memory allocation routines to be used in place of +** the memory allocation routines built into SQLite.)^ ^SQLite makes +** its own private copy of the content of the [sqlite3_mem_methods] structure +** before the [sqlite3_config()] call returns.
    +** +** [[SQLITE_CONFIG_GETMALLOC]]
    SQLITE_CONFIG_GETMALLOC
    +**
    ^(The SQLITE_CONFIG_GETMALLOC option takes a single argument which +** is a pointer to an instance of the [sqlite3_mem_methods] structure. +** The [sqlite3_mem_methods] +** structure is filled with the currently defined memory allocation routines.)^ +** This option can be used to overload the default memory allocation +** routines with a wrapper that simulations memory allocation failure or +** tracks memory usage, for example.
    +** +** [[SQLITE_CONFIG_SMALL_MALLOC]]
    SQLITE_CONFIG_SMALL_MALLOC
    +**
    ^The SQLITE_CONFIG_SMALL_MALLOC option takes single argument of +** type int, interpreted as a boolean, which if true provides a hint to +** SQLite that it should avoid large memory allocations if possible. +** SQLite will run faster if it is free to make large memory allocations, +** but some application might prefer to run slower in exchange for +** guarantees about memory fragmentation that are possible if large +** allocations are avoided. This hint is normally off. +**
    +** +** [[SQLITE_CONFIG_MEMSTATUS]]
    SQLITE_CONFIG_MEMSTATUS
    +**
    ^The SQLITE_CONFIG_MEMSTATUS option takes single argument of type int, +** interpreted as a boolean, which enables or disables the collection of +** memory allocation statistics. ^(When memory allocation statistics are +** disabled, the following SQLite interfaces become non-operational: +**
      +**
    • [sqlite3_hard_heap_limit64()] +**
    • [sqlite3_memory_used()] +**
    • [sqlite3_memory_highwater()] +**
    • [sqlite3_soft_heap_limit64()] +**
    • [sqlite3_status64()] +**
    )^ +** ^Memory allocation statistics are enabled by default unless SQLite is +** compiled with [SQLITE_DEFAULT_MEMSTATUS]=0 in which case memory +** allocation statistics are disabled by default. +**
    +** +** [[SQLITE_CONFIG_SCRATCH]]
    SQLITE_CONFIG_SCRATCH
    +**
    The SQLITE_CONFIG_SCRATCH option is no longer used. +**
    +** +** [[SQLITE_CONFIG_PAGECACHE]]
    SQLITE_CONFIG_PAGECACHE
    +**
    ^The SQLITE_CONFIG_PAGECACHE option specifies a memory pool +** that SQLite can use for the database page cache with the default page +** cache implementation. +** This configuration option is a no-op if an application-defined page +** cache implementation is loaded using the [SQLITE_CONFIG_PCACHE2]. +** ^There are three arguments to SQLITE_CONFIG_PAGECACHE: A pointer to +** 8-byte aligned memory (pMem), the size of each page cache line (sz), +** and the number of cache lines (N). +** The sz argument should be the size of the largest database page +** (a power of two between 512 and 65536) plus some extra bytes for each +** page header. ^The number of extra bytes needed by the page header +** can be determined using [SQLITE_CONFIG_PCACHE_HDRSZ]. +** ^It is harmless, apart from the wasted memory, +** for the sz parameter to be larger than necessary. The pMem +** argument must be either a NULL pointer or a pointer to an 8-byte +** aligned block of memory of at least sz*N bytes, otherwise +** subsequent behavior is undefined. +** ^When pMem is not NULL, SQLite will strive to use the memory provided +** to satisfy page cache needs, falling back to [sqlite3_malloc()] if +** a page cache line is larger than sz bytes or if all of the pMem buffer +** is exhausted. +** ^If pMem is NULL and N is non-zero, then each database connection +** does an initial bulk allocation for page cache memory +** from [sqlite3_malloc()] sufficient for N cache lines if N is positive or +** of -1024*N bytes if N is negative, . ^If additional +** page cache memory is needed beyond what is provided by the initial +** allocation, then SQLite goes to [sqlite3_malloc()] separately for each +** additional cache line.
    +** +** [[SQLITE_CONFIG_HEAP]]
    SQLITE_CONFIG_HEAP
    +**
    ^The SQLITE_CONFIG_HEAP option specifies a static memory buffer +** that SQLite will use for all of its dynamic memory allocation needs +** beyond those provided for by [SQLITE_CONFIG_PAGECACHE]. +** ^The SQLITE_CONFIG_HEAP option is only available if SQLite is compiled +** with either [SQLITE_ENABLE_MEMSYS3] or [SQLITE_ENABLE_MEMSYS5] and returns +** [SQLITE_ERROR] if invoked otherwise. +** ^There are three arguments to SQLITE_CONFIG_HEAP: +** An 8-byte aligned pointer to the memory, +** the number of bytes in the memory buffer, and the minimum allocation size. +** ^If the first pointer (the memory pointer) is NULL, then SQLite reverts +** to using its default memory allocator (the system malloc() implementation), +** undoing any prior invocation of [SQLITE_CONFIG_MALLOC]. ^If the +** memory pointer is not NULL then the alternative memory +** allocator is engaged to handle all of SQLites memory allocation needs. +** The first pointer (the memory pointer) must be aligned to an 8-byte +** boundary or subsequent behavior of SQLite will be undefined. +** The minimum allocation size is capped at 2**12. Reasonable values +** for the minimum allocation size are 2**5 through 2**8.
    +** +** [[SQLITE_CONFIG_MUTEX]]
    SQLITE_CONFIG_MUTEX
    +**
    ^(The SQLITE_CONFIG_MUTEX option takes a single argument which is a +** pointer to an instance of the [sqlite3_mutex_methods] structure. +** The argument specifies alternative low-level mutex routines to be used +** in place the mutex routines built into SQLite.)^ ^SQLite makes a copy of +** the content of the [sqlite3_mutex_methods] structure before the call to +** [sqlite3_config()] returns. ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** the entire mutexing subsystem is omitted from the build and hence calls to +** [sqlite3_config()] with the SQLITE_CONFIG_MUTEX configuration option will +** return [SQLITE_ERROR].
    +** +** [[SQLITE_CONFIG_GETMUTEX]]
    SQLITE_CONFIG_GETMUTEX
    +**
    ^(The SQLITE_CONFIG_GETMUTEX option takes a single argument which +** is a pointer to an instance of the [sqlite3_mutex_methods] structure. The +** [sqlite3_mutex_methods] +** structure is filled with the currently defined mutex routines.)^ +** This option can be used to overload the default mutex allocation +** routines with a wrapper used to track mutex usage for performance +** profiling or testing, for example. ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** the entire mutexing subsystem is omitted from the build and hence calls to +** [sqlite3_config()] with the SQLITE_CONFIG_GETMUTEX configuration option will +** return [SQLITE_ERROR].
    +** +** [[SQLITE_CONFIG_LOOKASIDE]]
    SQLITE_CONFIG_LOOKASIDE
    +**
    ^(The SQLITE_CONFIG_LOOKASIDE option takes two arguments that determine +** the default size of lookaside memory on each [database connection]. +** The first argument is the +** size of each lookaside buffer slot and the second is the number of +** slots allocated to each database connection.)^ ^(SQLITE_CONFIG_LOOKASIDE +** sets the default lookaside size. The [SQLITE_DBCONFIG_LOOKASIDE] +** option to [sqlite3_db_config()] can be used to change the lookaside +** configuration on individual connections.)^
    +** +** [[SQLITE_CONFIG_PCACHE2]]
    SQLITE_CONFIG_PCACHE2
    +**
    ^(The SQLITE_CONFIG_PCACHE2 option takes a single argument which is +** a pointer to an [sqlite3_pcache_methods2] object. This object specifies +** the interface to a custom page cache implementation.)^ +** ^SQLite makes a copy of the [sqlite3_pcache_methods2] object.
    +** +** [[SQLITE_CONFIG_GETPCACHE2]]
    SQLITE_CONFIG_GETPCACHE2
    +**
    ^(The SQLITE_CONFIG_GETPCACHE2 option takes a single argument which +** is a pointer to an [sqlite3_pcache_methods2] object. SQLite copies of +** the current page cache implementation into that object.)^
    +** +** [[SQLITE_CONFIG_LOG]]
    SQLITE_CONFIG_LOG
    +**
    The SQLITE_CONFIG_LOG option is used to configure the SQLite +** global [error log]. +** (^The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a +** function with a call signature of void(*)(void*,int,const char*), +** and a pointer to void. ^If the function pointer is not NULL, it is +** invoked by [sqlite3_log()] to process each logging event. ^If the +** function pointer is NULL, the [sqlite3_log()] interface becomes a no-op. +** ^The void pointer that is the second argument to SQLITE_CONFIG_LOG is +** passed through as the first parameter to the application-defined logger +** function whenever that function is invoked. ^The second parameter to +** the logger function is a copy of the first parameter to the corresponding +** [sqlite3_log()] call and is intended to be a [result code] or an +** [extended result code]. ^The third parameter passed to the logger is +** log message after formatting via [sqlite3_snprintf()]. +** The SQLite logging interface is not reentrant; the logger function +** supplied by the application must not invoke any SQLite interface. +** In a multi-threaded application, the application-defined logger +** function must be threadsafe.
    +** +** [[SQLITE_CONFIG_URI]]
    SQLITE_CONFIG_URI +**
    ^(The SQLITE_CONFIG_URI option takes a single argument of type int. +** If non-zero, then URI handling is globally enabled. If the parameter is zero, +** then URI handling is globally disabled.)^ ^If URI handling is globally +** enabled, all filenames passed to [sqlite3_open()], [sqlite3_open_v2()], +** [sqlite3_open16()] or +** specified as part of [ATTACH] commands are interpreted as URIs, regardless +** of whether or not the [SQLITE_OPEN_URI] flag is set when the database +** connection is opened. ^If it is globally disabled, filenames are +** only interpreted as URIs if the SQLITE_OPEN_URI flag is set when the +** database connection is opened. ^(By default, URI handling is globally +** disabled. The default value may be changed by compiling with the +** [SQLITE_USE_URI] symbol defined.)^ +** +** [[SQLITE_CONFIG_COVERING_INDEX_SCAN]]
    SQLITE_CONFIG_COVERING_INDEX_SCAN +**
    ^The SQLITE_CONFIG_COVERING_INDEX_SCAN option takes a single integer +** argument which is interpreted as a boolean in order to enable or disable +** the use of covering indices for full table scans in the query optimizer. +** ^The default setting is determined +** by the [SQLITE_ALLOW_COVERING_INDEX_SCAN] compile-time option, or is "on" +** if that compile-time option is omitted. +** The ability to disable the use of covering indices for full table scans +** is because some incorrectly coded legacy applications might malfunction +** when the optimization is enabled. Providing the ability to +** disable the optimization allows the older, buggy application code to work +** without change even with newer versions of SQLite. +** +** [[SQLITE_CONFIG_PCACHE]] [[SQLITE_CONFIG_GETPCACHE]] +**
    SQLITE_CONFIG_PCACHE and SQLITE_CONFIG_GETPCACHE +**
    These options are obsolete and should not be used by new code. +** They are retained for backwards compatibility but are now no-ops. +**
    +** +** [[SQLITE_CONFIG_SQLLOG]] +**
    SQLITE_CONFIG_SQLLOG +**
    This option is only available if sqlite is compiled with the +** [SQLITE_ENABLE_SQLLOG] pre-processor macro defined. The first argument should +** be a pointer to a function of type void(*)(void*,sqlite3*,const char*, int). +** The second should be of type (void*). The callback is invoked by the library +** in three separate circumstances, identified by the value passed as the +** fourth parameter. If the fourth parameter is 0, then the database connection +** passed as the second argument has just been opened. The third argument +** points to a buffer containing the name of the main database file. If the +** fourth parameter is 1, then the SQL statement that the third parameter +** points to has just been executed. Or, if the fourth parameter is 2, then +** the connection being passed as the second parameter is being closed. The +** third parameter is passed NULL In this case. An example of using this +** configuration option can be seen in the "test_sqllog.c" source file in +** the canonical SQLite source tree.
    +** +** [[SQLITE_CONFIG_MMAP_SIZE]] +**
    SQLITE_CONFIG_MMAP_SIZE +**
    ^SQLITE_CONFIG_MMAP_SIZE takes two 64-bit integer (sqlite3_int64) values +** that are the default mmap size limit (the default setting for +** [PRAGMA mmap_size]) and the maximum allowed mmap size limit. +** ^The default setting can be overridden by each database connection using +** either the [PRAGMA mmap_size] command, or by using the +** [SQLITE_FCNTL_MMAP_SIZE] file control. ^(The maximum allowed mmap size +** will be silently truncated if necessary so that it does not exceed the +** compile-time maximum mmap size set by the +** [SQLITE_MAX_MMAP_SIZE] compile-time option.)^ +** ^If either argument to this option is negative, then that argument is +** changed to its compile-time default. +** +** [[SQLITE_CONFIG_WIN32_HEAPSIZE]] +**
    SQLITE_CONFIG_WIN32_HEAPSIZE +**
    ^The SQLITE_CONFIG_WIN32_HEAPSIZE option is only available if SQLite is +** compiled for Windows with the [SQLITE_WIN32_MALLOC] pre-processor macro +** defined. ^SQLITE_CONFIG_WIN32_HEAPSIZE takes a 32-bit unsigned integer value +** that specifies the maximum size of the created heap. +** +** [[SQLITE_CONFIG_PCACHE_HDRSZ]] +**
    SQLITE_CONFIG_PCACHE_HDRSZ +**
    ^The SQLITE_CONFIG_PCACHE_HDRSZ option takes a single parameter which +** is a pointer to an integer and writes into that integer the number of extra +** bytes per page required for each page in [SQLITE_CONFIG_PAGECACHE]. +** The amount of extra space required can change depending on the compiler, +** target platform, and SQLite version. +** +** [[SQLITE_CONFIG_PMASZ]] +**
    SQLITE_CONFIG_PMASZ +**
    ^The SQLITE_CONFIG_PMASZ option takes a single parameter which +** is an unsigned integer and sets the "Minimum PMA Size" for the multithreaded +** sorter to that integer. The default minimum PMA Size is set by the +** [SQLITE_SORTER_PMASZ] compile-time option. New threads are launched +** to help with sort operations when multithreaded sorting +** is enabled (using the [PRAGMA threads] command) and the amount of content +** to be sorted exceeds the page size times the minimum of the +** [PRAGMA cache_size] setting and this value. +** +** [[SQLITE_CONFIG_STMTJRNL_SPILL]] +**
    SQLITE_CONFIG_STMTJRNL_SPILL +**
    ^The SQLITE_CONFIG_STMTJRNL_SPILL option takes a single parameter which +** becomes the [statement journal] spill-to-disk threshold. +** [Statement journals] are held in memory until their size (in bytes) +** exceeds this threshold, at which point they are written to disk. +** Or if the threshold is -1, statement journals are always held +** exclusively in memory. +** Since many statement journals never become large, setting the spill +** threshold to a value such as 64KiB can greatly reduce the amount of +** I/O required to support statement rollback. +** The default value for this setting is controlled by the +** [SQLITE_STMTJRNL_SPILL] compile-time option. +** +** [[SQLITE_CONFIG_SORTERREF_SIZE]] +**
    SQLITE_CONFIG_SORTERREF_SIZE +**
    The SQLITE_CONFIG_SORTERREF_SIZE option accepts a single parameter +** of type (int) - the new value of the sorter-reference size threshold. +** Usually, when SQLite uses an external sort to order records according +** to an ORDER BY clause, all fields required by the caller are present in the +** sorted records. However, if SQLite determines based on the declared type +** of a table column that its values are likely to be very large - larger +** than the configured sorter-reference size threshold - then a reference +** is stored in each sorted record and the required column values loaded +** from the database as records are returned in sorted order. The default +** value for this option is to never use this optimization. Specifying a +** negative value for this option restores the default behaviour. +** This option is only available if SQLite is compiled with the +** [SQLITE_ENABLE_SORTER_REFERENCES] compile-time option. +** +** [[SQLITE_CONFIG_MEMDB_MAXSIZE]] +**
    SQLITE_CONFIG_MEMDB_MAXSIZE +**
    The SQLITE_CONFIG_MEMDB_MAXSIZE option accepts a single parameter +** [sqlite3_int64] parameter which is the default maximum size for an in-memory +** database created using [sqlite3_deserialize()]. This default maximum +** size can be adjusted up or down for individual databases using the +** [SQLITE_FCNTL_SIZE_LIMIT] [sqlite3_file_control|file-control]. If this +** configuration setting is never used, then the default maximum is determined +** by the [SQLITE_MEMDB_DEFAULT_MAXSIZE] compile-time option. If that +** compile-time option is not set, then the default maximum is 1073741824. +**
    +*/ +#define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */ +#define SQLITE_CONFIG_MULTITHREAD 2 /* nil */ +#define SQLITE_CONFIG_SERIALIZED 3 /* nil */ +#define SQLITE_CONFIG_MALLOC 4 /* sqlite3_mem_methods* */ +#define SQLITE_CONFIG_GETMALLOC 5 /* sqlite3_mem_methods* */ +#define SQLITE_CONFIG_SCRATCH 6 /* No longer used */ +#define SQLITE_CONFIG_PAGECACHE 7 /* void*, int sz, int N */ +#define SQLITE_CONFIG_HEAP 8 /* void*, int nByte, int min */ +#define SQLITE_CONFIG_MEMSTATUS 9 /* boolean */ +#define SQLITE_CONFIG_MUTEX 10 /* sqlite3_mutex_methods* */ +#define SQLITE_CONFIG_GETMUTEX 11 /* sqlite3_mutex_methods* */ +/* previously SQLITE_CONFIG_CHUNKALLOC 12 which is now unused. */ +#define SQLITE_CONFIG_LOOKASIDE 13 /* int int */ +#define SQLITE_CONFIG_PCACHE 14 /* no-op */ +#define SQLITE_CONFIG_GETPCACHE 15 /* no-op */ +#define SQLITE_CONFIG_LOG 16 /* xFunc, void* */ +#define SQLITE_CONFIG_URI 17 /* int */ +#define SQLITE_CONFIG_PCACHE2 18 /* sqlite3_pcache_methods2* */ +#define SQLITE_CONFIG_GETPCACHE2 19 /* sqlite3_pcache_methods2* */ +#define SQLITE_CONFIG_COVERING_INDEX_SCAN 20 /* int */ +#define SQLITE_CONFIG_SQLLOG 21 /* xSqllog, void* */ +#define SQLITE_CONFIG_MMAP_SIZE 22 /* sqlite3_int64, sqlite3_int64 */ +#define SQLITE_CONFIG_WIN32_HEAPSIZE 23 /* int nByte */ +#define SQLITE_CONFIG_PCACHE_HDRSZ 24 /* int *psz */ +#define SQLITE_CONFIG_PMASZ 25 /* unsigned int szPma */ +#define SQLITE_CONFIG_STMTJRNL_SPILL 26 /* int nByte */ +#define SQLITE_CONFIG_SMALL_MALLOC 27 /* boolean */ +#define SQLITE_CONFIG_SORTERREF_SIZE 28 /* int nByte */ +#define SQLITE_CONFIG_MEMDB_MAXSIZE 29 /* sqlite3_int64 */ + +/* +** CAPI3REF: Database Connection Configuration Options +** +** These constants are the available integer configuration options that +** can be passed as the second argument to the [sqlite3_db_config()] interface. +** +** New configuration options may be added in future releases of SQLite. +** Existing configuration options might be discontinued. Applications +** should check the return code from [sqlite3_db_config()] to make sure that +** the call worked. ^The [sqlite3_db_config()] interface will return a +** non-zero [error code] if a discontinued or unsupported configuration option +** is invoked. +** +**
    +** [[SQLITE_DBCONFIG_LOOKASIDE]] +**
    SQLITE_DBCONFIG_LOOKASIDE
    +**
    ^This option takes three additional arguments that determine the +** [lookaside memory allocator] configuration for the [database connection]. +** ^The first argument (the third parameter to [sqlite3_db_config()] is a +** pointer to a memory buffer to use for lookaside memory. +** ^The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb +** may be NULL in which case SQLite will allocate the +** lookaside buffer itself using [sqlite3_malloc()]. ^The second argument is the +** size of each lookaside buffer slot. ^The third argument is the number of +** slots. The size of the buffer in the first argument must be greater than +** or equal to the product of the second and third arguments. The buffer +** must be aligned to an 8-byte boundary. ^If the second argument to +** SQLITE_DBCONFIG_LOOKASIDE is not a multiple of 8, it is internally +** rounded down to the next smaller multiple of 8. ^(The lookaside memory +** configuration for a database connection can only be changed when that +** connection is not currently using lookaside memory, or in other words +** when the "current value" returned by +** [sqlite3_db_status](D,[SQLITE_CONFIG_LOOKASIDE],...) is zero. +** Any attempt to change the lookaside memory configuration when lookaside +** memory is in use leaves the configuration unchanged and returns +** [SQLITE_BUSY].)^
    +** +** [[SQLITE_DBCONFIG_ENABLE_FKEY]] +**
    SQLITE_DBCONFIG_ENABLE_FKEY
    +**
    ^This option is used to enable or disable the enforcement of +** [foreign key constraints]. There should be two additional arguments. +** The first argument is an integer which is 0 to disable FK enforcement, +** positive to enable FK enforcement or negative to leave FK enforcement +** unchanged. The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether FK enforcement is off or on +** following this call. The second parameter may be a NULL pointer, in +** which case the FK enforcement setting is not reported back.
    +** +** [[SQLITE_DBCONFIG_ENABLE_TRIGGER]] +**
    SQLITE_DBCONFIG_ENABLE_TRIGGER
    +**
    ^This option is used to enable or disable [CREATE TRIGGER | triggers]. +** There should be two additional arguments. +** The first argument is an integer which is 0 to disable triggers, +** positive to enable triggers or negative to leave the setting unchanged. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether triggers are disabled or enabled +** following this call. The second parameter may be a NULL pointer, in +** which case the trigger setting is not reported back. +** +**

    Originally this option disabled all triggers. ^(However, since +** SQLite version 3.35.0, TEMP triggers are still allowed even if +** this option is off. So, in other words, this option now only disables +** triggers in the main database schema or in the schemas of ATTACH-ed +** databases.)^

    +** +** [[SQLITE_DBCONFIG_ENABLE_VIEW]] +**
    SQLITE_DBCONFIG_ENABLE_VIEW
    +**
    ^This option is used to enable or disable [CREATE VIEW | views]. +** There should be two additional arguments. +** The first argument is an integer which is 0 to disable views, +** positive to enable views or negative to leave the setting unchanged. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether views are disabled or enabled +** following this call. The second parameter may be a NULL pointer, in +** which case the view setting is not reported back. +** +**

    Originally this option disabled all views. ^(However, since +** SQLite version 3.35.0, TEMP views are still allowed even if +** this option is off. So, in other words, this option now only disables +** views in the main database schema or in the schemas of ATTACH-ed +** databases.)^

    +** +** [[SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER]] +**
    SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
    +**
    ^This option is used to enable or disable the +** [fts3_tokenizer()] function which is part of the +** [FTS3] full-text search engine extension. +** There should be two additional arguments. +** The first argument is an integer which is 0 to disable fts3_tokenizer() or +** positive to enable fts3_tokenizer() or negative to leave the setting +** unchanged. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether fts3_tokenizer is disabled or enabled +** following this call. The second parameter may be a NULL pointer, in +** which case the new setting is not reported back.
    +** +** [[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION]] +**
    SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION
    +**
    ^This option is used to enable or disable the [sqlite3_load_extension()] +** interface independently of the [load_extension()] SQL function. +** The [sqlite3_enable_load_extension()] API enables or disables both the +** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. +** There should be two additional arguments. +** When the first argument to this interface is 1, then only the C-API is +** enabled and the SQL function remains disabled. If the first argument to +** this interface is 0, then both the C-API and the SQL function are disabled. +** If the first argument is -1, then no changes are made to state of either the +** C-API or the SQL function. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface +** is disabled or enabled following this call. The second parameter may +** be a NULL pointer, in which case the new setting is not reported back. +**
    +** +** [[SQLITE_DBCONFIG_MAINDBNAME]]
    SQLITE_DBCONFIG_MAINDBNAME
    +**
    ^This option is used to change the name of the "main" database +** schema. ^The sole argument is a pointer to a constant UTF8 string +** which will become the new schema name in place of "main". ^SQLite +** does not make a copy of the new main schema name string, so the application +** must ensure that the argument passed into this DBCONFIG option is unchanged +** until after the database connection closes. +**
    +** +** [[SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE]] +**
    SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE
    +**
    Usually, when a database in wal mode is closed or detached from a +** database handle, SQLite checks if this will mean that there are now no +** connections at all to the database. If so, it performs a checkpoint +** operation before closing the connection. This option may be used to +** override this behaviour. The first parameter passed to this operation +** is an integer - positive to disable checkpoints-on-close, or zero (the +** default) to enable them, and negative to leave the setting unchanged. +** The second parameter is a pointer to an integer +** into which is written 0 or 1 to indicate whether checkpoints-on-close +** have been disabled - 0 if they are not disabled, 1 if they are. +**
    +** +** [[SQLITE_DBCONFIG_ENABLE_QPSG]]
    SQLITE_DBCONFIG_ENABLE_QPSG
    +**
    ^(The SQLITE_DBCONFIG_ENABLE_QPSG option activates or deactivates +** the [query planner stability guarantee] (QPSG). When the QPSG is active, +** a single SQL query statement will always use the same algorithm regardless +** of values of [bound parameters].)^ The QPSG disables some query optimizations +** that look at the values of bound parameters, which can make some queries +** slower. But the QPSG has the advantage of more predictable behavior. With +** the QPSG active, SQLite will always use the same query plan in the field as +** was used during testing in the lab. +** The first argument to this setting is an integer which is 0 to disable +** the QPSG, positive to enable QPSG, or negative to leave the setting +** unchanged. The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether the QPSG is disabled or enabled +** following this call. +**
    +** +** [[SQLITE_DBCONFIG_TRIGGER_EQP]]
    SQLITE_DBCONFIG_TRIGGER_EQP
    +**
    By default, the output of EXPLAIN QUERY PLAN commands does not +** include output for any operations performed by trigger programs. This +** option is used to set or clear (the default) a flag that governs this +** behavior. The first parameter passed to this operation is an integer - +** positive to enable output for trigger programs, or zero to disable it, +** or negative to leave the setting unchanged. +** The second parameter is a pointer to an integer into which is written +** 0 or 1 to indicate whether output-for-triggers has been disabled - 0 if +** it is not disabled, 1 if it is. +**
    +** +** [[SQLITE_DBCONFIG_RESET_DATABASE]]
    SQLITE_DBCONFIG_RESET_DATABASE
    +**
    Set the SQLITE_DBCONFIG_RESET_DATABASE flag and then run +** [VACUUM] in order to reset a database back to an empty database +** with no schema and no content. The following process works even for +** a badly corrupted database file: +**
      +**
    1. If the database connection is newly opened, make sure it has read the +** database schema by preparing then discarding some query against the +** database, or calling sqlite3_table_column_metadata(), ignoring any +** errors. This step is only necessary if the application desires to keep +** the database in WAL mode after the reset if it was in WAL mode before +** the reset. +**
    2. sqlite3_db_config(db, SQLITE_DBCONFIG_RESET_DATABASE, 1, 0); +**
    3. [sqlite3_exec](db, "[VACUUM]", 0, 0, 0); +**
    4. sqlite3_db_config(db, SQLITE_DBCONFIG_RESET_DATABASE, 0, 0); +**
    +** Because resetting a database is destructive and irreversible, the +** process requires the use of this obscure API and multiple steps to help +** ensure that it does not happen by accident. +** +** [[SQLITE_DBCONFIG_DEFENSIVE]]
    SQLITE_DBCONFIG_DEFENSIVE
    +**
    The SQLITE_DBCONFIG_DEFENSIVE option activates or deactivates the +** "defensive" flag for a database connection. When the defensive +** flag is enabled, language features that allow ordinary SQL to +** deliberately corrupt the database file are disabled. The disabled +** features include but are not limited to the following: +**
      +**
    • The [PRAGMA writable_schema=ON] statement. +**
    • The [PRAGMA journal_mode=OFF] statement. +**
    • Writes to the [sqlite_dbpage] virtual table. +**
    • Direct writes to [shadow tables]. +**
    +**
    +** +** [[SQLITE_DBCONFIG_WRITABLE_SCHEMA]]
    SQLITE_DBCONFIG_WRITABLE_SCHEMA
    +**
    The SQLITE_DBCONFIG_WRITABLE_SCHEMA option activates or deactivates the +** "writable_schema" flag. This has the same effect and is logically equivalent +** to setting [PRAGMA writable_schema=ON] or [PRAGMA writable_schema=OFF]. +** The first argument to this setting is an integer which is 0 to disable +** the writable_schema, positive to enable writable_schema, or negative to +** leave the setting unchanged. The second parameter is a pointer to an +** integer into which is written 0 or 1 to indicate whether the writable_schema +** is enabled or disabled following this call. +**
    +** +** [[SQLITE_DBCONFIG_LEGACY_ALTER_TABLE]] +**
    SQLITE_DBCONFIG_LEGACY_ALTER_TABLE
    +**
    The SQLITE_DBCONFIG_LEGACY_ALTER_TABLE option activates or deactivates +** the legacy behavior of the [ALTER TABLE RENAME] command such it +** behaves as it did prior to [version 3.24.0] (2018-06-04). See the +** "Compatibility Notice" on the [ALTER TABLE RENAME documentation] for +** additional information. This feature can also be turned on and off +** using the [PRAGMA legacy_alter_table] statement. +**
    +** +** [[SQLITE_DBCONFIG_DQS_DML]] +**
    SQLITE_DBCONFIG_DQS_DML +**
    The SQLITE_DBCONFIG_DQS_DML option activates or deactivates +** the legacy [double-quoted string literal] misfeature for DML statements +** only, that is DELETE, INSERT, SELECT, and UPDATE statements. The +** default value of this setting is determined by the [-DSQLITE_DQS] +** compile-time option. +**
    +** +** [[SQLITE_DBCONFIG_DQS_DDL]] +**
    SQLITE_DBCONFIG_DQS_DDL +**
    The SQLITE_DBCONFIG_DQS option activates or deactivates +** the legacy [double-quoted string literal] misfeature for DDL statements, +** such as CREATE TABLE and CREATE INDEX. The +** default value of this setting is determined by the [-DSQLITE_DQS] +** compile-time option. +**
    +** +** [[SQLITE_DBCONFIG_TRUSTED_SCHEMA]] +**
    SQLITE_DBCONFIG_TRUSTED_SCHEMA +**
    The SQLITE_DBCONFIG_TRUSTED_SCHEMA option tells SQLite to +** assume that database schemas are untainted by malicious content. +** When the SQLITE_DBCONFIG_TRUSTED_SCHEMA option is disabled, SQLite +** takes additional defensive steps to protect the application from harm +** including: +**
      +**
    • Prohibit the use of SQL functions inside triggers, views, +** CHECK constraints, DEFAULT clauses, expression indexes, +** partial indexes, or generated columns +** unless those functions are tagged with [SQLITE_INNOCUOUS]. +**
    • Prohibit the use of virtual tables inside of triggers or views +** unless those virtual tables are tagged with [SQLITE_VTAB_INNOCUOUS]. +**
    +** This setting defaults to "on" for legacy compatibility, however +** all applications are advised to turn it off if possible. This setting +** can also be controlled using the [PRAGMA trusted_schema] statement. +**
    +** +** [[SQLITE_DBCONFIG_LEGACY_FILE_FORMAT]] +**
    SQLITE_DBCONFIG_LEGACY_FILE_FORMAT +**
    The SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option activates or deactivates +** the legacy file format flag. When activated, this flag causes all newly +** created database file to have a schema format version number (the 4-byte +** integer found at offset 44 into the database header) of 1. This in turn +** means that the resulting database file will be readable and writable by +** any SQLite version back to 3.0.0 ([dateof:3.0.0]). Without this setting, +** newly created databases are generally not understandable by SQLite versions +** prior to 3.3.0 ([dateof:3.3.0]). As these words are written, there +** is now scarcely any need to generated database files that are compatible +** all the way back to version 3.0.0, and so this setting is of little +** practical use, but is provided so that SQLite can continue to claim the +** ability to generate new database files that are compatible with version +** 3.0.0. +**

    Note that when the SQLITE_DBCONFIG_LEGACY_FILE_FORMAT setting is on, +** the [VACUUM] command will fail with an obscure error when attempting to +** process a table with generated columns and a descending index. This is +** not considered a bug since SQLite versions 3.3.0 and earlier do not support +** either generated columns or decending indexes. +**

    +**
    +*/ +#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ +#define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ +#define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION 1005 /* int int* */ +#define SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE 1006 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_QPSG 1007 /* int int* */ +#define SQLITE_DBCONFIG_TRIGGER_EQP 1008 /* int int* */ +#define SQLITE_DBCONFIG_RESET_DATABASE 1009 /* int int* */ +#define SQLITE_DBCONFIG_DEFENSIVE 1010 /* int int* */ +#define SQLITE_DBCONFIG_WRITABLE_SCHEMA 1011 /* int int* */ +#define SQLITE_DBCONFIG_LEGACY_ALTER_TABLE 1012 /* int int* */ +#define SQLITE_DBCONFIG_DQS_DML 1013 /* int int* */ +#define SQLITE_DBCONFIG_DQS_DDL 1014 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_VIEW 1015 /* int int* */ +#define SQLITE_DBCONFIG_LEGACY_FILE_FORMAT 1016 /* int int* */ +#define SQLITE_DBCONFIG_TRUSTED_SCHEMA 1017 /* int int* */ +#define SQLITE_DBCONFIG_MAX 1017 /* Largest DBCONFIG */ + +/* +** CAPI3REF: Enable Or Disable Extended Result Codes +** METHOD: sqlite3 +** +** ^The sqlite3_extended_result_codes() routine enables or disables the +** [extended result codes] feature of SQLite. ^The extended result +** codes are disabled by default for historical compatibility. +*/ +SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff); + +/* +** CAPI3REF: Last Insert Rowid +** METHOD: sqlite3 +** +** ^Each entry in most SQLite tables (except for [WITHOUT ROWID] tables) +** has a unique 64-bit signed +** integer key called the [ROWID | "rowid"]. ^The rowid is always available +** as an undeclared column named ROWID, OID, or _ROWID_ as long as those +** names are not also used by explicitly declared columns. ^If +** the table has a column of type [INTEGER PRIMARY KEY] then that column +** is another alias for the rowid. +** +** ^The sqlite3_last_insert_rowid(D) interface usually returns the [rowid] of +** the most recent successful [INSERT] into a rowid table or [virtual table] +** on database connection D. ^Inserts into [WITHOUT ROWID] tables are not +** recorded. ^If no successful [INSERT]s into rowid tables have ever occurred +** on the database connection D, then sqlite3_last_insert_rowid(D) returns +** zero. +** +** As well as being set automatically as rows are inserted into database +** tables, the value returned by this function may be set explicitly by +** [sqlite3_set_last_insert_rowid()] +** +** Some virtual table implementations may INSERT rows into rowid tables as +** part of committing a transaction (e.g. to flush data accumulated in memory +** to disk). In this case subsequent calls to this function return the rowid +** associated with these internal INSERT operations, which leads to +** unintuitive results. Virtual table implementations that do write to rowid +** tables in this way can avoid this problem by restoring the original +** rowid value using [sqlite3_set_last_insert_rowid()] before returning +** control to the user. +** +** ^(If an [INSERT] occurs within a trigger then this routine will +** return the [rowid] of the inserted row as long as the trigger is +** running. Once the trigger program ends, the value returned +** by this routine reverts to what it was before the trigger was fired.)^ +** +** ^An [INSERT] that fails due to a constraint violation is not a +** successful [INSERT] and does not change the value returned by this +** routine. ^Thus INSERT OR FAIL, INSERT OR IGNORE, INSERT OR ROLLBACK, +** and INSERT OR ABORT make no changes to the return value of this +** routine when their insertion fails. ^(When INSERT OR REPLACE +** encounters a constraint violation, it does not fail. The +** INSERT continues to completion after deleting rows that caused +** the constraint problem so INSERT OR REPLACE will always change +** the return value of this interface.)^ +** +** ^For the purposes of this routine, an [INSERT] is considered to +** be successful even if it is subsequently rolled back. +** +** This function is accessible to SQL statements via the +** [last_insert_rowid() SQL function]. +** +** If a separate thread performs a new [INSERT] on the same +** database connection while the [sqlite3_last_insert_rowid()] +** function is running and thus changes the last insert [rowid], +** then the value returned by [sqlite3_last_insert_rowid()] is +** unpredictable and might not equal either the old or the new +** last insert [rowid]. +*/ +SQLITE_API sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*); + +/* +** CAPI3REF: Set the Last Insert Rowid value. +** METHOD: sqlite3 +** +** The sqlite3_set_last_insert_rowid(D, R) method allows the application to +** set the value returned by calling sqlite3_last_insert_rowid(D) to R +** without inserting a row into the database. +*/ +SQLITE_API void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64); + +/* +** CAPI3REF: Count The Number Of Rows Modified +** METHOD: sqlite3 +** +** ^These functions return the number of rows modified, inserted or +** deleted by the most recently completed INSERT, UPDATE or DELETE +** statement on the database connection specified by the only parameter. +** The two functions are identical except for the type of the return value +** and that if the number of rows modified by the most recent INSERT, UPDATE +** or DELETE is greater than the maximum value supported by type "int", then +** the return value of sqlite3_changes() is undefined. ^Executing any other +** type of SQL statement does not modify the value returned by these functions. +** +** ^Only changes made directly by the INSERT, UPDATE or DELETE statement are +** considered - auxiliary changes caused by [CREATE TRIGGER | triggers], +** [foreign key actions] or [REPLACE] constraint resolution are not counted. +** +** Changes to a view that are intercepted by +** [INSTEAD OF trigger | INSTEAD OF triggers] are not counted. ^The value +** returned by sqlite3_changes() immediately after an INSERT, UPDATE or +** DELETE statement run on a view is always zero. Only changes made to real +** tables are counted. +** +** Things are more complicated if the sqlite3_changes() function is +** executed while a trigger program is running. This may happen if the +** program uses the [changes() SQL function], or if some other callback +** function invokes sqlite3_changes() directly. Essentially: +** +**
      +**
    • ^(Before entering a trigger program the value returned by +** sqlite3_changes() function is saved. After the trigger program +** has finished, the original value is restored.)^ +** +**
    • ^(Within a trigger program each INSERT, UPDATE and DELETE +** statement sets the value returned by sqlite3_changes() +** upon completion as normal. Of course, this value will not include +** any changes performed by sub-triggers, as the sqlite3_changes() +** value will be saved and restored after each sub-trigger has run.)^ +**
    +** +** ^This means that if the changes() SQL function (or similar) is used +** by the first INSERT, UPDATE or DELETE statement within a trigger, it +** returns the value as set when the calling statement began executing. +** ^If it is used by the second or subsequent such statement within a trigger +** program, the value returned reflects the number of rows modified by the +** previous INSERT, UPDATE or DELETE statement within the same trigger. +** +** If a separate thread makes changes on the same database connection +** while [sqlite3_changes()] is running then the value returned +** is unpredictable and not meaningful. +** +** See also: +**
      +**
    • the [sqlite3_total_changes()] interface +**
    • the [count_changes pragma] +**
    • the [changes() SQL function] +**
    • the [data_version pragma] +**
    +*/ +SQLITE_API int sqlite3_changes(sqlite3*); +SQLITE_API sqlite3_int64 sqlite3_changes64(sqlite3*); + +/* +** CAPI3REF: Total Number Of Rows Modified +** METHOD: sqlite3 +** +** ^These functions return the total number of rows inserted, modified or +** deleted by all [INSERT], [UPDATE] or [DELETE] statements completed +** since the database connection was opened, including those executed as +** part of trigger programs. The two functions are identical except for the +** type of the return value and that if the number of rows modified by the +** connection exceeds the maximum value supported by type "int", then +** the return value of sqlite3_total_changes() is undefined. ^Executing +** any other type of SQL statement does not affect the value returned by +** sqlite3_total_changes(). +** +** ^Changes made as part of [foreign key actions] are included in the +** count, but those made as part of REPLACE constraint resolution are +** not. ^Changes to a view that are intercepted by INSTEAD OF triggers +** are not counted. +** +** The [sqlite3_total_changes(D)] interface only reports the number +** of rows that changed due to SQL statement run against database +** connection D. Any changes by other database connections are ignored. +** To detect changes against a database file from other database +** connections use the [PRAGMA data_version] command or the +** [SQLITE_FCNTL_DATA_VERSION] [file control]. +** +** If a separate thread makes changes on the same database connection +** while [sqlite3_total_changes()] is running then the value +** returned is unpredictable and not meaningful. +** +** See also: +**
      +**
    • the [sqlite3_changes()] interface +**
    • the [count_changes pragma] +**
    • the [changes() SQL function] +**
    • the [data_version pragma] +**
    • the [SQLITE_FCNTL_DATA_VERSION] [file control] +**
    +*/ +SQLITE_API int sqlite3_total_changes(sqlite3*); +SQLITE_API sqlite3_int64 sqlite3_total_changes64(sqlite3*); + +/* +** CAPI3REF: Interrupt A Long-Running Query +** METHOD: sqlite3 +** +** ^This function causes any pending database operation to abort and +** return at its earliest opportunity. This routine is typically +** called in response to a user action such as pressing "Cancel" +** or Ctrl-C where the user wants a long query operation to halt +** immediately. +** +** ^It is safe to call this routine from a thread different from the +** thread that is currently running the database operation. But it +** is not safe to call this routine with a [database connection] that +** is closed or might close before sqlite3_interrupt() returns. +** +** ^If an SQL operation is very nearly finished at the time when +** sqlite3_interrupt() is called, then it might not have an opportunity +** to be interrupted and might continue to completion. +** +** ^An SQL operation that is interrupted will return [SQLITE_INTERRUPT]. +** ^If the interrupted SQL operation is an INSERT, UPDATE, or DELETE +** that is inside an explicit transaction, then the entire transaction +** will be rolled back automatically. +** +** ^The sqlite3_interrupt(D) call is in effect until all currently running +** SQL statements on [database connection] D complete. ^Any new SQL statements +** that are started after the sqlite3_interrupt() call and before the +** running statement count reaches zero are interrupted as if they had been +** running prior to the sqlite3_interrupt() call. ^New SQL statements +** that are started after the running statement count reaches zero are +** not effected by the sqlite3_interrupt(). +** ^A call to sqlite3_interrupt(D) that occurs when there are no running +** SQL statements is a no-op and has no effect on SQL statements +** that are started after the sqlite3_interrupt() call returns. +*/ +SQLITE_API void sqlite3_interrupt(sqlite3*); + +/* +** CAPI3REF: Determine If An SQL Statement Is Complete +** +** These routines are useful during command-line input to determine if the +** currently entered text seems to form a complete SQL statement or +** if additional input is needed before sending the text into +** SQLite for parsing. ^These routines return 1 if the input string +** appears to be a complete SQL statement. ^A statement is judged to be +** complete if it ends with a semicolon token and is not a prefix of a +** well-formed CREATE TRIGGER statement. ^Semicolons that are embedded within +** string literals or quoted identifier names or comments are not +** independent tokens (they are part of the token in which they are +** embedded) and thus do not count as a statement terminator. ^Whitespace +** and comments that follow the final semicolon are ignored. +** +** ^These routines return 0 if the statement is incomplete. ^If a +** memory allocation fails, then SQLITE_NOMEM is returned. +** +** ^These routines do not parse the SQL statements thus +** will not detect syntactically incorrect SQL. +** +** ^(If SQLite has not been initialized using [sqlite3_initialize()] prior +** to invoking sqlite3_complete16() then sqlite3_initialize() is invoked +** automatically by sqlite3_complete16(). If that initialization fails, +** then the return value from sqlite3_complete16() will be non-zero +** regardless of whether or not the input SQL is complete.)^ +** +** The input to [sqlite3_complete()] must be a zero-terminated +** UTF-8 string. +** +** The input to [sqlite3_complete16()] must be a zero-terminated +** UTF-16 string in native byte order. +*/ +SQLITE_API int sqlite3_complete(const char *sql); +SQLITE_API int sqlite3_complete16(const void *sql); + +/* +** CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors +** KEYWORDS: {busy-handler callback} {busy handler} +** METHOD: sqlite3 +** +** ^The sqlite3_busy_handler(D,X,P) routine sets a callback function X +** that might be invoked with argument P whenever +** an attempt is made to access a database table associated with +** [database connection] D when another thread +** or process has the table locked. +** The sqlite3_busy_handler() interface is used to implement +** [sqlite3_busy_timeout()] and [PRAGMA busy_timeout]. +** +** ^If the busy callback is NULL, then [SQLITE_BUSY] +** is returned immediately upon encountering the lock. ^If the busy callback +** is not NULL, then the callback might be invoked with two arguments. +** +** ^The first argument to the busy handler is a copy of the void* pointer which +** is the third argument to sqlite3_busy_handler(). ^The second argument to +** the busy handler callback is the number of times that the busy handler has +** been invoked previously for the same locking event. ^If the +** busy callback returns 0, then no additional attempts are made to +** access the database and [SQLITE_BUSY] is returned +** to the application. +** ^If the callback returns non-zero, then another attempt +** is made to access the database and the cycle repeats. +** +** The presence of a busy handler does not guarantee that it will be invoked +** when there is lock contention. ^If SQLite determines that invoking the busy +** handler could result in a deadlock, it will go ahead and return [SQLITE_BUSY] +** to the application instead of invoking the +** busy handler. +** Consider a scenario where one process is holding a read lock that +** it is trying to promote to a reserved lock and +** a second process is holding a reserved lock that it is trying +** to promote to an exclusive lock. The first process cannot proceed +** because it is blocked by the second and the second process cannot +** proceed because it is blocked by the first. If both processes +** invoke the busy handlers, neither will make any progress. Therefore, +** SQLite returns [SQLITE_BUSY] for the first process, hoping that this +** will induce the first process to release its read lock and allow +** the second process to proceed. +** +** ^The default busy callback is NULL. +** +** ^(There can only be a single busy handler defined for each +** [database connection]. Setting a new busy handler clears any +** previously set handler.)^ ^Note that calling [sqlite3_busy_timeout()] +** or evaluating [PRAGMA busy_timeout=N] will change the +** busy handler and thus clear any previously set busy handler. +** +** The busy callback should not take any actions which modify the +** database connection that invoked the busy handler. In other words, +** the busy handler is not reentrant. Any such actions +** result in undefined behavior. +** +** A busy handler must not close the database connection +** or [prepared statement] that invoked the busy handler. +*/ +SQLITE_API int sqlite3_busy_handler(sqlite3*,int(*)(void*,int),void*); + +/* +** CAPI3REF: Set A Busy Timeout +** METHOD: sqlite3 +** +** ^This routine sets a [sqlite3_busy_handler | busy handler] that sleeps +** for a specified amount of time when a table is locked. ^The handler +** will sleep multiple times until at least "ms" milliseconds of sleeping +** have accumulated. ^After at least "ms" milliseconds of sleeping, +** the handler returns 0 which causes [sqlite3_step()] to return +** [SQLITE_BUSY]. +** +** ^Calling this routine with an argument less than or equal to zero +** turns off all busy handlers. +** +** ^(There can only be a single busy handler for a particular +** [database connection] at any given moment. If another busy handler +** was defined (using [sqlite3_busy_handler()]) prior to calling +** this routine, that other busy handler is cleared.)^ +** +** See also: [PRAGMA busy_timeout] +*/ +SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms); + +/* +** CAPI3REF: Convenience Routines For Running Queries +** METHOD: sqlite3 +** +** This is a legacy interface that is preserved for backwards compatibility. +** Use of this interface is not recommended. +** +** Definition: A result table is memory data structure created by the +** [sqlite3_get_table()] interface. A result table records the +** complete query results from one or more queries. +** +** The table conceptually has a number of rows and columns. But +** these numbers are not part of the result table itself. These +** numbers are obtained separately. Let N be the number of rows +** and M be the number of columns. +** +** A result table is an array of pointers to zero-terminated UTF-8 strings. +** There are (N+1)*M elements in the array. The first M pointers point +** to zero-terminated strings that contain the names of the columns. +** The remaining entries all point to query results. NULL values result +** in NULL pointers. All other values are in their UTF-8 zero-terminated +** string representation as returned by [sqlite3_column_text()]. +** +** A result table might consist of one or more memory allocations. +** It is not safe to pass a result table directly to [sqlite3_free()]. +** A result table should be deallocated using [sqlite3_free_table()]. +** +** ^(As an example of the result table format, suppose a query result +** is as follows: +** +**
    +**        Name        | Age
    +**        -----------------------
    +**        Alice       | 43
    +**        Bob         | 28
    +**        Cindy       | 21
    +** 
    +** +** There are two columns (M==2) and three rows (N==3). Thus the +** result table has 8 entries. Suppose the result table is stored +** in an array named azResult. Then azResult holds this content: +** +**
    +**        azResult[0] = "Name";
    +**        azResult[1] = "Age";
    +**        azResult[2] = "Alice";
    +**        azResult[3] = "43";
    +**        azResult[4] = "Bob";
    +**        azResult[5] = "28";
    +**        azResult[6] = "Cindy";
    +**        azResult[7] = "21";
    +** 
    )^ +** +** ^The sqlite3_get_table() function evaluates one or more +** semicolon-separated SQL statements in the zero-terminated UTF-8 +** string of its 2nd parameter and returns a result table to the +** pointer given in its 3rd parameter. +** +** After the application has finished with the result from sqlite3_get_table(), +** it must pass the result table pointer to sqlite3_free_table() in order to +** release the memory that was malloced. Because of the way the +** [sqlite3_malloc()] happens within sqlite3_get_table(), the calling +** function must not try to call [sqlite3_free()] directly. Only +** [sqlite3_free_table()] is able to release the memory properly and safely. +** +** The sqlite3_get_table() interface is implemented as a wrapper around +** [sqlite3_exec()]. The sqlite3_get_table() routine does not have access +** to any internal data structures of SQLite. It uses only the public +** interface defined here. As a consequence, errors that occur in the +** wrapper layer outside of the internal [sqlite3_exec()] call are not +** reflected in subsequent calls to [sqlite3_errcode()] or +** [sqlite3_errmsg()]. +*/ +SQLITE_API int sqlite3_get_table( + sqlite3 *db, /* An open database */ + const char *zSql, /* SQL to be evaluated */ + char ***pazResult, /* Results of the query */ + int *pnRow, /* Number of result rows written here */ + int *pnColumn, /* Number of result columns written here */ + char **pzErrmsg /* Error msg written here */ +); +SQLITE_API void sqlite3_free_table(char **result); + +/* +** CAPI3REF: Formatted String Printing Functions +** +** These routines are work-alikes of the "printf()" family of functions +** from the standard C library. +** These routines understand most of the common formatting options from +** the standard library printf() +** plus some additional non-standard formats ([%q], [%Q], [%w], and [%z]). +** See the [built-in printf()] documentation for details. +** +** ^The sqlite3_mprintf() and sqlite3_vmprintf() routines write their +** results into memory obtained from [sqlite3_malloc64()]. +** The strings returned by these two routines should be +** released by [sqlite3_free()]. ^Both routines return a +** NULL pointer if [sqlite3_malloc64()] is unable to allocate enough +** memory to hold the resulting string. +** +** ^(The sqlite3_snprintf() routine is similar to "snprintf()" from +** the standard C library. The result is written into the +** buffer supplied as the second parameter whose size is given by +** the first parameter. Note that the order of the +** first two parameters is reversed from snprintf().)^ This is an +** historical accident that cannot be fixed without breaking +** backwards compatibility. ^(Note also that sqlite3_snprintf() +** returns a pointer to its buffer instead of the number of +** characters actually written into the buffer.)^ We admit that +** the number of characters written would be a more useful return +** value but we cannot change the implementation of sqlite3_snprintf() +** now without breaking compatibility. +** +** ^As long as the buffer size is greater than zero, sqlite3_snprintf() +** guarantees that the buffer is always zero-terminated. ^The first +** parameter "n" is the total size of the buffer, including space for +** the zero terminator. So the longest string that can be completely +** written will be n-1 characters. +** +** ^The sqlite3_vsnprintf() routine is a varargs version of sqlite3_snprintf(). +** +** See also: [built-in printf()], [printf() SQL function] +*/ +SQLITE_API char *sqlite3_mprintf(const char*,...); +SQLITE_API char *sqlite3_vmprintf(const char*, va_list); +SQLITE_API char *sqlite3_snprintf(int,char*,const char*, ...); +SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list); + +/* +** CAPI3REF: Memory Allocation Subsystem +** +** The SQLite core uses these three routines for all of its own +** internal memory allocation needs. "Core" in the previous sentence +** does not include operating-system specific [VFS] implementation. The +** Windows VFS uses native malloc() and free() for some operations. +** +** ^The sqlite3_malloc() routine returns a pointer to a block +** of memory at least N bytes in length, where N is the parameter. +** ^If sqlite3_malloc() is unable to obtain sufficient free +** memory, it returns a NULL pointer. ^If the parameter N to +** sqlite3_malloc() is zero or negative then sqlite3_malloc() returns +** a NULL pointer. +** +** ^The sqlite3_malloc64(N) routine works just like +** sqlite3_malloc(N) except that N is an unsigned 64-bit integer instead +** of a signed 32-bit integer. +** +** ^Calling sqlite3_free() with a pointer previously returned +** by sqlite3_malloc() or sqlite3_realloc() releases that memory so +** that it might be reused. ^The sqlite3_free() routine is +** a no-op if is called with a NULL pointer. Passing a NULL pointer +** to sqlite3_free() is harmless. After being freed, memory +** should neither be read nor written. Even reading previously freed +** memory might result in a segmentation fault or other severe error. +** Memory corruption, a segmentation fault, or other severe error +** might result if sqlite3_free() is called with a non-NULL pointer that +** was not obtained from sqlite3_malloc() or sqlite3_realloc(). +** +** ^The sqlite3_realloc(X,N) interface attempts to resize a +** prior memory allocation X to be at least N bytes. +** ^If the X parameter to sqlite3_realloc(X,N) +** is a NULL pointer then its behavior is identical to calling +** sqlite3_malloc(N). +** ^If the N parameter to sqlite3_realloc(X,N) is zero or +** negative then the behavior is exactly the same as calling +** sqlite3_free(X). +** ^sqlite3_realloc(X,N) returns a pointer to a memory allocation +** of at least N bytes in size or NULL if insufficient memory is available. +** ^If M is the size of the prior allocation, then min(N,M) bytes +** of the prior allocation are copied into the beginning of buffer returned +** by sqlite3_realloc(X,N) and the prior allocation is freed. +** ^If sqlite3_realloc(X,N) returns NULL and N is positive, then the +** prior allocation is not freed. +** +** ^The sqlite3_realloc64(X,N) interfaces works the same as +** sqlite3_realloc(X,N) except that N is a 64-bit unsigned integer instead +** of a 32-bit signed integer. +** +** ^If X is a memory allocation previously obtained from sqlite3_malloc(), +** sqlite3_malloc64(), sqlite3_realloc(), or sqlite3_realloc64(), then +** sqlite3_msize(X) returns the size of that memory allocation in bytes. +** ^The value returned by sqlite3_msize(X) might be larger than the number +** of bytes requested when X was allocated. ^If X is a NULL pointer then +** sqlite3_msize(X) returns zero. If X points to something that is not +** the beginning of memory allocation, or if it points to a formerly +** valid memory allocation that has now been freed, then the behavior +** of sqlite3_msize(X) is undefined and possibly harmful. +** +** ^The memory returned by sqlite3_malloc(), sqlite3_realloc(), +** sqlite3_malloc64(), and sqlite3_realloc64() +** is always aligned to at least an 8 byte boundary, or to a +** 4 byte boundary if the [SQLITE_4_BYTE_ALIGNED_MALLOC] compile-time +** option is used. +** +** The pointer arguments to [sqlite3_free()] and [sqlite3_realloc()] +** must be either NULL or else pointers obtained from a prior +** invocation of [sqlite3_malloc()] or [sqlite3_realloc()] that have +** not yet been released. +** +** The application must not read or write any part of +** a block of memory after it has been released using +** [sqlite3_free()] or [sqlite3_realloc()]. +*/ +SQLITE_API void *sqlite3_malloc(int); +SQLITE_API void *sqlite3_malloc64(sqlite3_uint64); +SQLITE_API void *sqlite3_realloc(void*, int); +SQLITE_API void *sqlite3_realloc64(void*, sqlite3_uint64); +SQLITE_API void sqlite3_free(void*); +SQLITE_API sqlite3_uint64 sqlite3_msize(void*); + +/* +** CAPI3REF: Memory Allocator Statistics +** +** SQLite provides these two interfaces for reporting on the status +** of the [sqlite3_malloc()], [sqlite3_free()], and [sqlite3_realloc()] +** routines, which form the built-in memory allocation subsystem. +** +** ^The [sqlite3_memory_used()] routine returns the number of bytes +** of memory currently outstanding (malloced but not freed). +** ^The [sqlite3_memory_highwater()] routine returns the maximum +** value of [sqlite3_memory_used()] since the high-water mark +** was last reset. ^The values returned by [sqlite3_memory_used()] and +** [sqlite3_memory_highwater()] include any overhead +** added by SQLite in its implementation of [sqlite3_malloc()], +** but not overhead added by the any underlying system library +** routines that [sqlite3_malloc()] may call. +** +** ^The memory high-water mark is reset to the current value of +** [sqlite3_memory_used()] if and only if the parameter to +** [sqlite3_memory_highwater()] is true. ^The value returned +** by [sqlite3_memory_highwater(1)] is the high-water mark +** prior to the reset. +*/ +SQLITE_API sqlite3_int64 sqlite3_memory_used(void); +SQLITE_API sqlite3_int64 sqlite3_memory_highwater(int resetFlag); + +/* +** CAPI3REF: Pseudo-Random Number Generator +** +** SQLite contains a high-quality pseudo-random number generator (PRNG) used to +** select random [ROWID | ROWIDs] when inserting new records into a table that +** already uses the largest possible [ROWID]. The PRNG is also used for +** the built-in random() and randomblob() SQL functions. This interface allows +** applications to access the same PRNG for other purposes. +** +** ^A call to this routine stores N bytes of randomness into buffer P. +** ^The P parameter can be a NULL pointer. +** +** ^If this routine has not been previously called or if the previous +** call had N less than one or a NULL pointer for P, then the PRNG is +** seeded using randomness obtained from the xRandomness method of +** the default [sqlite3_vfs] object. +** ^If the previous call to this routine had an N of 1 or more and a +** non-NULL P then the pseudo-randomness is generated +** internally and without recourse to the [sqlite3_vfs] xRandomness +** method. +*/ +SQLITE_API void sqlite3_randomness(int N, void *P); + +/* +** CAPI3REF: Compile-Time Authorization Callbacks +** METHOD: sqlite3 +** KEYWORDS: {authorizer callback} +** +** ^This routine registers an authorizer callback with a particular +** [database connection], supplied in the first argument. +** ^The authorizer callback is invoked as SQL statements are being compiled +** by [sqlite3_prepare()] or its variants [sqlite3_prepare_v2()], +** [sqlite3_prepare_v3()], [sqlite3_prepare16()], [sqlite3_prepare16_v2()], +** and [sqlite3_prepare16_v3()]. ^At various +** points during the compilation process, as logic is being created +** to perform various actions, the authorizer callback is invoked to +** see if those actions are allowed. ^The authorizer callback should +** return [SQLITE_OK] to allow the action, [SQLITE_IGNORE] to disallow the +** specific action but allow the SQL statement to continue to be +** compiled, or [SQLITE_DENY] to cause the entire SQL statement to be +** rejected with an error. ^If the authorizer callback returns +** any value other than [SQLITE_IGNORE], [SQLITE_OK], or [SQLITE_DENY] +** then the [sqlite3_prepare_v2()] or equivalent call that triggered +** the authorizer will fail with an error message. +** +** When the callback returns [SQLITE_OK], that means the operation +** requested is ok. ^When the callback returns [SQLITE_DENY], the +** [sqlite3_prepare_v2()] or equivalent call that triggered the +** authorizer will fail with an error message explaining that +** access is denied. +** +** ^The first parameter to the authorizer callback is a copy of the third +** parameter to the sqlite3_set_authorizer() interface. ^The second parameter +** to the callback is an integer [SQLITE_COPY | action code] that specifies +** the particular action to be authorized. ^The third through sixth parameters +** to the callback are either NULL pointers or zero-terminated strings +** that contain additional details about the action to be authorized. +** Applications must always be prepared to encounter a NULL pointer in any +** of the third through the sixth parameters of the authorization callback. +** +** ^If the action code is [SQLITE_READ] +** and the callback returns [SQLITE_IGNORE] then the +** [prepared statement] statement is constructed to substitute +** a NULL value in place of the table column that would have +** been read if [SQLITE_OK] had been returned. The [SQLITE_IGNORE] +** return can be used to deny an untrusted user access to individual +** columns of a table. +** ^When a table is referenced by a [SELECT] but no column values are +** extracted from that table (for example in a query like +** "SELECT count(*) FROM tab") then the [SQLITE_READ] authorizer callback +** is invoked once for that table with a column name that is an empty string. +** ^If the action code is [SQLITE_DELETE] and the callback returns +** [SQLITE_IGNORE] then the [DELETE] operation proceeds but the +** [truncate optimization] is disabled and all rows are deleted individually. +** +** An authorizer is used when [sqlite3_prepare | preparing] +** SQL statements from an untrusted source, to ensure that the SQL statements +** do not try to access data they are not allowed to see, or that they do not +** try to execute malicious statements that damage the database. For +** example, an application may allow a user to enter arbitrary +** SQL queries for evaluation by a database. But the application does +** not want the user to be able to make arbitrary changes to the +** database. An authorizer could then be put in place while the +** user-entered SQL is being [sqlite3_prepare | prepared] that +** disallows everything except [SELECT] statements. +** +** Applications that need to process SQL from untrusted sources +** might also consider lowering resource limits using [sqlite3_limit()] +** and limiting database size using the [max_page_count] [PRAGMA] +** in addition to using an authorizer. +** +** ^(Only a single authorizer can be in place on a database connection +** at a time. Each call to sqlite3_set_authorizer overrides the +** previous call.)^ ^Disable the authorizer by installing a NULL callback. +** The authorizer is disabled by default. +** +** The authorizer callback must not do anything that will modify +** the database connection that invoked the authorizer callback. +** Note that [sqlite3_prepare_v2()] and [sqlite3_step()] both modify their +** database connections for the meaning of "modify" in this paragraph. +** +** ^When [sqlite3_prepare_v2()] is used to prepare a statement, the +** statement might be re-prepared during [sqlite3_step()] due to a +** schema change. Hence, the application should ensure that the +** correct authorizer callback remains in place during the [sqlite3_step()]. +** +** ^Note that the authorizer callback is invoked only during +** [sqlite3_prepare()] or its variants. Authorization is not +** performed during statement evaluation in [sqlite3_step()], unless +** as stated in the previous paragraph, sqlite3_step() invokes +** sqlite3_prepare_v2() to reprepare a statement after a schema change. +*/ +SQLITE_API int sqlite3_set_authorizer( + sqlite3*, + int (*xAuth)(void*,int,const char*,const char*,const char*,const char*), + void *pUserData +); + +/* +** CAPI3REF: Authorizer Return Codes +** +** The [sqlite3_set_authorizer | authorizer callback function] must +** return either [SQLITE_OK] or one of these two constants in order +** to signal SQLite whether or not the action is permitted. See the +** [sqlite3_set_authorizer | authorizer documentation] for additional +** information. +** +** Note that SQLITE_IGNORE is also used as a [conflict resolution mode] +** returned from the [sqlite3_vtab_on_conflict()] interface. +*/ +#define SQLITE_DENY 1 /* Abort the SQL statement with an error */ +#define SQLITE_IGNORE 2 /* Don't allow access, but don't generate an error */ + +/* +** CAPI3REF: Authorizer Action Codes +** +** The [sqlite3_set_authorizer()] interface registers a callback function +** that is invoked to authorize certain SQL statement actions. The +** second parameter to the callback is an integer code that specifies +** what action is being authorized. These are the integer action codes that +** the authorizer callback may be passed. +** +** These action code values signify what kind of operation is to be +** authorized. The 3rd and 4th parameters to the authorization +** callback function will be parameters or NULL depending on which of these +** codes is used as the second parameter. ^(The 5th parameter to the +** authorizer callback is the name of the database ("main", "temp", +** etc.) if applicable.)^ ^The 6th parameter to the authorizer callback +** is the name of the inner-most trigger or view that is responsible for +** the access attempt or NULL if this access attempt is directly from +** top-level SQL code. +*/ +/******************************************* 3rd ************ 4th ***********/ +#define SQLITE_CREATE_INDEX 1 /* Index Name Table Name */ +#define SQLITE_CREATE_TABLE 2 /* Table Name NULL */ +#define SQLITE_CREATE_TEMP_INDEX 3 /* Index Name Table Name */ +#define SQLITE_CREATE_TEMP_TABLE 4 /* Table Name NULL */ +#define SQLITE_CREATE_TEMP_TRIGGER 5 /* Trigger Name Table Name */ +#define SQLITE_CREATE_TEMP_VIEW 6 /* View Name NULL */ +#define SQLITE_CREATE_TRIGGER 7 /* Trigger Name Table Name */ +#define SQLITE_CREATE_VIEW 8 /* View Name NULL */ +#define SQLITE_DELETE 9 /* Table Name NULL */ +#define SQLITE_DROP_INDEX 10 /* Index Name Table Name */ +#define SQLITE_DROP_TABLE 11 /* Table Name NULL */ +#define SQLITE_DROP_TEMP_INDEX 12 /* Index Name Table Name */ +#define SQLITE_DROP_TEMP_TABLE 13 /* Table Name NULL */ +#define SQLITE_DROP_TEMP_TRIGGER 14 /* Trigger Name Table Name */ +#define SQLITE_DROP_TEMP_VIEW 15 /* View Name NULL */ +#define SQLITE_DROP_TRIGGER 16 /* Trigger Name Table Name */ +#define SQLITE_DROP_VIEW 17 /* View Name NULL */ +#define SQLITE_INSERT 18 /* Table Name NULL */ +#define SQLITE_PRAGMA 19 /* Pragma Name 1st arg or NULL */ +#define SQLITE_READ 20 /* Table Name Column Name */ +#define SQLITE_SELECT 21 /* NULL NULL */ +#define SQLITE_TRANSACTION 22 /* Operation NULL */ +#define SQLITE_UPDATE 23 /* Table Name Column Name */ +#define SQLITE_ATTACH 24 /* Filename NULL */ +#define SQLITE_DETACH 25 /* Database Name NULL */ +#define SQLITE_ALTER_TABLE 26 /* Database Name Table Name */ +#define SQLITE_REINDEX 27 /* Index Name NULL */ +#define SQLITE_ANALYZE 28 /* Table Name NULL */ +#define SQLITE_CREATE_VTABLE 29 /* Table Name Module Name */ +#define SQLITE_DROP_VTABLE 30 /* Table Name Module Name */ +#define SQLITE_FUNCTION 31 /* NULL Function Name */ +#define SQLITE_SAVEPOINT 32 /* Operation Savepoint Name */ +#define SQLITE_COPY 0 /* No longer used */ +#define SQLITE_RECURSIVE 33 /* NULL NULL */ + +/* +** CAPI3REF: Tracing And Profiling Functions +** METHOD: sqlite3 +** +** These routines are deprecated. Use the [sqlite3_trace_v2()] interface +** instead of the routines described here. +** +** These routines register callback functions that can be used for +** tracing and profiling the execution of SQL statements. +** +** ^The callback function registered by sqlite3_trace() is invoked at +** various times when an SQL statement is being run by [sqlite3_step()]. +** ^The sqlite3_trace() callback is invoked with a UTF-8 rendering of the +** SQL statement text as the statement first begins executing. +** ^(Additional sqlite3_trace() callbacks might occur +** as each triggered subprogram is entered. The callbacks for triggers +** contain a UTF-8 SQL comment that identifies the trigger.)^ +** +** The [SQLITE_TRACE_SIZE_LIMIT] compile-time option can be used to limit +** the length of [bound parameter] expansion in the output of sqlite3_trace(). +** +** ^The callback function registered by sqlite3_profile() is invoked +** as each SQL statement finishes. ^The profile callback contains +** the original statement text and an estimate of wall-clock time +** of how long that statement took to run. ^The profile callback +** time is in units of nanoseconds, however the current implementation +** is only capable of millisecond resolution so the six least significant +** digits in the time are meaningless. Future versions of SQLite +** might provide greater resolution on the profiler callback. Invoking +** either [sqlite3_trace()] or [sqlite3_trace_v2()] will cancel the +** profile callback. +*/ +SQLITE_API SQLITE_DEPRECATED void *sqlite3_trace(sqlite3*, + void(*xTrace)(void*,const char*), void*); +SQLITE_API SQLITE_DEPRECATED void *sqlite3_profile(sqlite3*, + void(*xProfile)(void*,const char*,sqlite3_uint64), void*); + +/* +** CAPI3REF: SQL Trace Event Codes +** KEYWORDS: SQLITE_TRACE +** +** These constants identify classes of events that can be monitored +** using the [sqlite3_trace_v2()] tracing logic. The M argument +** to [sqlite3_trace_v2(D,M,X,P)] is an OR-ed combination of one or more of +** the following constants. ^The first argument to the trace callback +** is one of the following constants. +** +** New tracing constants may be added in future releases. +** +** ^A trace callback has four arguments: xCallback(T,C,P,X). +** ^The T argument is one of the integer type codes above. +** ^The C argument is a copy of the context pointer passed in as the +** fourth argument to [sqlite3_trace_v2()]. +** The P and X arguments are pointers whose meanings depend on T. +** +**
    +** [[SQLITE_TRACE_STMT]]
    SQLITE_TRACE_STMT
    +**
    ^An SQLITE_TRACE_STMT callback is invoked when a prepared statement +** first begins running and possibly at other times during the +** execution of the prepared statement, such as at the start of each +** trigger subprogram. ^The P argument is a pointer to the +** [prepared statement]. ^The X argument is a pointer to a string which +** is the unexpanded SQL text of the prepared statement or an SQL comment +** that indicates the invocation of a trigger. ^The callback can compute +** the same text that would have been returned by the legacy [sqlite3_trace()] +** interface by using the X argument when X begins with "--" and invoking +** [sqlite3_expanded_sql(P)] otherwise. +** +** [[SQLITE_TRACE_PROFILE]]
    SQLITE_TRACE_PROFILE
    +**
    ^An SQLITE_TRACE_PROFILE callback provides approximately the same +** information as is provided by the [sqlite3_profile()] callback. +** ^The P argument is a pointer to the [prepared statement] and the +** X argument points to a 64-bit integer which is the estimated of +** the number of nanosecond that the prepared statement took to run. +** ^The SQLITE_TRACE_PROFILE callback is invoked when the statement finishes. +** +** [[SQLITE_TRACE_ROW]]
    SQLITE_TRACE_ROW
    +**
    ^An SQLITE_TRACE_ROW callback is invoked whenever a prepared +** statement generates a single row of result. +** ^The P argument is a pointer to the [prepared statement] and the +** X argument is unused. +** +** [[SQLITE_TRACE_CLOSE]]
    SQLITE_TRACE_CLOSE
    +**
    ^An SQLITE_TRACE_CLOSE callback is invoked when a database +** connection closes. +** ^The P argument is a pointer to the [database connection] object +** and the X argument is unused. +**
    +*/ +#define SQLITE_TRACE_STMT 0x01 +#define SQLITE_TRACE_PROFILE 0x02 +#define SQLITE_TRACE_ROW 0x04 +#define SQLITE_TRACE_CLOSE 0x08 + +/* +** CAPI3REF: SQL Trace Hook +** METHOD: sqlite3 +** +** ^The sqlite3_trace_v2(D,M,X,P) interface registers a trace callback +** function X against [database connection] D, using property mask M +** and context pointer P. ^If the X callback is +** NULL or if the M mask is zero, then tracing is disabled. The +** M argument should be the bitwise OR-ed combination of +** zero or more [SQLITE_TRACE] constants. +** +** ^Each call to either sqlite3_trace() or sqlite3_trace_v2() overrides +** (cancels) any prior calls to sqlite3_trace() or sqlite3_trace_v2(). +** +** ^The X callback is invoked whenever any of the events identified by +** mask M occur. ^The integer return value from the callback is currently +** ignored, though this may change in future releases. Callback +** implementations should return zero to ensure future compatibility. +** +** ^A trace callback is invoked with four arguments: callback(T,C,P,X). +** ^The T argument is one of the [SQLITE_TRACE] +** constants to indicate why the callback was invoked. +** ^The C argument is a copy of the context pointer. +** The P and X arguments are pointers whose meanings depend on T. +** +** The sqlite3_trace_v2() interface is intended to replace the legacy +** interfaces [sqlite3_trace()] and [sqlite3_profile()], both of which +** are deprecated. +*/ +SQLITE_API int sqlite3_trace_v2( + sqlite3*, + unsigned uMask, + int(*xCallback)(unsigned,void*,void*,void*), + void *pCtx +); + +/* +** CAPI3REF: Query Progress Callbacks +** METHOD: sqlite3 +** +** ^The sqlite3_progress_handler(D,N,X,P) interface causes the callback +** function X to be invoked periodically during long running calls to +** [sqlite3_exec()], [sqlite3_step()] and [sqlite3_get_table()] for +** database connection D. An example use for this +** interface is to keep a GUI updated during a large query. +** +** ^The parameter P is passed through as the only parameter to the +** callback function X. ^The parameter N is the approximate number of +** [virtual machine instructions] that are evaluated between successive +** invocations of the callback X. ^If N is less than one then the progress +** handler is disabled. +** +** ^Only a single progress handler may be defined at one time per +** [database connection]; setting a new progress handler cancels the +** old one. ^Setting parameter X to NULL disables the progress handler. +** ^The progress handler is also disabled by setting N to a value less +** than 1. +** +** ^If the progress callback returns non-zero, the operation is +** interrupted. This feature can be used to implement a +** "Cancel" button on a GUI progress dialog box. +** +** The progress handler callback must not do anything that will modify +** the database connection that invoked the progress handler. +** Note that [sqlite3_prepare_v2()] and [sqlite3_step()] both modify their +** database connections for the meaning of "modify" in this paragraph. +** +*/ +SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); + +/* +** CAPI3REF: Opening A New Database Connection +** CONSTRUCTOR: sqlite3 +** +** ^These routines open an SQLite database file as specified by the +** filename argument. ^The filename argument is interpreted as UTF-8 for +** sqlite3_open() and sqlite3_open_v2() and as UTF-16 in the native byte +** order for sqlite3_open16(). ^(A [database connection] handle is usually +** returned in *ppDb, even if an error occurs. The only exception is that +** if SQLite is unable to allocate memory to hold the [sqlite3] object, +** a NULL will be written into *ppDb instead of a pointer to the [sqlite3] +** object.)^ ^(If the database is opened (and/or created) successfully, then +** [SQLITE_OK] is returned. Otherwise an [error code] is returned.)^ ^The +** [sqlite3_errmsg()] or [sqlite3_errmsg16()] routines can be used to obtain +** an English language description of the error following a failure of any +** of the sqlite3_open() routines. +** +** ^The default encoding will be UTF-8 for databases created using +** sqlite3_open() or sqlite3_open_v2(). ^The default encoding for databases +** created using sqlite3_open16() will be UTF-16 in the native byte order. +** +** Whether or not an error occurs when it is opened, resources +** associated with the [database connection] handle should be released by +** passing it to [sqlite3_close()] when it is no longer required. +** +** The sqlite3_open_v2() interface works like sqlite3_open() +** except that it accepts two additional parameters for additional control +** over the new database connection. ^(The flags parameter to +** sqlite3_open_v2() must include, at a minimum, one of the following +** three flag combinations:)^ +** +**
    +** ^(
    [SQLITE_OPEN_READONLY]
    +**
    The database is opened in read-only mode. If the database does not +** already exist, an error is returned.
    )^ +** +** ^(
    [SQLITE_OPEN_READWRITE]
    +**
    The database is opened for reading and writing if possible, or reading +** only if the file is write protected by the operating system. In either +** case the database must already exist, otherwise an error is returned.
    )^ +** +** ^(
    [SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE]
    +**
    The database is opened for reading and writing, and is created if +** it does not already exist. This is the behavior that is always used for +** sqlite3_open() and sqlite3_open16().
    )^ +**
    +** +** In addition to the required flags, the following optional flags are +** also supported: +** +**
    +** ^(
    [SQLITE_OPEN_URI]
    +**
    The filename can be interpreted as a URI if this flag is set.
    )^ +** +** ^(
    [SQLITE_OPEN_MEMORY]
    +**
    The database will be opened as an in-memory database. The database +** is named by the "filename" argument for the purposes of cache-sharing, +** if shared cache mode is enabled, but the "filename" is otherwise ignored. +**
    )^ +** +** ^(
    [SQLITE_OPEN_NOMUTEX]
    +**
    The new database connection will use the "multi-thread" +** [threading mode].)^ This means that separate threads are allowed +** to use SQLite at the same time, as long as each thread is using +** a different [database connection]. +** +** ^(
    [SQLITE_OPEN_FULLMUTEX]
    +**
    The new database connection will use the "serialized" +** [threading mode].)^ This means the multiple threads can safely +** attempt to use the same database connection at the same time. +** (Mutexes will block any actual concurrency, but in this mode +** there is no harm in trying.) +** +** ^(
    [SQLITE_OPEN_SHAREDCACHE]
    +**
    The database is opened [shared cache] enabled, overriding +** the default shared cache setting provided by +** [sqlite3_enable_shared_cache()].)^ +** +** ^(
    [SQLITE_OPEN_PRIVATECACHE]
    +**
    The database is opened [shared cache] disabled, overriding +** the default shared cache setting provided by +** [sqlite3_enable_shared_cache()].)^ +** +** [[OPEN_EXRESCODE]] ^(
    [SQLITE_OPEN_EXRESCODE]
    +**
    The database connection comes up in "extended result code mode". +** In other words, the database behaves has if +** [sqlite3_extended_result_codes(db,1)] where called on the database +** connection as soon as the connection is created. In addition to setting +** the extended result code mode, this flag also causes [sqlite3_open_v2()] +** to return an extended result code.
    +** +** [[OPEN_NOFOLLOW]] ^(
    [SQLITE_OPEN_NOFOLLOW]
    +**
    The database filename is not allowed to be a symbolic link
    +**
    )^ +** +** If the 3rd parameter to sqlite3_open_v2() is not one of the +** required combinations shown above optionally combined with other +** [SQLITE_OPEN_READONLY | SQLITE_OPEN_* bits] +** then the behavior is undefined. Historic versions of SQLite +** have silently ignored surplus bits in the flags parameter to +** sqlite3_open_v2(), however that behavior might not be carried through +** into future versions of SQLite and so applications should not rely +** upon it. Note in particular that the SQLITE_OPEN_EXCLUSIVE flag is a no-op +** for sqlite3_open_v2(). The SQLITE_OPEN_EXCLUSIVE does *not* cause +** the open to fail if the database already exists. The SQLITE_OPEN_EXCLUSIVE +** flag is intended for use by the [sqlite3_vfs|VFS interface] only, and not +** by sqlite3_open_v2(). +** +** ^The fourth parameter to sqlite3_open_v2() is the name of the +** [sqlite3_vfs] object that defines the operating system interface that +** the new database connection should use. ^If the fourth parameter is +** a NULL pointer then the default [sqlite3_vfs] object is used. +** +** ^If the filename is ":memory:", then a private, temporary in-memory database +** is created for the connection. ^This in-memory database will vanish when +** the database connection is closed. Future versions of SQLite might +** make use of additional special filenames that begin with the ":" character. +** It is recommended that when a database filename actually does begin with +** a ":" character you should prefix the filename with a pathname such as +** "./" to avoid ambiguity. +** +** ^If the filename is an empty string, then a private, temporary +** on-disk database will be created. ^This private database will be +** automatically deleted as soon as the database connection is closed. +** +** [[URI filenames in sqlite3_open()]]

    URI Filenames

    +** +** ^If [URI filename] interpretation is enabled, and the filename argument +** begins with "file:", then the filename is interpreted as a URI. ^URI +** filename interpretation is enabled if the [SQLITE_OPEN_URI] flag is +** set in the third argument to sqlite3_open_v2(), or if it has +** been enabled globally using the [SQLITE_CONFIG_URI] option with the +** [sqlite3_config()] method or by the [SQLITE_USE_URI] compile-time option. +** URI filename interpretation is turned off +** by default, but future releases of SQLite might enable URI filename +** interpretation by default. See "[URI filenames]" for additional +** information. +** +** URI filenames are parsed according to RFC 3986. ^If the URI contains an +** authority, then it must be either an empty string or the string +** "localhost". ^If the authority is not an empty string or "localhost", an +** error is returned to the caller. ^The fragment component of a URI, if +** present, is ignored. +** +** ^SQLite uses the path component of the URI as the name of the disk file +** which contains the database. ^If the path begins with a '/' character, +** then it is interpreted as an absolute path. ^If the path does not begin +** with a '/' (meaning that the authority section is omitted from the URI) +** then the path is interpreted as a relative path. +** ^(On windows, the first component of an absolute path +** is a drive specification (e.g. "C:").)^ +** +** [[core URI query parameters]] +** The query component of a URI may contain parameters that are interpreted +** either by SQLite itself, or by a [VFS | custom VFS implementation]. +** SQLite and its built-in [VFSes] interpret the +** following query parameters: +** +**
      +**
    • vfs: ^The "vfs" parameter may be used to specify the name of +** a VFS object that provides the operating system interface that should +** be used to access the database file on disk. ^If this option is set to +** an empty string the default VFS object is used. ^Specifying an unknown +** VFS is an error. ^If sqlite3_open_v2() is used and the vfs option is +** present, then the VFS specified by the option takes precedence over +** the value passed as the fourth parameter to sqlite3_open_v2(). +** +**
    • mode: ^(The mode parameter may be set to either "ro", "rw", +** "rwc", or "memory". Attempting to set it to any other value is +** an error)^. +** ^If "ro" is specified, then the database is opened for read-only +** access, just as if the [SQLITE_OPEN_READONLY] flag had been set in the +** third argument to sqlite3_open_v2(). ^If the mode option is set to +** "rw", then the database is opened for read-write (but not create) +** access, as if SQLITE_OPEN_READWRITE (but not SQLITE_OPEN_CREATE) had +** been set. ^Value "rwc" is equivalent to setting both +** SQLITE_OPEN_READWRITE and SQLITE_OPEN_CREATE. ^If the mode option is +** set to "memory" then a pure [in-memory database] that never reads +** or writes from disk is used. ^It is an error to specify a value for +** the mode parameter that is less restrictive than that specified by +** the flags passed in the third parameter to sqlite3_open_v2(). +** +**
    • cache: ^The cache parameter may be set to either "shared" or +** "private". ^Setting it to "shared" is equivalent to setting the +** SQLITE_OPEN_SHAREDCACHE bit in the flags argument passed to +** sqlite3_open_v2(). ^Setting the cache parameter to "private" is +** equivalent to setting the SQLITE_OPEN_PRIVATECACHE bit. +** ^If sqlite3_open_v2() is used and the "cache" parameter is present in +** a URI filename, its value overrides any behavior requested by setting +** SQLITE_OPEN_PRIVATECACHE or SQLITE_OPEN_SHAREDCACHE flag. +** +**
    • psow: ^The psow parameter indicates whether or not the +** [powersafe overwrite] property does or does not apply to the +** storage media on which the database file resides. +** +**
    • nolock: ^The nolock parameter is a boolean query parameter +** which if set disables file locking in rollback journal modes. This +** is useful for accessing a database on a filesystem that does not +** support locking. Caution: Database corruption might result if two +** or more processes write to the same database and any one of those +** processes uses nolock=1. +** +**
    • immutable: ^The immutable parameter is a boolean query +** parameter that indicates that the database file is stored on +** read-only media. ^When immutable is set, SQLite assumes that the +** database file cannot be changed, even by a process with higher +** privilege, and so the database is opened read-only and all locking +** and change detection is disabled. Caution: Setting the immutable +** property on a database file that does in fact change can result +** in incorrect query results and/or [SQLITE_CORRUPT] errors. +** See also: [SQLITE_IOCAP_IMMUTABLE]. +** +**
    +** +** ^Specifying an unknown parameter in the query component of a URI is not an +** error. Future versions of SQLite might understand additional query +** parameters. See "[query parameters with special meaning to SQLite]" for +** additional information. +** +** [[URI filename examples]]

    URI filename examples

    +** +** +**
    URI filenames Results +**
    file:data.db +** Open the file "data.db" in the current directory. +**
    file:/home/fred/data.db
    +** file:///home/fred/data.db
    +** file://localhost/home/fred/data.db
    +** Open the database file "/home/fred/data.db". +**
    file://darkstar/home/fred/data.db +** An error. "darkstar" is not a recognized authority. +**
    +** file:///C:/Documents%20and%20Settings/fred/Desktop/data.db +** Windows only: Open the file "data.db" on fred's desktop on drive +** C:. Note that the %20 escaping in this example is not strictly +** necessary - space characters can be used literally +** in URI filenames. +**
    file:data.db?mode=ro&cache=private +** Open file "data.db" in the current directory for read-only access. +** Regardless of whether or not shared-cache mode is enabled by +** default, use a private cache. +**
    file:/home/fred/data.db?vfs=unix-dotfile +** Open file "/home/fred/data.db". Use the special VFS "unix-dotfile" +** that uses dot-files in place of posix advisory locking. +**
    file:data.db?mode=readonly +** An error. "readonly" is not a valid option for the "mode" parameter. +** Use "ro" instead: "file:data.db?mode=ro". +**
    +** +** ^URI hexadecimal escape sequences (%HH) are supported within the path and +** query components of a URI. A hexadecimal escape sequence consists of a +** percent sign - "%" - followed by exactly two hexadecimal digits +** specifying an octet value. ^Before the path or query components of a +** URI filename are interpreted, they are encoded using UTF-8 and all +** hexadecimal escape sequences replaced by a single byte containing the +** corresponding octet. If this process generates an invalid UTF-8 encoding, +** the results are undefined. +** +** Note to Windows users: The encoding used for the filename argument +** of sqlite3_open() and sqlite3_open_v2() must be UTF-8, not whatever +** codepage is currently defined. Filenames containing international +** characters must be converted to UTF-8 prior to passing them into +** sqlite3_open() or sqlite3_open_v2(). +** +** Note to Windows Runtime users: The temporary directory must be set +** prior to calling sqlite3_open() or sqlite3_open_v2(). Otherwise, various +** features that require the use of temporary files may fail. +** +** See also: [sqlite3_temp_directory] +*/ +SQLITE_API int sqlite3_open( + const char *filename, /* Database filename (UTF-8) */ + sqlite3 **ppDb /* OUT: SQLite db handle */ +); +SQLITE_API int sqlite3_open16( + const void *filename, /* Database filename (UTF-16) */ + sqlite3 **ppDb /* OUT: SQLite db handle */ +); +SQLITE_API int sqlite3_open_v2( + const char *filename, /* Database filename (UTF-8) */ + sqlite3 **ppDb, /* OUT: SQLite db handle */ + int flags, /* Flags */ + const char *zVfs /* Name of VFS module to use */ +); + +/* +** CAPI3REF: Obtain Values For URI Parameters +** +** These are utility routines, useful to [VFS|custom VFS implementations], +** that check if a database file was a URI that contained a specific query +** parameter, and if so obtains the value of that query parameter. +** +** The first parameter to these interfaces (hereafter referred to +** as F) must be one of: +**
      +**
    • A database filename pointer created by the SQLite core and +** passed into the xOpen() method of a VFS implemention, or +**
    • A filename obtained from [sqlite3_db_filename()], or +**
    • A new filename constructed using [sqlite3_create_filename()]. +**
    +** If the F parameter is not one of the above, then the behavior is +** undefined and probably undesirable. Older versions of SQLite were +** more tolerant of invalid F parameters than newer versions. +** +** If F is a suitable filename (as described in the previous paragraph) +** and if P is the name of the query parameter, then +** sqlite3_uri_parameter(F,P) returns the value of the P +** parameter if it exists or a NULL pointer if P does not appear as a +** query parameter on F. If P is a query parameter of F and it +** has no explicit value, then sqlite3_uri_parameter(F,P) returns +** a pointer to an empty string. +** +** The sqlite3_uri_boolean(F,P,B) routine assumes that P is a boolean +** parameter and returns true (1) or false (0) according to the value +** of P. The sqlite3_uri_boolean(F,P,B) routine returns true (1) if the +** value of query parameter P is one of "yes", "true", or "on" in any +** case or if the value begins with a non-zero number. The +** sqlite3_uri_boolean(F,P,B) routines returns false (0) if the value of +** query parameter P is one of "no", "false", or "off" in any case or +** if the value begins with a numeric zero. If P is not a query +** parameter on F or if the value of P does not match any of the +** above, then sqlite3_uri_boolean(F,P,B) returns (B!=0). +** +** The sqlite3_uri_int64(F,P,D) routine converts the value of P into a +** 64-bit signed integer and returns that integer, or D if P does not +** exist. If the value of P is something other than an integer, then +** zero is returned. +** +** The sqlite3_uri_key(F,N) returns a pointer to the name (not +** the value) of the N-th query parameter for filename F, or a NULL +** pointer if N is less than zero or greater than the number of query +** parameters minus 1. The N value is zero-based so N should be 0 to obtain +** the name of the first query parameter, 1 for the second parameter, and +** so forth. +** +** If F is a NULL pointer, then sqlite3_uri_parameter(F,P) returns NULL and +** sqlite3_uri_boolean(F,P,B) returns B. If F is not a NULL pointer and +** is not a database file pathname pointer that the SQLite core passed +** into the xOpen VFS method, then the behavior of this routine is undefined +** and probably undesirable. +** +** Beginning with SQLite [version 3.31.0] ([dateof:3.31.0]) the input F +** parameter can also be the name of a rollback journal file or WAL file +** in addition to the main database file. Prior to version 3.31.0, these +** routines would only work if F was the name of the main database file. +** When the F parameter is the name of the rollback journal or WAL file, +** it has access to all the same query parameters as were found on the +** main database file. +** +** See the [URI filename] documentation for additional information. +*/ +SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam); +SQLITE_API int sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault); +SQLITE_API sqlite3_int64 sqlite3_uri_int64(const char*, const char*, sqlite3_int64); +SQLITE_API const char *sqlite3_uri_key(const char *zFilename, int N); + +/* +** CAPI3REF: Translate filenames +** +** These routines are available to [VFS|custom VFS implementations] for +** translating filenames between the main database file, the journal file, +** and the WAL file. +** +** If F is the name of an sqlite database file, journal file, or WAL file +** passed by the SQLite core into the VFS, then sqlite3_filename_database(F) +** returns the name of the corresponding database file. +** +** If F is the name of an sqlite database file, journal file, or WAL file +** passed by the SQLite core into the VFS, or if F is a database filename +** obtained from [sqlite3_db_filename()], then sqlite3_filename_journal(F) +** returns the name of the corresponding rollback journal file. +** +** If F is the name of an sqlite database file, journal file, or WAL file +** that was passed by the SQLite core into the VFS, or if F is a database +** filename obtained from [sqlite3_db_filename()], then +** sqlite3_filename_wal(F) returns the name of the corresponding +** WAL file. +** +** In all of the above, if F is not the name of a database, journal or WAL +** filename passed into the VFS from the SQLite core and F is not the +** return value from [sqlite3_db_filename()], then the result is +** undefined and is likely a memory access violation. +*/ +SQLITE_API const char *sqlite3_filename_database(const char*); +SQLITE_API const char *sqlite3_filename_journal(const char*); +SQLITE_API const char *sqlite3_filename_wal(const char*); + +/* +** CAPI3REF: Database File Corresponding To A Journal +** +** ^If X is the name of a rollback or WAL-mode journal file that is +** passed into the xOpen method of [sqlite3_vfs], then +** sqlite3_database_file_object(X) returns a pointer to the [sqlite3_file] +** object that represents the main database file. +** +** This routine is intended for use in custom [VFS] implementations +** only. It is not a general-purpose interface. +** The argument sqlite3_file_object(X) must be a filename pointer that +** has been passed into [sqlite3_vfs].xOpen method where the +** flags parameter to xOpen contains one of the bits +** [SQLITE_OPEN_MAIN_JOURNAL] or [SQLITE_OPEN_WAL]. Any other use +** of this routine results in undefined and probably undesirable +** behavior. +*/ +SQLITE_API sqlite3_file *sqlite3_database_file_object(const char*); + +/* +** CAPI3REF: Create and Destroy VFS Filenames +** +** These interfces are provided for use by [VFS shim] implementations and +** are not useful outside of that context. +** +** The sqlite3_create_filename(D,J,W,N,P) allocates memory to hold a version of +** database filename D with corresponding journal file J and WAL file W and +** with N URI parameters key/values pairs in the array P. The result from +** sqlite3_create_filename(D,J,W,N,P) is a pointer to a database filename that +** is safe to pass to routines like: +**
      +**
    • [sqlite3_uri_parameter()], +**
    • [sqlite3_uri_boolean()], +**
    • [sqlite3_uri_int64()], +**
    • [sqlite3_uri_key()], +**
    • [sqlite3_filename_database()], +**
    • [sqlite3_filename_journal()], or +**
    • [sqlite3_filename_wal()]. +**
    +** If a memory allocation error occurs, sqlite3_create_filename() might +** return a NULL pointer. The memory obtained from sqlite3_create_filename(X) +** must be released by a corresponding call to sqlite3_free_filename(Y). +** +** The P parameter in sqlite3_create_filename(D,J,W,N,P) should be an array +** of 2*N pointers to strings. Each pair of pointers in this array corresponds +** to a key and value for a query parameter. The P parameter may be a NULL +** pointer if N is zero. None of the 2*N pointers in the P array may be +** NULL pointers and key pointers should not be empty strings. +** None of the D, J, or W parameters to sqlite3_create_filename(D,J,W,N,P) may +** be NULL pointers, though they can be empty strings. +** +** The sqlite3_free_filename(Y) routine releases a memory allocation +** previously obtained from sqlite3_create_filename(). Invoking +** sqlite3_free_filename(Y) where Y is a NULL pointer is a harmless no-op. +** +** If the Y parameter to sqlite3_free_filename(Y) is anything other +** than a NULL pointer or a pointer previously acquired from +** sqlite3_create_filename(), then bad things such as heap +** corruption or segfaults may occur. The value Y should not be +** used again after sqlite3_free_filename(Y) has been called. This means +** that if the [sqlite3_vfs.xOpen()] method of a VFS has been called using Y, +** then the corresponding [sqlite3_module.xClose() method should also be +** invoked prior to calling sqlite3_free_filename(Y). +*/ +SQLITE_API char *sqlite3_create_filename( + const char *zDatabase, + const char *zJournal, + const char *zWal, + int nParam, + const char **azParam +); +SQLITE_API void sqlite3_free_filename(char*); + +/* +** CAPI3REF: Error Codes And Messages +** METHOD: sqlite3 +** +** ^If the most recent sqlite3_* API call associated with +** [database connection] D failed, then the sqlite3_errcode(D) interface +** returns the numeric [result code] or [extended result code] for that +** API call. +** ^The sqlite3_extended_errcode() +** interface is the same except that it always returns the +** [extended result code] even when extended result codes are +** disabled. +** +** The values returned by sqlite3_errcode() and/or +** sqlite3_extended_errcode() might change with each API call. +** Except, there are some interfaces that are guaranteed to never +** change the value of the error code. The error-code preserving +** interfaces include the following: +** +**
      +**
    • sqlite3_errcode() +**
    • sqlite3_extended_errcode() +**
    • sqlite3_errmsg() +**
    • sqlite3_errmsg16() +**
    • sqlite3_error_offset() +**
    +** +** ^The sqlite3_errmsg() and sqlite3_errmsg16() return English-language +** text that describes the error, as either UTF-8 or UTF-16 respectively. +** ^(Memory to hold the error message string is managed internally. +** The application does not need to worry about freeing the result. +** However, the error string might be overwritten or deallocated by +** subsequent calls to other SQLite interface functions.)^ +** +** ^The sqlite3_errstr() interface returns the English-language text +** that describes the [result code], as UTF-8. +** ^(Memory to hold the error message string is managed internally +** and must not be freed by the application)^. +** +** ^If the most recent error references a specific token in the input +** SQL, the sqlite3_error_offset() interface returns the byte offset +** of the start of that token. ^The byte offset returned by +** sqlite3_error_offset() assumes that the input SQL is UTF8. +** ^If the most recent error does not reference a specific token in the input +** SQL, then the sqlite3_error_offset() function returns -1. +** +** When the serialized [threading mode] is in use, it might be the +** case that a second error occurs on a separate thread in between +** the time of the first error and the call to these interfaces. +** When that happens, the second error will be reported since these +** interfaces always report the most recent result. To avoid +** this, each thread can obtain exclusive use of the [database connection] D +** by invoking [sqlite3_mutex_enter]([sqlite3_db_mutex](D)) before beginning +** to use D and invoking [sqlite3_mutex_leave]([sqlite3_db_mutex](D)) after +** all calls to the interfaces listed here are completed. +** +** If an interface fails with SQLITE_MISUSE, that means the interface +** was invoked incorrectly by the application. In that case, the +** error code and message may or may not be set. +*/ +SQLITE_API int sqlite3_errcode(sqlite3 *db); +SQLITE_API int sqlite3_extended_errcode(sqlite3 *db); +SQLITE_API const char *sqlite3_errmsg(sqlite3*); +SQLITE_API const void *sqlite3_errmsg16(sqlite3*); +SQLITE_API const char *sqlite3_errstr(int); +SQLITE_API int sqlite3_error_offset(sqlite3 *db); + +/* +** CAPI3REF: Prepared Statement Object +** KEYWORDS: {prepared statement} {prepared statements} +** +** An instance of this object represents a single SQL statement that +** has been compiled into binary form and is ready to be evaluated. +** +** Think of each SQL statement as a separate computer program. The +** original SQL text is source code. A prepared statement object +** is the compiled object code. All SQL must be converted into a +** prepared statement before it can be run. +** +** The life-cycle of a prepared statement object usually goes like this: +** +**
      +**
    1. Create the prepared statement object using [sqlite3_prepare_v2()]. +**
    2. Bind values to [parameters] using the sqlite3_bind_*() +** interfaces. +**
    3. Run the SQL by calling [sqlite3_step()] one or more times. +**
    4. Reset the prepared statement using [sqlite3_reset()] then go back +** to step 2. Do this zero or more times. +**
    5. Destroy the object using [sqlite3_finalize()]. +**
    +*/ +typedef struct sqlite3_stmt sqlite3_stmt; + +/* +** CAPI3REF: Run-time Limits +** METHOD: sqlite3 +** +** ^(This interface allows the size of various constructs to be limited +** on a connection by connection basis. The first parameter is the +** [database connection] whose limit is to be set or queried. The +** second parameter is one of the [limit categories] that define a +** class of constructs to be size limited. The third parameter is the +** new limit for that construct.)^ +** +** ^If the new limit is a negative number, the limit is unchanged. +** ^(For each limit category SQLITE_LIMIT_NAME there is a +** [limits | hard upper bound] +** set at compile-time by a C preprocessor macro called +** [limits | SQLITE_MAX_NAME]. +** (The "_LIMIT_" in the name is changed to "_MAX_".))^ +** ^Attempts to increase a limit above its hard upper bound are +** silently truncated to the hard upper bound. +** +** ^Regardless of whether or not the limit was changed, the +** [sqlite3_limit()] interface returns the prior value of the limit. +** ^Hence, to find the current value of a limit without changing it, +** simply invoke this interface with the third parameter set to -1. +** +** Run-time limits are intended for use in applications that manage +** both their own internal database and also databases that are controlled +** by untrusted external sources. An example application might be a +** web browser that has its own databases for storing history and +** separate databases controlled by JavaScript applications downloaded +** off the Internet. The internal databases can be given the +** large, default limits. Databases managed by external sources can +** be given much smaller limits designed to prevent a denial of service +** attack. Developers might also want to use the [sqlite3_set_authorizer()] +** interface to further control untrusted SQL. The size of the database +** created by an untrusted script can be contained using the +** [max_page_count] [PRAGMA]. +** +** New run-time limit categories may be added in future releases. +*/ +SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); + +/* +** CAPI3REF: Run-Time Limit Categories +** KEYWORDS: {limit category} {*limit categories} +** +** These constants define various performance limits +** that can be lowered at run-time using [sqlite3_limit()]. +** The synopsis of the meanings of the various limits is shown below. +** Additional information is available at [limits | Limits in SQLite]. +** +**
    +** [[SQLITE_LIMIT_LENGTH]] ^(
    SQLITE_LIMIT_LENGTH
    +**
    The maximum size of any string or BLOB or table row, in bytes.
    )^ +** +** [[SQLITE_LIMIT_SQL_LENGTH]] ^(
    SQLITE_LIMIT_SQL_LENGTH
    +**
    The maximum length of an SQL statement, in bytes.
    )^ +** +** [[SQLITE_LIMIT_COLUMN]] ^(
    SQLITE_LIMIT_COLUMN
    +**
    The maximum number of columns in a table definition or in the +** result set of a [SELECT] or the maximum number of columns in an index +** or in an ORDER BY or GROUP BY clause.
    )^ +** +** [[SQLITE_LIMIT_EXPR_DEPTH]] ^(
    SQLITE_LIMIT_EXPR_DEPTH
    +**
    The maximum depth of the parse tree on any expression.
    )^ +** +** [[SQLITE_LIMIT_COMPOUND_SELECT]] ^(
    SQLITE_LIMIT_COMPOUND_SELECT
    +**
    The maximum number of terms in a compound SELECT statement.
    )^ +** +** [[SQLITE_LIMIT_VDBE_OP]] ^(
    SQLITE_LIMIT_VDBE_OP
    +**
    The maximum number of instructions in a virtual machine program +** used to implement an SQL statement. If [sqlite3_prepare_v2()] or +** the equivalent tries to allocate space for more than this many opcodes +** in a single prepared statement, an SQLITE_NOMEM error is returned.
    )^ +** +** [[SQLITE_LIMIT_FUNCTION_ARG]] ^(
    SQLITE_LIMIT_FUNCTION_ARG
    +**
    The maximum number of arguments on a function.
    )^ +** +** [[SQLITE_LIMIT_ATTACHED]] ^(
    SQLITE_LIMIT_ATTACHED
    +**
    The maximum number of [ATTACH | attached databases].)^
    +** +** [[SQLITE_LIMIT_LIKE_PATTERN_LENGTH]] +** ^(
    SQLITE_LIMIT_LIKE_PATTERN_LENGTH
    +**
    The maximum length of the pattern argument to the [LIKE] or +** [GLOB] operators.
    )^ +** +** [[SQLITE_LIMIT_VARIABLE_NUMBER]] +** ^(
    SQLITE_LIMIT_VARIABLE_NUMBER
    +**
    The maximum index number of any [parameter] in an SQL statement.)^ +** +** [[SQLITE_LIMIT_TRIGGER_DEPTH]] ^(
    SQLITE_LIMIT_TRIGGER_DEPTH
    +**
    The maximum depth of recursion for triggers.
    )^ +** +** [[SQLITE_LIMIT_WORKER_THREADS]] ^(
    SQLITE_LIMIT_WORKER_THREADS
    +**
    The maximum number of auxiliary worker threads that a single +** [prepared statement] may start.
    )^ +**
    +*/ +#define SQLITE_LIMIT_LENGTH 0 +#define SQLITE_LIMIT_SQL_LENGTH 1 +#define SQLITE_LIMIT_COLUMN 2 +#define SQLITE_LIMIT_EXPR_DEPTH 3 +#define SQLITE_LIMIT_COMPOUND_SELECT 4 +#define SQLITE_LIMIT_VDBE_OP 5 +#define SQLITE_LIMIT_FUNCTION_ARG 6 +#define SQLITE_LIMIT_ATTACHED 7 +#define SQLITE_LIMIT_LIKE_PATTERN_LENGTH 8 +#define SQLITE_LIMIT_VARIABLE_NUMBER 9 +#define SQLITE_LIMIT_TRIGGER_DEPTH 10 +#define SQLITE_LIMIT_WORKER_THREADS 11 + +/* +** CAPI3REF: Prepare Flags +** +** These constants define various flags that can be passed into +** "prepFlags" parameter of the [sqlite3_prepare_v3()] and +** [sqlite3_prepare16_v3()] interfaces. +** +** New flags may be added in future releases of SQLite. +** +**
    +** [[SQLITE_PREPARE_PERSISTENT]] ^(
    SQLITE_PREPARE_PERSISTENT
    +**
    The SQLITE_PREPARE_PERSISTENT flag is a hint to the query planner +** that the prepared statement will be retained for a long time and +** probably reused many times.)^ ^Without this flag, [sqlite3_prepare_v3()] +** and [sqlite3_prepare16_v3()] assume that the prepared statement will +** be used just once or at most a few times and then destroyed using +** [sqlite3_finalize()] relatively soon. The current implementation acts +** on this hint by avoiding the use of [lookaside memory] so as not to +** deplete the limited store of lookaside memory. Future versions of +** SQLite may act on this hint differently. +** +** [[SQLITE_PREPARE_NORMALIZE]]
    SQLITE_PREPARE_NORMALIZE
    +**
    The SQLITE_PREPARE_NORMALIZE flag is a no-op. This flag used +** to be required for any prepared statement that wanted to use the +** [sqlite3_normalized_sql()] interface. However, the +** [sqlite3_normalized_sql()] interface is now available to all +** prepared statements, regardless of whether or not they use this +** flag. +** +** [[SQLITE_PREPARE_NO_VTAB]]
    SQLITE_PREPARE_NO_VTAB
    +**
    The SQLITE_PREPARE_NO_VTAB flag causes the SQL compiler +** to return an error (error code SQLITE_ERROR) if the statement uses +** any virtual tables. +**
    +*/ +#define SQLITE_PREPARE_PERSISTENT 0x01 +#define SQLITE_PREPARE_NORMALIZE 0x02 +#define SQLITE_PREPARE_NO_VTAB 0x04 + +/* +** CAPI3REF: Compiling An SQL Statement +** KEYWORDS: {SQL statement compiler} +** METHOD: sqlite3 +** CONSTRUCTOR: sqlite3_stmt +** +** To execute an SQL statement, it must first be compiled into a byte-code +** program using one of these routines. Or, in other words, these routines +** are constructors for the [prepared statement] object. +** +** The preferred routine to use is [sqlite3_prepare_v2()]. The +** [sqlite3_prepare()] interface is legacy and should be avoided. +** [sqlite3_prepare_v3()] has an extra "prepFlags" option that is used +** for special purposes. +** +** The use of the UTF-8 interfaces is preferred, as SQLite currently +** does all parsing using UTF-8. The UTF-16 interfaces are provided +** as a convenience. The UTF-16 interfaces work by converting the +** input text into UTF-8, then invoking the corresponding UTF-8 interface. +** +** The first argument, "db", is a [database connection] obtained from a +** prior successful call to [sqlite3_open()], [sqlite3_open_v2()] or +** [sqlite3_open16()]. The database connection must not have been closed. +** +** The second argument, "zSql", is the statement to be compiled, encoded +** as either UTF-8 or UTF-16. The sqlite3_prepare(), sqlite3_prepare_v2(), +** and sqlite3_prepare_v3() +** interfaces use UTF-8, and sqlite3_prepare16(), sqlite3_prepare16_v2(), +** and sqlite3_prepare16_v3() use UTF-16. +** +** ^If the nByte argument is negative, then zSql is read up to the +** first zero terminator. ^If nByte is positive, then it is the +** number of bytes read from zSql. ^If nByte is zero, then no prepared +** statement is generated. +** If the caller knows that the supplied string is nul-terminated, then +** there is a small performance advantage to passing an nByte parameter that +** is the number of bytes in the input string including +** the nul-terminator. +** +** ^If pzTail is not NULL then *pzTail is made to point to the first byte +** past the end of the first SQL statement in zSql. These routines only +** compile the first statement in zSql, so *pzTail is left pointing to +** what remains uncompiled. +** +** ^*ppStmt is left pointing to a compiled [prepared statement] that can be +** executed using [sqlite3_step()]. ^If there is an error, *ppStmt is set +** to NULL. ^If the input text contains no SQL (if the input is an empty +** string or a comment) then *ppStmt is set to NULL. +** The calling procedure is responsible for deleting the compiled +** SQL statement using [sqlite3_finalize()] after it has finished with it. +** ppStmt may not be NULL. +** +** ^On success, the sqlite3_prepare() family of routines return [SQLITE_OK]; +** otherwise an [error code] is returned. +** +** The sqlite3_prepare_v2(), sqlite3_prepare_v3(), sqlite3_prepare16_v2(), +** and sqlite3_prepare16_v3() interfaces are recommended for all new programs. +** The older interfaces (sqlite3_prepare() and sqlite3_prepare16()) +** are retained for backwards compatibility, but their use is discouraged. +** ^In the "vX" interfaces, the prepared statement +** that is returned (the [sqlite3_stmt] object) contains a copy of the +** original SQL text. This causes the [sqlite3_step()] interface to +** behave differently in three ways: +** +**
      +**
    1. +** ^If the database schema changes, instead of returning [SQLITE_SCHEMA] as it +** always used to do, [sqlite3_step()] will automatically recompile the SQL +** statement and try to run it again. As many as [SQLITE_MAX_SCHEMA_RETRY] +** retries will occur before sqlite3_step() gives up and returns an error. +**
    2. +** +**
    3. +** ^When an error occurs, [sqlite3_step()] will return one of the detailed +** [error codes] or [extended error codes]. ^The legacy behavior was that +** [sqlite3_step()] would only return a generic [SQLITE_ERROR] result code +** and the application would have to make a second call to [sqlite3_reset()] +** in order to find the underlying cause of the problem. With the "v2" prepare +** interfaces, the underlying reason for the error is returned immediately. +**
    4. +** +**
    5. +** ^If the specific value bound to a [parameter | host parameter] in the +** WHERE clause might influence the choice of query plan for a statement, +** then the statement will be automatically recompiled, as if there had been +** a schema change, on the first [sqlite3_step()] call following any change +** to the [sqlite3_bind_text | bindings] of that [parameter]. +** ^The specific value of a WHERE-clause [parameter] might influence the +** choice of query plan if the parameter is the left-hand side of a [LIKE] +** or [GLOB] operator or if the parameter is compared to an indexed column +** and the [SQLITE_ENABLE_STAT4] compile-time option is enabled. +**
    6. +**
    +** +**

    ^sqlite3_prepare_v3() differs from sqlite3_prepare_v2() only in having +** the extra prepFlags parameter, which is a bit array consisting of zero or +** more of the [SQLITE_PREPARE_PERSISTENT|SQLITE_PREPARE_*] flags. ^The +** sqlite3_prepare_v2() interface works exactly the same as +** sqlite3_prepare_v3() with a zero prepFlags parameter. +*/ +SQLITE_API int sqlite3_prepare( + sqlite3 *db, /* Database handle */ + const char *zSql, /* SQL statement, UTF-8 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const char **pzTail /* OUT: Pointer to unused portion of zSql */ +); +SQLITE_API int sqlite3_prepare_v2( + sqlite3 *db, /* Database handle */ + const char *zSql, /* SQL statement, UTF-8 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const char **pzTail /* OUT: Pointer to unused portion of zSql */ +); +SQLITE_API int sqlite3_prepare_v3( + sqlite3 *db, /* Database handle */ + const char *zSql, /* SQL statement, UTF-8 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + unsigned int prepFlags, /* Zero or more SQLITE_PREPARE_ flags */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const char **pzTail /* OUT: Pointer to unused portion of zSql */ +); +SQLITE_API int sqlite3_prepare16( + sqlite3 *db, /* Database handle */ + const void *zSql, /* SQL statement, UTF-16 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const void **pzTail /* OUT: Pointer to unused portion of zSql */ +); +SQLITE_API int sqlite3_prepare16_v2( + sqlite3 *db, /* Database handle */ + const void *zSql, /* SQL statement, UTF-16 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const void **pzTail /* OUT: Pointer to unused portion of zSql */ +); +SQLITE_API int sqlite3_prepare16_v3( + sqlite3 *db, /* Database handle */ + const void *zSql, /* SQL statement, UTF-16 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + unsigned int prepFlags, /* Zero or more SQLITE_PREPARE_ flags */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const void **pzTail /* OUT: Pointer to unused portion of zSql */ +); + +/* +** CAPI3REF: Retrieving Statement SQL +** METHOD: sqlite3_stmt +** +** ^The sqlite3_sql(P) interface returns a pointer to a copy of the UTF-8 +** SQL text used to create [prepared statement] P if P was +** created by [sqlite3_prepare_v2()], [sqlite3_prepare_v3()], +** [sqlite3_prepare16_v2()], or [sqlite3_prepare16_v3()]. +** ^The sqlite3_expanded_sql(P) interface returns a pointer to a UTF-8 +** string containing the SQL text of prepared statement P with +** [bound parameters] expanded. +** ^The sqlite3_normalized_sql(P) interface returns a pointer to a UTF-8 +** string containing the normalized SQL text of prepared statement P. The +** semantics used to normalize a SQL statement are unspecified and subject +** to change. At a minimum, literal values will be replaced with suitable +** placeholders. +** +** ^(For example, if a prepared statement is created using the SQL +** text "SELECT $abc,:xyz" and if parameter $abc is bound to integer 2345 +** and parameter :xyz is unbound, then sqlite3_sql() will return +** the original string, "SELECT $abc,:xyz" but sqlite3_expanded_sql() +** will return "SELECT 2345,NULL".)^ +** +** ^The sqlite3_expanded_sql() interface returns NULL if insufficient memory +** is available to hold the result, or if the result would exceed the +** the maximum string length determined by the [SQLITE_LIMIT_LENGTH]. +** +** ^The [SQLITE_TRACE_SIZE_LIMIT] compile-time option limits the size of +** bound parameter expansions. ^The [SQLITE_OMIT_TRACE] compile-time +** option causes sqlite3_expanded_sql() to always return NULL. +** +** ^The strings returned by sqlite3_sql(P) and sqlite3_normalized_sql(P) +** are managed by SQLite and are automatically freed when the prepared +** statement is finalized. +** ^The string returned by sqlite3_expanded_sql(P), on the other hand, +** is obtained from [sqlite3_malloc()] and must be freed by the application +** by passing it to [sqlite3_free()]. +** +** ^The sqlite3_normalized_sql() interface is only available if +** the [SQLITE_ENABLE_NORMALIZE] compile-time option is defined. +*/ +SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt); +SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt); +#ifdef SQLITE_ENABLE_NORMALIZE +SQLITE_API const char *sqlite3_normalized_sql(sqlite3_stmt *pStmt); +#endif + +/* +** CAPI3REF: Determine If An SQL Statement Writes The Database +** METHOD: sqlite3_stmt +** +** ^The sqlite3_stmt_readonly(X) interface returns true (non-zero) if +** and only if the [prepared statement] X makes no direct changes to +** the content of the database file. +** +** Note that [application-defined SQL functions] or +** [virtual tables] might change the database indirectly as a side effect. +** ^(For example, if an application defines a function "eval()" that +** calls [sqlite3_exec()], then the following SQL statement would +** change the database file through side-effects: +** +**

    +**    SELECT eval('DELETE FROM t1') FROM t2;
    +** 
    +** +** But because the [SELECT] statement does not change the database file +** directly, sqlite3_stmt_readonly() would still return true.)^ +** +** ^Transaction control statements such as [BEGIN], [COMMIT], [ROLLBACK], +** [SAVEPOINT], and [RELEASE] cause sqlite3_stmt_readonly() to return true, +** since the statements themselves do not actually modify the database but +** rather they control the timing of when other statements modify the +** database. ^The [ATTACH] and [DETACH] statements also cause +** sqlite3_stmt_readonly() to return true since, while those statements +** change the configuration of a database connection, they do not make +** changes to the content of the database files on disk. +** ^The sqlite3_stmt_readonly() interface returns true for [BEGIN] since +** [BEGIN] merely sets internal flags, but the [BEGIN|BEGIN IMMEDIATE] and +** [BEGIN|BEGIN EXCLUSIVE] commands do touch the database and so +** sqlite3_stmt_readonly() returns false for those commands. +** +** ^This routine returns false if there is any possibility that the +** statement might change the database file. ^A false return does +** not guarantee that the statement will change the database file. +** ^For example, an UPDATE statement might have a WHERE clause that +** makes it a no-op, but the sqlite3_stmt_readonly() result would still +** be false. ^Similarly, a CREATE TABLE IF NOT EXISTS statement is a +** read-only no-op if the table already exists, but +** sqlite3_stmt_readonly() still returns false for such a statement. +** +** ^If prepared statement X is an [EXPLAIN] or [EXPLAIN QUERY PLAN] +** statement, then sqlite3_stmt_readonly(X) returns the same value as +** if the EXPLAIN or EXPLAIN QUERY PLAN prefix were omitted. +*/ +SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Query The EXPLAIN Setting For A Prepared Statement +** METHOD: sqlite3_stmt +** +** ^The sqlite3_stmt_isexplain(S) interface returns 1 if the +** prepared statement S is an EXPLAIN statement, or 2 if the +** statement S is an EXPLAIN QUERY PLAN. +** ^The sqlite3_stmt_isexplain(S) interface returns 0 if S is +** an ordinary statement or a NULL pointer. +*/ +SQLITE_API int sqlite3_stmt_isexplain(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Determine If A Prepared Statement Has Been Reset +** METHOD: sqlite3_stmt +** +** ^The sqlite3_stmt_busy(S) interface returns true (non-zero) if the +** [prepared statement] S has been stepped at least once using +** [sqlite3_step(S)] but has neither run to completion (returned +** [SQLITE_DONE] from [sqlite3_step(S)]) nor +** been reset using [sqlite3_reset(S)]. ^The sqlite3_stmt_busy(S) +** interface returns false if S is a NULL pointer. If S is not a +** NULL pointer and is not a pointer to a valid [prepared statement] +** object, then the behavior is undefined and probably undesirable. +** +** This interface can be used in combination [sqlite3_next_stmt()] +** to locate all prepared statements associated with a database +** connection that are in need of being reset. This can be used, +** for example, in diagnostic routines to search for prepared +** statements that are holding a transaction open. +*/ +SQLITE_API int sqlite3_stmt_busy(sqlite3_stmt*); + +/* +** CAPI3REF: Dynamically Typed Value Object +** KEYWORDS: {protected sqlite3_value} {unprotected sqlite3_value} +** +** SQLite uses the sqlite3_value object to represent all values +** that can be stored in a database table. SQLite uses dynamic typing +** for the values it stores. ^Values stored in sqlite3_value objects +** can be integers, floating point values, strings, BLOBs, or NULL. +** +** An sqlite3_value object may be either "protected" or "unprotected". +** Some interfaces require a protected sqlite3_value. Other interfaces +** will accept either a protected or an unprotected sqlite3_value. +** Every interface that accepts sqlite3_value arguments specifies +** whether or not it requires a protected sqlite3_value. The +** [sqlite3_value_dup()] interface can be used to construct a new +** protected sqlite3_value from an unprotected sqlite3_value. +** +** The terms "protected" and "unprotected" refer to whether or not +** a mutex is held. An internal mutex is held for a protected +** sqlite3_value object but no mutex is held for an unprotected +** sqlite3_value object. If SQLite is compiled to be single-threaded +** (with [SQLITE_THREADSAFE=0] and with [sqlite3_threadsafe()] returning 0) +** or if SQLite is run in one of reduced mutex modes +** [SQLITE_CONFIG_SINGLETHREAD] or [SQLITE_CONFIG_MULTITHREAD] +** then there is no distinction between protected and unprotected +** sqlite3_value objects and they can be used interchangeably. However, +** for maximum code portability it is recommended that applications +** still make the distinction between protected and unprotected +** sqlite3_value objects even when not strictly required. +** +** ^The sqlite3_value objects that are passed as parameters into the +** implementation of [application-defined SQL functions] are protected. +** ^The sqlite3_value objects returned by [sqlite3_vtab_rhs_value()] +** are protected. +** ^The sqlite3_value object returned by +** [sqlite3_column_value()] is unprotected. +** Unprotected sqlite3_value objects may only be used as arguments +** to [sqlite3_result_value()], [sqlite3_bind_value()], and +** [sqlite3_value_dup()]. +** The [sqlite3_value_blob | sqlite3_value_type()] family of +** interfaces require protected sqlite3_value objects. +*/ +typedef struct sqlite3_value sqlite3_value; + +/* +** CAPI3REF: SQL Function Context Object +** +** The context in which an SQL function executes is stored in an +** sqlite3_context object. ^A pointer to an sqlite3_context object +** is always first parameter to [application-defined SQL functions]. +** The application-defined SQL function implementation will pass this +** pointer through into calls to [sqlite3_result_int | sqlite3_result()], +** [sqlite3_aggregate_context()], [sqlite3_user_data()], +** [sqlite3_context_db_handle()], [sqlite3_get_auxdata()], +** and/or [sqlite3_set_auxdata()]. +*/ +typedef struct sqlite3_context sqlite3_context; + +/* +** CAPI3REF: Binding Values To Prepared Statements +** KEYWORDS: {host parameter} {host parameters} {host parameter name} +** KEYWORDS: {SQL parameter} {SQL parameters} {parameter binding} +** METHOD: sqlite3_stmt +** +** ^(In the SQL statement text input to [sqlite3_prepare_v2()] and its variants, +** literals may be replaced by a [parameter] that matches one of following +** templates: +** +**
      +**
    • ? +**
    • ?NNN +**
    • :VVV +**
    • @VVV +**
    • $VVV +**
    +** +** In the templates above, NNN represents an integer literal, +** and VVV represents an alphanumeric identifier.)^ ^The values of these +** parameters (also called "host parameter names" or "SQL parameters") +** can be set using the sqlite3_bind_*() routines defined here. +** +** ^The first argument to the sqlite3_bind_*() routines is always +** a pointer to the [sqlite3_stmt] object returned from +** [sqlite3_prepare_v2()] or its variants. +** +** ^The second argument is the index of the SQL parameter to be set. +** ^The leftmost SQL parameter has an index of 1. ^When the same named +** SQL parameter is used more than once, second and subsequent +** occurrences have the same index as the first occurrence. +** ^The index for named parameters can be looked up using the +** [sqlite3_bind_parameter_index()] API if desired. ^The index +** for "?NNN" parameters is the value of NNN. +** ^The NNN value must be between 1 and the [sqlite3_limit()] +** parameter [SQLITE_LIMIT_VARIABLE_NUMBER] (default value: 32766). +** +** ^The third argument is the value to bind to the parameter. +** ^If the third parameter to sqlite3_bind_text() or sqlite3_bind_text16() +** or sqlite3_bind_blob() is a NULL pointer then the fourth parameter +** is ignored and the end result is the same as sqlite3_bind_null(). +** ^If the third parameter to sqlite3_bind_text() is not NULL, then +** it should be a pointer to well-formed UTF8 text. +** ^If the third parameter to sqlite3_bind_text16() is not NULL, then +** it should be a pointer to well-formed UTF16 text. +** ^If the third parameter to sqlite3_bind_text64() is not NULL, then +** it should be a pointer to a well-formed unicode string that is +** either UTF8 if the sixth parameter is SQLITE_UTF8, or UTF16 +** otherwise. +** +** [[byte-order determination rules]] ^The byte-order of +** UTF16 input text is determined by the byte-order mark (BOM, U+FEFF) +** found in first character, which is removed, or in the absence of a BOM +** the byte order is the native byte order of the host +** machine for sqlite3_bind_text16() or the byte order specified in +** the 6th parameter for sqlite3_bind_text64().)^ +** ^If UTF16 input text contains invalid unicode +** characters, then SQLite might change those invalid characters +** into the unicode replacement character: U+FFFD. +** +** ^(In those routines that have a fourth argument, its value is the +** number of bytes in the parameter. To be clear: the value is the +** number of bytes in the value, not the number of characters.)^ +** ^If the fourth parameter to sqlite3_bind_text() or sqlite3_bind_text16() +** is negative, then the length of the string is +** the number of bytes up to the first zero terminator. +** If the fourth parameter to sqlite3_bind_blob() is negative, then +** the behavior is undefined. +** If a non-negative fourth parameter is provided to sqlite3_bind_text() +** or sqlite3_bind_text16() or sqlite3_bind_text64() then +** that parameter must be the byte offset +** where the NUL terminator would occur assuming the string were NUL +** terminated. If any NUL characters occurs at byte offsets less than +** the value of the fourth parameter then the resulting string value will +** contain embedded NULs. The result of expressions involving strings +** with embedded NULs is undefined. +** +** ^The fifth argument to the BLOB and string binding interfaces controls +** or indicates the lifetime of the object referenced by the third parameter. +** These three options exist: +** ^ (1) A destructor to dispose of the BLOB or string after SQLite has finished +** with it may be passed. ^It is called to dispose of the BLOB or string even +** if the call to the bind API fails, except the destructor is not called if +** the third parameter is a NULL pointer or the fourth parameter is negative. +** ^ (2) The special constant, [SQLITE_STATIC], may be passsed to indicate that +** the application remains responsible for disposing of the object. ^In this +** case, the object and the provided pointer to it must remain valid until +** either the prepared statement is finalized or the same SQL parameter is +** bound to something else, whichever occurs sooner. +** ^ (3) The constant, [SQLITE_TRANSIENT], may be passed to indicate that the +** object is to be copied prior to the return from sqlite3_bind_*(). ^The +** object and pointer to it must remain valid until then. ^SQLite will then +** manage the lifetime of its private copy. +** +** ^The sixth argument to sqlite3_bind_text64() must be one of +** [SQLITE_UTF8], [SQLITE_UTF16], [SQLITE_UTF16BE], or [SQLITE_UTF16LE] +** to specify the encoding of the text in the third parameter. If +** the sixth argument to sqlite3_bind_text64() is not one of the +** allowed values shown above, or if the text encoding is different +** from the encoding specified by the sixth parameter, then the behavior +** is undefined. +** +** ^The sqlite3_bind_zeroblob() routine binds a BLOB of length N that +** is filled with zeroes. ^A zeroblob uses a fixed amount of memory +** (just an integer to hold its size) while it is being processed. +** Zeroblobs are intended to serve as placeholders for BLOBs whose +** content is later written using +** [sqlite3_blob_open | incremental BLOB I/O] routines. +** ^A negative value for the zeroblob results in a zero-length BLOB. +** +** ^The sqlite3_bind_pointer(S,I,P,T,D) routine causes the I-th parameter in +** [prepared statement] S to have an SQL value of NULL, but to also be +** associated with the pointer P of type T. ^D is either a NULL pointer or +** a pointer to a destructor function for P. ^SQLite will invoke the +** destructor D with a single argument of P when it is finished using +** P. The T parameter should be a static string, preferably a string +** literal. The sqlite3_bind_pointer() routine is part of the +** [pointer passing interface] added for SQLite 3.20.0. +** +** ^If any of the sqlite3_bind_*() routines are called with a NULL pointer +** for the [prepared statement] or with a prepared statement for which +** [sqlite3_step()] has been called more recently than [sqlite3_reset()], +** then the call will return [SQLITE_MISUSE]. If any sqlite3_bind_() +** routine is passed a [prepared statement] that has been finalized, the +** result is undefined and probably harmful. +** +** ^Bindings are not cleared by the [sqlite3_reset()] routine. +** ^Unbound parameters are interpreted as NULL. +** +** ^The sqlite3_bind_* routines return [SQLITE_OK] on success or an +** [error code] if anything goes wrong. +** ^[SQLITE_TOOBIG] might be returned if the size of a string or BLOB +** exceeds limits imposed by [sqlite3_limit]([SQLITE_LIMIT_LENGTH]) or +** [SQLITE_MAX_LENGTH]. +** ^[SQLITE_RANGE] is returned if the parameter +** index is out of range. ^[SQLITE_NOMEM] is returned if malloc() fails. +** +** See also: [sqlite3_bind_parameter_count()], +** [sqlite3_bind_parameter_name()], and [sqlite3_bind_parameter_index()]. +*/ +SQLITE_API int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*)); +SQLITE_API int sqlite3_bind_blob64(sqlite3_stmt*, int, const void*, sqlite3_uint64, + void(*)(void*)); +SQLITE_API int sqlite3_bind_double(sqlite3_stmt*, int, double); +SQLITE_API int sqlite3_bind_int(sqlite3_stmt*, int, int); +SQLITE_API int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64); +SQLITE_API int sqlite3_bind_null(sqlite3_stmt*, int); +SQLITE_API int sqlite3_bind_text(sqlite3_stmt*,int,const char*,int,void(*)(void*)); +SQLITE_API int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*)); +SQLITE_API int sqlite3_bind_text64(sqlite3_stmt*, int, const char*, sqlite3_uint64, + void(*)(void*), unsigned char encoding); +SQLITE_API int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*); +SQLITE_API int sqlite3_bind_pointer(sqlite3_stmt*, int, void*, const char*,void(*)(void*)); +SQLITE_API int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n); +SQLITE_API int sqlite3_bind_zeroblob64(sqlite3_stmt*, int, sqlite3_uint64); + +/* +** CAPI3REF: Number Of SQL Parameters +** METHOD: sqlite3_stmt +** +** ^This routine can be used to find the number of [SQL parameters] +** in a [prepared statement]. SQL parameters are tokens of the +** form "?", "?NNN", ":AAA", "$AAA", or "@AAA" that serve as +** placeholders for values that are [sqlite3_bind_blob | bound] +** to the parameters at a later time. +** +** ^(This routine actually returns the index of the largest (rightmost) +** parameter. For all forms except ?NNN, this will correspond to the +** number of unique parameters. If parameters of the ?NNN form are used, +** there may be gaps in the list.)^ +** +** See also: [sqlite3_bind_blob|sqlite3_bind()], +** [sqlite3_bind_parameter_name()], and +** [sqlite3_bind_parameter_index()]. +*/ +SQLITE_API int sqlite3_bind_parameter_count(sqlite3_stmt*); + +/* +** CAPI3REF: Name Of A Host Parameter +** METHOD: sqlite3_stmt +** +** ^The sqlite3_bind_parameter_name(P,N) interface returns +** the name of the N-th [SQL parameter] in the [prepared statement] P. +** ^(SQL parameters of the form "?NNN" or ":AAA" or "@AAA" or "$AAA" +** have a name which is the string "?NNN" or ":AAA" or "@AAA" or "$AAA" +** respectively. +** In other words, the initial ":" or "$" or "@" or "?" +** is included as part of the name.)^ +** ^Parameters of the form "?" without a following integer have no name +** and are referred to as "nameless" or "anonymous parameters". +** +** ^The first host parameter has an index of 1, not 0. +** +** ^If the value N is out of range or if the N-th parameter is +** nameless, then NULL is returned. ^The returned string is +** always in UTF-8 encoding even if the named parameter was +** originally specified as UTF-16 in [sqlite3_prepare16()], +** [sqlite3_prepare16_v2()], or [sqlite3_prepare16_v3()]. +** +** See also: [sqlite3_bind_blob|sqlite3_bind()], +** [sqlite3_bind_parameter_count()], and +** [sqlite3_bind_parameter_index()]. +*/ +SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int); + +/* +** CAPI3REF: Index Of A Parameter With A Given Name +** METHOD: sqlite3_stmt +** +** ^Return the index of an SQL parameter given its name. ^The +** index value returned is suitable for use as the second +** parameter to [sqlite3_bind_blob|sqlite3_bind()]. ^A zero +** is returned if no matching parameter is found. ^The parameter +** name must be given in UTF-8 even if the original statement +** was prepared from UTF-16 text using [sqlite3_prepare16_v2()] or +** [sqlite3_prepare16_v3()]. +** +** See also: [sqlite3_bind_blob|sqlite3_bind()], +** [sqlite3_bind_parameter_count()], and +** [sqlite3_bind_parameter_name()]. +*/ +SQLITE_API int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName); + +/* +** CAPI3REF: Reset All Bindings On A Prepared Statement +** METHOD: sqlite3_stmt +** +** ^Contrary to the intuition of many, [sqlite3_reset()] does not reset +** the [sqlite3_bind_blob | bindings] on a [prepared statement]. +** ^Use this routine to reset all host parameters to NULL. +*/ +SQLITE_API int sqlite3_clear_bindings(sqlite3_stmt*); + +/* +** CAPI3REF: Number Of Columns In A Result Set +** METHOD: sqlite3_stmt +** +** ^Return the number of columns in the result set returned by the +** [prepared statement]. ^If this routine returns 0, that means the +** [prepared statement] returns no data (for example an [UPDATE]). +** ^However, just because this routine returns a positive number does not +** mean that one or more rows of data will be returned. ^A SELECT statement +** will always have a positive sqlite3_column_count() but depending on the +** WHERE clause constraints and the table content, it might return no rows. +** +** See also: [sqlite3_data_count()] +*/ +SQLITE_API int sqlite3_column_count(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Column Names In A Result Set +** METHOD: sqlite3_stmt +** +** ^These routines return the name assigned to a particular column +** in the result set of a [SELECT] statement. ^The sqlite3_column_name() +** interface returns a pointer to a zero-terminated UTF-8 string +** and sqlite3_column_name16() returns a pointer to a zero-terminated +** UTF-16 string. ^The first parameter is the [prepared statement] +** that implements the [SELECT] statement. ^The second parameter is the +** column number. ^The leftmost column is number 0. +** +** ^The returned string pointer is valid until either the [prepared statement] +** is destroyed by [sqlite3_finalize()] or until the statement is automatically +** reprepared by the first call to [sqlite3_step()] for a particular run +** or until the next call to +** sqlite3_column_name() or sqlite3_column_name16() on the same column. +** +** ^If sqlite3_malloc() fails during the processing of either routine +** (for example during a conversion from UTF-8 to UTF-16) then a +** NULL pointer is returned. +** +** ^The name of a result column is the value of the "AS" clause for +** that column, if there is an AS clause. If there is no AS clause +** then the name of the column is unspecified and may change from +** one release of SQLite to the next. +*/ +SQLITE_API const char *sqlite3_column_name(sqlite3_stmt*, int N); +SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt*, int N); + +/* +** CAPI3REF: Source Of Data In A Query Result +** METHOD: sqlite3_stmt +** +** ^These routines provide a means to determine the database, table, and +** table column that is the origin of a particular result column in +** [SELECT] statement. +** ^The name of the database or table or column can be returned as +** either a UTF-8 or UTF-16 string. ^The _database_ routines return +** the database name, the _table_ routines return the table name, and +** the origin_ routines return the column name. +** ^The returned string is valid until the [prepared statement] is destroyed +** using [sqlite3_finalize()] or until the statement is automatically +** reprepared by the first call to [sqlite3_step()] for a particular run +** or until the same information is requested +** again in a different encoding. +** +** ^The names returned are the original un-aliased names of the +** database, table, and column. +** +** ^The first argument to these interfaces is a [prepared statement]. +** ^These functions return information about the Nth result column returned by +** the statement, where N is the second function argument. +** ^The left-most column is column 0 for these routines. +** +** ^If the Nth column returned by the statement is an expression or +** subquery and is not a column value, then all of these functions return +** NULL. ^These routines might also return NULL if a memory allocation error +** occurs. ^Otherwise, they return the name of the attached database, table, +** or column that query result column was extracted from. +** +** ^As with all other SQLite APIs, those whose names end with "16" return +** UTF-16 encoded strings and the other functions return UTF-8. +** +** ^These APIs are only available if the library was compiled with the +** [SQLITE_ENABLE_COLUMN_METADATA] C-preprocessor symbol. +** +** If two or more threads call one or more +** [sqlite3_column_database_name | column metadata interfaces] +** for the same [prepared statement] and result column +** at the same time then the results are undefined. +*/ +SQLITE_API const char *sqlite3_column_database_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_table_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_origin_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_origin_name16(sqlite3_stmt*,int); + +/* +** CAPI3REF: Declared Datatype Of A Query Result +** METHOD: sqlite3_stmt +** +** ^(The first parameter is a [prepared statement]. +** If this statement is a [SELECT] statement and the Nth column of the +** returned result set of that [SELECT] is a table column (not an +** expression or subquery) then the declared type of the table +** column is returned.)^ ^If the Nth column of the result set is an +** expression or subquery, then a NULL pointer is returned. +** ^The returned string is always UTF-8 encoded. +** +** ^(For example, given the database schema: +** +** CREATE TABLE t1(c1 VARIANT); +** +** and the following statement to be compiled: +** +** SELECT c1 + 1, c1 FROM t1; +** +** this routine would return the string "VARIANT" for the second result +** column (i==1), and a NULL pointer for the first result column (i==0).)^ +** +** ^SQLite uses dynamic run-time typing. ^So just because a column +** is declared to contain a particular type does not mean that the +** data stored in that column is of the declared type. SQLite is +** strongly typed, but the typing is dynamic not static. ^Type +** is associated with individual values, not with the containers +** used to hold those values. +*/ +SQLITE_API const char *sqlite3_column_decltype(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int); + +/* +** CAPI3REF: Evaluate An SQL Statement +** METHOD: sqlite3_stmt +** +** After a [prepared statement] has been prepared using any of +** [sqlite3_prepare_v2()], [sqlite3_prepare_v3()], [sqlite3_prepare16_v2()], +** or [sqlite3_prepare16_v3()] or one of the legacy +** interfaces [sqlite3_prepare()] or [sqlite3_prepare16()], this function +** must be called one or more times to evaluate the statement. +** +** The details of the behavior of the sqlite3_step() interface depend +** on whether the statement was prepared using the newer "vX" interfaces +** [sqlite3_prepare_v3()], [sqlite3_prepare_v2()], [sqlite3_prepare16_v3()], +** [sqlite3_prepare16_v2()] or the older legacy +** interfaces [sqlite3_prepare()] and [sqlite3_prepare16()]. The use of the +** new "vX" interface is recommended for new applications but the legacy +** interface will continue to be supported. +** +** ^In the legacy interface, the return value will be either [SQLITE_BUSY], +** [SQLITE_DONE], [SQLITE_ROW], [SQLITE_ERROR], or [SQLITE_MISUSE]. +** ^With the "v2" interface, any of the other [result codes] or +** [extended result codes] might be returned as well. +** +** ^[SQLITE_BUSY] means that the database engine was unable to acquire the +** database locks it needs to do its job. ^If the statement is a [COMMIT] +** or occurs outside of an explicit transaction, then you can retry the +** statement. If the statement is not a [COMMIT] and occurs within an +** explicit transaction then you should rollback the transaction before +** continuing. +** +** ^[SQLITE_DONE] means that the statement has finished executing +** successfully. sqlite3_step() should not be called again on this virtual +** machine without first calling [sqlite3_reset()] to reset the virtual +** machine back to its initial state. +** +** ^If the SQL statement being executed returns any data, then [SQLITE_ROW] +** is returned each time a new row of data is ready for processing by the +** caller. The values may be accessed using the [column access functions]. +** sqlite3_step() is called again to retrieve the next row of data. +** +** ^[SQLITE_ERROR] means that a run-time error (such as a constraint +** violation) has occurred. sqlite3_step() should not be called again on +** the VM. More information may be found by calling [sqlite3_errmsg()]. +** ^With the legacy interface, a more specific error code (for example, +** [SQLITE_INTERRUPT], [SQLITE_SCHEMA], [SQLITE_CORRUPT], and so forth) +** can be obtained by calling [sqlite3_reset()] on the +** [prepared statement]. ^In the "v2" interface, +** the more specific error code is returned directly by sqlite3_step(). +** +** [SQLITE_MISUSE] means that the this routine was called inappropriately. +** Perhaps it was called on a [prepared statement] that has +** already been [sqlite3_finalize | finalized] or on one that had +** previously returned [SQLITE_ERROR] or [SQLITE_DONE]. Or it could +** be the case that the same database connection is being used by two or +** more threads at the same moment in time. +** +** For all versions of SQLite up to and including 3.6.23.1, a call to +** [sqlite3_reset()] was required after sqlite3_step() returned anything +** other than [SQLITE_ROW] before any subsequent invocation of +** sqlite3_step(). Failure to reset the prepared statement using +** [sqlite3_reset()] would result in an [SQLITE_MISUSE] return from +** sqlite3_step(). But after [version 3.6.23.1] ([dateof:3.6.23.1], +** sqlite3_step() began +** calling [sqlite3_reset()] automatically in this circumstance rather +** than returning [SQLITE_MISUSE]. This is not considered a compatibility +** break because any application that ever receives an SQLITE_MISUSE error +** is broken by definition. The [SQLITE_OMIT_AUTORESET] compile-time option +** can be used to restore the legacy behavior. +** +** Goofy Interface Alert: In the legacy interface, the sqlite3_step() +** API always returns a generic error code, [SQLITE_ERROR], following any +** error other than [SQLITE_BUSY] and [SQLITE_MISUSE]. You must call +** [sqlite3_reset()] or [sqlite3_finalize()] in order to find one of the +** specific [error codes] that better describes the error. +** We admit that this is a goofy design. The problem has been fixed +** with the "v2" interface. If you prepare all of your SQL statements +** using [sqlite3_prepare_v3()] or [sqlite3_prepare_v2()] +** or [sqlite3_prepare16_v2()] or [sqlite3_prepare16_v3()] instead +** of the legacy [sqlite3_prepare()] and [sqlite3_prepare16()] interfaces, +** then the more specific [error codes] are returned directly +** by sqlite3_step(). The use of the "vX" interfaces is recommended. +*/ +SQLITE_API int sqlite3_step(sqlite3_stmt*); + +/* +** CAPI3REF: Number of columns in a result set +** METHOD: sqlite3_stmt +** +** ^The sqlite3_data_count(P) interface returns the number of columns in the +** current row of the result set of [prepared statement] P. +** ^If prepared statement P does not have results ready to return +** (via calls to the [sqlite3_column_int | sqlite3_column()] family of +** interfaces) then sqlite3_data_count(P) returns 0. +** ^The sqlite3_data_count(P) routine also returns 0 if P is a NULL pointer. +** ^The sqlite3_data_count(P) routine returns 0 if the previous call to +** [sqlite3_step](P) returned [SQLITE_DONE]. ^The sqlite3_data_count(P) +** will return non-zero if previous call to [sqlite3_step](P) returned +** [SQLITE_ROW], except in the case of the [PRAGMA incremental_vacuum] +** where it always returns zero since each step of that multi-step +** pragma returns 0 columns of data. +** +** See also: [sqlite3_column_count()] +*/ +SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Fundamental Datatypes +** KEYWORDS: SQLITE_TEXT +** +** ^(Every value in SQLite has one of five fundamental datatypes: +** +**
      +**
    • 64-bit signed integer +**
    • 64-bit IEEE floating point number +**
    • string +**
    • BLOB +**
    • NULL +**
    )^ +** +** These constants are codes for each of those types. +** +** Note that the SQLITE_TEXT constant was also used in SQLite version 2 +** for a completely different meaning. Software that links against both +** SQLite version 2 and SQLite version 3 should use SQLITE3_TEXT, not +** SQLITE_TEXT. +*/ +#define SQLITE_INTEGER 1 +#define SQLITE_FLOAT 2 +#define SQLITE_BLOB 4 +#define SQLITE_NULL 5 +#ifdef SQLITE_TEXT +# undef SQLITE_TEXT +#else +# define SQLITE_TEXT 3 +#endif +#define SQLITE3_TEXT 3 + +/* +** CAPI3REF: Result Values From A Query +** KEYWORDS: {column access functions} +** METHOD: sqlite3_stmt +** +** Summary: +**
    +**
    sqlite3_column_blobBLOB result +**
    sqlite3_column_doubleREAL result +**
    sqlite3_column_int32-bit INTEGER result +**
    sqlite3_column_int6464-bit INTEGER result +**
    sqlite3_column_textUTF-8 TEXT result +**
    sqlite3_column_text16UTF-16 TEXT result +**
    sqlite3_column_valueThe result as an +** [sqlite3_value|unprotected sqlite3_value] object. +**
        +**
    sqlite3_column_bytesSize of a BLOB +** or a UTF-8 TEXT result in bytes +**
    sqlite3_column_bytes16   +** →  Size of UTF-16 +** TEXT in bytes +**
    sqlite3_column_typeDefault +** datatype of the result +**
    +** +** Details: +** +** ^These routines return information about a single column of the current +** result row of a query. ^In every case the first argument is a pointer +** to the [prepared statement] that is being evaluated (the [sqlite3_stmt*] +** that was returned from [sqlite3_prepare_v2()] or one of its variants) +** and the second argument is the index of the column for which information +** should be returned. ^The leftmost column of the result set has the index 0. +** ^The number of columns in the result can be determined using +** [sqlite3_column_count()]. +** +** If the SQL statement does not currently point to a valid row, or if the +** column index is out of range, the result is undefined. +** These routines may only be called when the most recent call to +** [sqlite3_step()] has returned [SQLITE_ROW] and neither +** [sqlite3_reset()] nor [sqlite3_finalize()] have been called subsequently. +** If any of these routines are called after [sqlite3_reset()] or +** [sqlite3_finalize()] or after [sqlite3_step()] has returned +** something other than [SQLITE_ROW], the results are undefined. +** If [sqlite3_step()] or [sqlite3_reset()] or [sqlite3_finalize()] +** are called from a different thread while any of these routines +** are pending, then the results are undefined. +** +** The first six interfaces (_blob, _double, _int, _int64, _text, and _text16) +** each return the value of a result column in a specific data format. If +** the result column is not initially in the requested format (for example, +** if the query returns an integer but the sqlite3_column_text() interface +** is used to extract the value) then an automatic type conversion is performed. +** +** ^The sqlite3_column_type() routine returns the +** [SQLITE_INTEGER | datatype code] for the initial data type +** of the result column. ^The returned value is one of [SQLITE_INTEGER], +** [SQLITE_FLOAT], [SQLITE_TEXT], [SQLITE_BLOB], or [SQLITE_NULL]. +** The return value of sqlite3_column_type() can be used to decide which +** of the first six interface should be used to extract the column value. +** The value returned by sqlite3_column_type() is only meaningful if no +** automatic type conversions have occurred for the value in question. +** After a type conversion, the result of calling sqlite3_column_type() +** is undefined, though harmless. Future +** versions of SQLite may change the behavior of sqlite3_column_type() +** following a type conversion. +** +** If the result is a BLOB or a TEXT string, then the sqlite3_column_bytes() +** or sqlite3_column_bytes16() interfaces can be used to determine the size +** of that BLOB or string. +** +** ^If the result is a BLOB or UTF-8 string then the sqlite3_column_bytes() +** routine returns the number of bytes in that BLOB or string. +** ^If the result is a UTF-16 string, then sqlite3_column_bytes() converts +** the string to UTF-8 and then returns the number of bytes. +** ^If the result is a numeric value then sqlite3_column_bytes() uses +** [sqlite3_snprintf()] to convert that value to a UTF-8 string and returns +** the number of bytes in that string. +** ^If the result is NULL, then sqlite3_column_bytes() returns zero. +** +** ^If the result is a BLOB or UTF-16 string then the sqlite3_column_bytes16() +** routine returns the number of bytes in that BLOB or string. +** ^If the result is a UTF-8 string, then sqlite3_column_bytes16() converts +** the string to UTF-16 and then returns the number of bytes. +** ^If the result is a numeric value then sqlite3_column_bytes16() uses +** [sqlite3_snprintf()] to convert that value to a UTF-16 string and returns +** the number of bytes in that string. +** ^If the result is NULL, then sqlite3_column_bytes16() returns zero. +** +** ^The values returned by [sqlite3_column_bytes()] and +** [sqlite3_column_bytes16()] do not include the zero terminators at the end +** of the string. ^For clarity: the values returned by +** [sqlite3_column_bytes()] and [sqlite3_column_bytes16()] are the number of +** bytes in the string, not the number of characters. +** +** ^Strings returned by sqlite3_column_text() and sqlite3_column_text16(), +** even empty strings, are always zero-terminated. ^The return +** value from sqlite3_column_blob() for a zero-length BLOB is a NULL pointer. +** +** ^Strings returned by sqlite3_column_text16() always have the endianness +** which is native to the platform, regardless of the text encoding set +** for the database. +** +** Warning: ^The object returned by [sqlite3_column_value()] is an +** [unprotected sqlite3_value] object. In a multithreaded environment, +** an unprotected sqlite3_value object may only be used safely with +** [sqlite3_bind_value()] and [sqlite3_result_value()]. +** If the [unprotected sqlite3_value] object returned by +** [sqlite3_column_value()] is used in any other way, including calls +** to routines like [sqlite3_value_int()], [sqlite3_value_text()], +** or [sqlite3_value_bytes()], the behavior is not threadsafe. +** Hence, the sqlite3_column_value() interface +** is normally only useful within the implementation of +** [application-defined SQL functions] or [virtual tables], not within +** top-level application code. +** +** These routines may attempt to convert the datatype of the result. +** ^For example, if the internal representation is FLOAT and a text result +** is requested, [sqlite3_snprintf()] is used internally to perform the +** conversion automatically. ^(The following table details the conversions +** that are applied: +** +**
    +** +**
    Internal
    Type
    Requested
    Type
    Conversion +** +**
    NULL INTEGER Result is 0 +**
    NULL FLOAT Result is 0.0 +**
    NULL TEXT Result is a NULL pointer +**
    NULL BLOB Result is a NULL pointer +**
    INTEGER FLOAT Convert from integer to float +**
    INTEGER TEXT ASCII rendering of the integer +**
    INTEGER BLOB Same as INTEGER->TEXT +**
    FLOAT INTEGER [CAST] to INTEGER +**
    FLOAT TEXT ASCII rendering of the float +**
    FLOAT BLOB [CAST] to BLOB +**
    TEXT INTEGER [CAST] to INTEGER +**
    TEXT FLOAT [CAST] to REAL +**
    TEXT BLOB No change +**
    BLOB INTEGER [CAST] to INTEGER +**
    BLOB FLOAT [CAST] to REAL +**
    BLOB TEXT [CAST] to TEXT, ensure zero terminator +**
    +**
    )^ +** +** Note that when type conversions occur, pointers returned by prior +** calls to sqlite3_column_blob(), sqlite3_column_text(), and/or +** sqlite3_column_text16() may be invalidated. +** Type conversions and pointer invalidations might occur +** in the following cases: +** +**
      +**
    • The initial content is a BLOB and sqlite3_column_text() or +** sqlite3_column_text16() is called. A zero-terminator might +** need to be added to the string.
    • +**
    • The initial content is UTF-8 text and sqlite3_column_bytes16() or +** sqlite3_column_text16() is called. The content must be converted +** to UTF-16.
    • +**
    • The initial content is UTF-16 text and sqlite3_column_bytes() or +** sqlite3_column_text() is called. The content must be converted +** to UTF-8.
    • +**
    +** +** ^Conversions between UTF-16be and UTF-16le are always done in place and do +** not invalidate a prior pointer, though of course the content of the buffer +** that the prior pointer references will have been modified. Other kinds +** of conversion are done in place when it is possible, but sometimes they +** are not possible and in those cases prior pointers are invalidated. +** +** The safest policy is to invoke these routines +** in one of the following ways: +** +**
      +**
    • sqlite3_column_text() followed by sqlite3_column_bytes()
    • +**
    • sqlite3_column_blob() followed by sqlite3_column_bytes()
    • +**
    • sqlite3_column_text16() followed by sqlite3_column_bytes16()
    • +**
    +** +** In other words, you should call sqlite3_column_text(), +** sqlite3_column_blob(), or sqlite3_column_text16() first to force the result +** into the desired format, then invoke sqlite3_column_bytes() or +** sqlite3_column_bytes16() to find the size of the result. Do not mix calls +** to sqlite3_column_text() or sqlite3_column_blob() with calls to +** sqlite3_column_bytes16(), and do not mix calls to sqlite3_column_text16() +** with calls to sqlite3_column_bytes(). +** +** ^The pointers returned are valid until a type conversion occurs as +** described above, or until [sqlite3_step()] or [sqlite3_reset()] or +** [sqlite3_finalize()] is called. ^The memory space used to hold strings +** and BLOBs is freed automatically. Do not pass the pointers returned +** from [sqlite3_column_blob()], [sqlite3_column_text()], etc. into +** [sqlite3_free()]. +** +** As long as the input parameters are correct, these routines will only +** fail if an out-of-memory error occurs during a format conversion. +** Only the following subset of interfaces are subject to out-of-memory +** errors: +** +**
      +**
    • sqlite3_column_blob() +**
    • sqlite3_column_text() +**
    • sqlite3_column_text16() +**
    • sqlite3_column_bytes() +**
    • sqlite3_column_bytes16() +**
    +** +** If an out-of-memory error occurs, then the return value from these +** routines is the same as if the column had contained an SQL NULL value. +** Valid SQL NULL returns can be distinguished from out-of-memory errors +** by invoking the [sqlite3_errcode()] immediately after the suspect +** return value is obtained and before any +** other SQLite interface is called on the same [database connection]. +*/ +SQLITE_API const void *sqlite3_column_blob(sqlite3_stmt*, int iCol); +SQLITE_API double sqlite3_column_double(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_int(sqlite3_stmt*, int iCol); +SQLITE_API sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol); +SQLITE_API const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol); +SQLITE_API const void *sqlite3_column_text16(sqlite3_stmt*, int iCol); +SQLITE_API sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_bytes(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_bytes16(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_type(sqlite3_stmt*, int iCol); + +/* +** CAPI3REF: Destroy A Prepared Statement Object +** DESTRUCTOR: sqlite3_stmt +** +** ^The sqlite3_finalize() function is called to delete a [prepared statement]. +** ^If the most recent evaluation of the statement encountered no errors +** or if the statement is never been evaluated, then sqlite3_finalize() returns +** SQLITE_OK. ^If the most recent evaluation of statement S failed, then +** sqlite3_finalize(S) returns the appropriate [error code] or +** [extended error code]. +** +** ^The sqlite3_finalize(S) routine can be called at any point during +** the life cycle of [prepared statement] S: +** before statement S is ever evaluated, after +** one or more calls to [sqlite3_reset()], or after any call +** to [sqlite3_step()] regardless of whether or not the statement has +** completed execution. +** +** ^Invoking sqlite3_finalize() on a NULL pointer is a harmless no-op. +** +** The application must finalize every [prepared statement] in order to avoid +** resource leaks. It is a grievous error for the application to try to use +** a prepared statement after it has been finalized. Any use of a prepared +** statement after it has been finalized can result in undefined and +** undesirable behavior such as segfaults and heap corruption. +*/ +SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Reset A Prepared Statement Object +** METHOD: sqlite3_stmt +** +** The sqlite3_reset() function is called to reset a [prepared statement] +** object back to its initial state, ready to be re-executed. +** ^Any SQL statement variables that had values bound to them using +** the [sqlite3_bind_blob | sqlite3_bind_*() API] retain their values. +** Use [sqlite3_clear_bindings()] to reset the bindings. +** +** ^The [sqlite3_reset(S)] interface resets the [prepared statement] S +** back to the beginning of its program. +** +** ^If the most recent call to [sqlite3_step(S)] for the +** [prepared statement] S returned [SQLITE_ROW] or [SQLITE_DONE], +** or if [sqlite3_step(S)] has never before been called on S, +** then [sqlite3_reset(S)] returns [SQLITE_OK]. +** +** ^If the most recent call to [sqlite3_step(S)] for the +** [prepared statement] S indicated an error, then +** [sqlite3_reset(S)] returns an appropriate [error code]. +** +** ^The [sqlite3_reset(S)] interface does not change the values +** of any [sqlite3_bind_blob|bindings] on the [prepared statement] S. +*/ +SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Create Or Redefine SQL Functions +** KEYWORDS: {function creation routines} +** METHOD: sqlite3 +** +** ^These functions (collectively known as "function creation routines") +** are used to add SQL functions or aggregates or to redefine the behavior +** of existing SQL functions or aggregates. The only differences between +** the three "sqlite3_create_function*" routines are the text encoding +** expected for the second parameter (the name of the function being +** created) and the presence or absence of a destructor callback for +** the application data pointer. Function sqlite3_create_window_function() +** is similar, but allows the user to supply the extra callback functions +** needed by [aggregate window functions]. +** +** ^The first parameter is the [database connection] to which the SQL +** function is to be added. ^If an application uses more than one database +** connection then application-defined SQL functions must be added +** to each database connection separately. +** +** ^The second parameter is the name of the SQL function to be created or +** redefined. ^The length of the name is limited to 255 bytes in a UTF-8 +** representation, exclusive of the zero-terminator. ^Note that the name +** length limit is in UTF-8 bytes, not characters nor UTF-16 bytes. +** ^Any attempt to create a function with a longer name +** will result in [SQLITE_MISUSE] being returned. +** +** ^The third parameter (nArg) +** is the number of arguments that the SQL function or +** aggregate takes. ^If this parameter is -1, then the SQL function or +** aggregate may take any number of arguments between 0 and the limit +** set by [sqlite3_limit]([SQLITE_LIMIT_FUNCTION_ARG]). If the third +** parameter is less than -1 or greater than 127 then the behavior is +** undefined. +** +** ^The fourth parameter, eTextRep, specifies what +** [SQLITE_UTF8 | text encoding] this SQL function prefers for +** its parameters. The application should set this parameter to +** [SQLITE_UTF16LE] if the function implementation invokes +** [sqlite3_value_text16le()] on an input, or [SQLITE_UTF16BE] if the +** implementation invokes [sqlite3_value_text16be()] on an input, or +** [SQLITE_UTF16] if [sqlite3_value_text16()] is used, or [SQLITE_UTF8] +** otherwise. ^The same SQL function may be registered multiple times using +** different preferred text encodings, with different implementations for +** each encoding. +** ^When multiple implementations of the same function are available, SQLite +** will pick the one that involves the least amount of data conversion. +** +** ^The fourth parameter may optionally be ORed with [SQLITE_DETERMINISTIC] +** to signal that the function will always return the same result given +** the same inputs within a single SQL statement. Most SQL functions are +** deterministic. The built-in [random()] SQL function is an example of a +** function that is not deterministic. The SQLite query planner is able to +** perform additional optimizations on deterministic functions, so use +** of the [SQLITE_DETERMINISTIC] flag is recommended where possible. +** +** ^The fourth parameter may also optionally include the [SQLITE_DIRECTONLY] +** flag, which if present prevents the function from being invoked from +** within VIEWs, TRIGGERs, CHECK constraints, generated column expressions, +** index expressions, or the WHERE clause of partial indexes. +** +** For best security, the [SQLITE_DIRECTONLY] flag is recommended for +** all application-defined SQL functions that do not need to be +** used inside of triggers, view, CHECK constraints, or other elements of +** the database schema. This flags is especially recommended for SQL +** functions that have side effects or reveal internal application state. +** Without this flag, an attacker might be able to modify the schema of +** a database file to include invocations of the function with parameters +** chosen by the attacker, which the application will then execute when +** the database file is opened and read. +** +** ^(The fifth parameter is an arbitrary pointer. The implementation of the +** function can gain access to this pointer using [sqlite3_user_data()].)^ +** +** ^The sixth, seventh and eighth parameters passed to the three +** "sqlite3_create_function*" functions, xFunc, xStep and xFinal, are +** pointers to C-language functions that implement the SQL function or +** aggregate. ^A scalar SQL function requires an implementation of the xFunc +** callback only; NULL pointers must be passed as the xStep and xFinal +** parameters. ^An aggregate SQL function requires an implementation of xStep +** and xFinal and NULL pointer must be passed for xFunc. ^To delete an existing +** SQL function or aggregate, pass NULL pointers for all three function +** callbacks. +** +** ^The sixth, seventh, eighth and ninth parameters (xStep, xFinal, xValue +** and xInverse) passed to sqlite3_create_window_function are pointers to +** C-language callbacks that implement the new function. xStep and xFinal +** must both be non-NULL. xValue and xInverse may either both be NULL, in +** which case a regular aggregate function is created, or must both be +** non-NULL, in which case the new function may be used as either an aggregate +** or aggregate window function. More details regarding the implementation +** of aggregate window functions are +** [user-defined window functions|available here]. +** +** ^(If the final parameter to sqlite3_create_function_v2() or +** sqlite3_create_window_function() is not NULL, then it is destructor for +** the application data pointer. The destructor is invoked when the function +** is deleted, either by being overloaded or when the database connection +** closes.)^ ^The destructor is also invoked if the call to +** sqlite3_create_function_v2() fails. ^When the destructor callback is +** invoked, it is passed a single argument which is a copy of the application +** data pointer which was the fifth parameter to sqlite3_create_function_v2(). +** +** ^It is permitted to register multiple implementations of the same +** functions with the same name but with either differing numbers of +** arguments or differing preferred text encodings. ^SQLite will use +** the implementation that most closely matches the way in which the +** SQL function is used. ^A function implementation with a non-negative +** nArg parameter is a better match than a function implementation with +** a negative nArg. ^A function where the preferred text encoding +** matches the database encoding is a better +** match than a function where the encoding is different. +** ^A function where the encoding difference is between UTF16le and UTF16be +** is a closer match than a function where the encoding difference is +** between UTF8 and UTF16. +** +** ^Built-in functions may be overloaded by new application-defined functions. +** +** ^An application-defined function is permitted to call other +** SQLite interfaces. However, such calls must not +** close the database connection nor finalize or reset the prepared +** statement in which the function is running. +*/ +SQLITE_API int sqlite3_create_function( + sqlite3 *db, + const char *zFunctionName, + int nArg, + int eTextRep, + void *pApp, + void (*xFunc)(sqlite3_context*,int,sqlite3_value**), + void (*xStep)(sqlite3_context*,int,sqlite3_value**), + void (*xFinal)(sqlite3_context*) +); +SQLITE_API int sqlite3_create_function16( + sqlite3 *db, + const void *zFunctionName, + int nArg, + int eTextRep, + void *pApp, + void (*xFunc)(sqlite3_context*,int,sqlite3_value**), + void (*xStep)(sqlite3_context*,int,sqlite3_value**), + void (*xFinal)(sqlite3_context*) +); +SQLITE_API int sqlite3_create_function_v2( + sqlite3 *db, + const char *zFunctionName, + int nArg, + int eTextRep, + void *pApp, + void (*xFunc)(sqlite3_context*,int,sqlite3_value**), + void (*xStep)(sqlite3_context*,int,sqlite3_value**), + void (*xFinal)(sqlite3_context*), + void(*xDestroy)(void*) +); +SQLITE_API int sqlite3_create_window_function( + sqlite3 *db, + const char *zFunctionName, + int nArg, + int eTextRep, + void *pApp, + void (*xStep)(sqlite3_context*,int,sqlite3_value**), + void (*xFinal)(sqlite3_context*), + void (*xValue)(sqlite3_context*), + void (*xInverse)(sqlite3_context*,int,sqlite3_value**), + void(*xDestroy)(void*) +); + +/* +** CAPI3REF: Text Encodings +** +** These constant define integer codes that represent the various +** text encodings supported by SQLite. +*/ +#define SQLITE_UTF8 1 /* IMP: R-37514-35566 */ +#define SQLITE_UTF16LE 2 /* IMP: R-03371-37637 */ +#define SQLITE_UTF16BE 3 /* IMP: R-51971-34154 */ +#define SQLITE_UTF16 4 /* Use native byte order */ +#define SQLITE_ANY 5 /* Deprecated */ +#define SQLITE_UTF16_ALIGNED 8 /* sqlite3_create_collation only */ + +/* +** CAPI3REF: Function Flags +** +** These constants may be ORed together with the +** [SQLITE_UTF8 | preferred text encoding] as the fourth argument +** to [sqlite3_create_function()], [sqlite3_create_function16()], or +** [sqlite3_create_function_v2()]. +** +**
    +** [[SQLITE_DETERMINISTIC]]
    SQLITE_DETERMINISTIC
    +** The SQLITE_DETERMINISTIC flag means that the new function always gives +** the same output when the input parameters are the same. +** The [abs|abs() function] is deterministic, for example, but +** [randomblob|randomblob()] is not. Functions must +** be deterministic in order to be used in certain contexts such as +** with the WHERE clause of [partial indexes] or in [generated columns]. +** SQLite might also optimize deterministic functions by factoring them +** out of inner loops. +**
    +** +** [[SQLITE_DIRECTONLY]]
    SQLITE_DIRECTONLY
    +** The SQLITE_DIRECTONLY flag means that the function may only be invoked +** from top-level SQL, and cannot be used in VIEWs or TRIGGERs nor in +** schema structures such as [CHECK constraints], [DEFAULT clauses], +** [expression indexes], [partial indexes], or [generated columns]. +** The SQLITE_DIRECTONLY flags is a security feature which is recommended +** for all [application-defined SQL functions], and especially for functions +** that have side-effects or that could potentially leak sensitive +** information. +**
    +** +** [[SQLITE_INNOCUOUS]]
    SQLITE_INNOCUOUS
    +** The SQLITE_INNOCUOUS flag means that the function is unlikely +** to cause problems even if misused. An innocuous function should have +** no side effects and should not depend on any values other than its +** input parameters. The [abs|abs() function] is an example of an +** innocuous function. +** The [load_extension() SQL function] is not innocuous because of its +** side effects. +**

    SQLITE_INNOCUOUS is similar to SQLITE_DETERMINISTIC, but is not +** exactly the same. The [random|random() function] is an example of a +** function that is innocuous but not deterministic. +**

    Some heightened security settings +** ([SQLITE_DBCONFIG_TRUSTED_SCHEMA] and [PRAGMA trusted_schema=OFF]) +** disable the use of SQL functions inside views and triggers and in +** schema structures such as [CHECK constraints], [DEFAULT clauses], +** [expression indexes], [partial indexes], and [generated columns] unless +** the function is tagged with SQLITE_INNOCUOUS. Most built-in functions +** are innocuous. Developers are advised to avoid using the +** SQLITE_INNOCUOUS flag for application-defined functions unless the +** function has been carefully audited and found to be free of potentially +** security-adverse side-effects and information-leaks. +**

    +** +** [[SQLITE_SUBTYPE]]
    SQLITE_SUBTYPE
    +** The SQLITE_SUBTYPE flag indicates to SQLite that a function may call +** [sqlite3_value_subtype()] to inspect the sub-types of its arguments. +** Specifying this flag makes no difference for scalar or aggregate user +** functions. However, if it is not specified for a user-defined window +** function, then any sub-types belonging to arguments passed to the window +** function may be discarded before the window function is called (i.e. +** sqlite3_value_subtype() will always return 0). +**
    +**
    +*/ +#define SQLITE_DETERMINISTIC 0x000000800 +#define SQLITE_DIRECTONLY 0x000080000 +#define SQLITE_SUBTYPE 0x000100000 +#define SQLITE_INNOCUOUS 0x000200000 + +/* +** CAPI3REF: Deprecated Functions +** DEPRECATED +** +** These functions are [deprecated]. In order to maintain +** backwards compatibility with older code, these functions continue +** to be supported. However, new applications should avoid +** the use of these functions. To encourage programmers to avoid +** these functions, we will not explain what they do. +*/ +#ifndef SQLITE_OMIT_DEPRECATED +SQLITE_API SQLITE_DEPRECATED int sqlite3_aggregate_count(sqlite3_context*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_expired(sqlite3_stmt*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_global_recover(void); +SQLITE_API SQLITE_DEPRECATED void sqlite3_thread_cleanup(void); +SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int), + void*,sqlite3_int64); +#endif + +/* +** CAPI3REF: Obtaining SQL Values +** METHOD: sqlite3_value +** +** Summary: +**
    +**
    sqlite3_value_blobBLOB value +**
    sqlite3_value_doubleREAL value +**
    sqlite3_value_int32-bit INTEGER value +**
    sqlite3_value_int6464-bit INTEGER value +**
    sqlite3_value_pointerPointer value +**
    sqlite3_value_textUTF-8 TEXT value +**
    sqlite3_value_text16UTF-16 TEXT value in +** the native byteorder +**
    sqlite3_value_text16beUTF-16be TEXT value +**
    sqlite3_value_text16leUTF-16le TEXT value +**
        +**
    sqlite3_value_bytesSize of a BLOB +** or a UTF-8 TEXT in bytes +**
    sqlite3_value_bytes16   +** →  Size of UTF-16 +** TEXT in bytes +**
    sqlite3_value_typeDefault +** datatype of the value +**
    sqlite3_value_numeric_type   +** →  Best numeric datatype of the value +**
    sqlite3_value_nochange   +** →  True if the column is unchanged in an UPDATE +** against a virtual table. +**
    sqlite3_value_frombind   +** →  True if value originated from a [bound parameter] +**
    +** +** Details: +** +** These routines extract type, size, and content information from +** [protected sqlite3_value] objects. Protected sqlite3_value objects +** are used to pass parameter information into the functions that +** implement [application-defined SQL functions] and [virtual tables]. +** +** These routines work only with [protected sqlite3_value] objects. +** Any attempt to use these routines on an [unprotected sqlite3_value] +** is not threadsafe. +** +** ^These routines work just like the corresponding [column access functions] +** except that these routines take a single [protected sqlite3_value] object +** pointer instead of a [sqlite3_stmt*] pointer and an integer column number. +** +** ^The sqlite3_value_text16() interface extracts a UTF-16 string +** in the native byte-order of the host machine. ^The +** sqlite3_value_text16be() and sqlite3_value_text16le() interfaces +** extract UTF-16 strings as big-endian and little-endian respectively. +** +** ^If [sqlite3_value] object V was initialized +** using [sqlite3_bind_pointer(S,I,P,X,D)] or [sqlite3_result_pointer(C,P,X,D)] +** and if X and Y are strings that compare equal according to strcmp(X,Y), +** then sqlite3_value_pointer(V,Y) will return the pointer P. ^Otherwise, +** sqlite3_value_pointer(V,Y) returns a NULL. The sqlite3_bind_pointer() +** routine is part of the [pointer passing interface] added for SQLite 3.20.0. +** +** ^(The sqlite3_value_type(V) interface returns the +** [SQLITE_INTEGER | datatype code] for the initial datatype of the +** [sqlite3_value] object V. The returned value is one of [SQLITE_INTEGER], +** [SQLITE_FLOAT], [SQLITE_TEXT], [SQLITE_BLOB], or [SQLITE_NULL].)^ +** Other interfaces might change the datatype for an sqlite3_value object. +** For example, if the datatype is initially SQLITE_INTEGER and +** sqlite3_value_text(V) is called to extract a text value for that +** integer, then subsequent calls to sqlite3_value_type(V) might return +** SQLITE_TEXT. Whether or not a persistent internal datatype conversion +** occurs is undefined and may change from one release of SQLite to the next. +** +** ^(The sqlite3_value_numeric_type() interface attempts to apply +** numeric affinity to the value. This means that an attempt is +** made to convert the value to an integer or floating point. If +** such a conversion is possible without loss of information (in other +** words, if the value is a string that looks like a number) +** then the conversion is performed. Otherwise no conversion occurs. +** The [SQLITE_INTEGER | datatype] after conversion is returned.)^ +** +** ^Within the [xUpdate] method of a [virtual table], the +** sqlite3_value_nochange(X) interface returns true if and only if +** the column corresponding to X is unchanged by the UPDATE operation +** that the xUpdate method call was invoked to implement and if +** and the prior [xColumn] method call that was invoked to extracted +** the value for that column returned without setting a result (probably +** because it queried [sqlite3_vtab_nochange()] and found that the column +** was unchanging). ^Within an [xUpdate] method, any value for which +** sqlite3_value_nochange(X) is true will in all other respects appear +** to be a NULL value. If sqlite3_value_nochange(X) is invoked anywhere other +** than within an [xUpdate] method call for an UPDATE statement, then +** the return value is arbitrary and meaningless. +** +** ^The sqlite3_value_frombind(X) interface returns non-zero if the +** value X originated from one of the [sqlite3_bind_int|sqlite3_bind()] +** interfaces. ^If X comes from an SQL literal value, or a table column, +** or an expression, then sqlite3_value_frombind(X) returns zero. +** +** Please pay particular attention to the fact that the pointer returned +** from [sqlite3_value_blob()], [sqlite3_value_text()], or +** [sqlite3_value_text16()] can be invalidated by a subsequent call to +** [sqlite3_value_bytes()], [sqlite3_value_bytes16()], [sqlite3_value_text()], +** or [sqlite3_value_text16()]. +** +** These routines must be called from the same thread as +** the SQL function that supplied the [sqlite3_value*] parameters. +** +** As long as the input parameter is correct, these routines can only +** fail if an out-of-memory error occurs during a format conversion. +** Only the following subset of interfaces are subject to out-of-memory +** errors: +** +**
      +**
    • sqlite3_value_blob() +**
    • sqlite3_value_text() +**
    • sqlite3_value_text16() +**
    • sqlite3_value_text16le() +**
    • sqlite3_value_text16be() +**
    • sqlite3_value_bytes() +**
    • sqlite3_value_bytes16() +**
    +** +** If an out-of-memory error occurs, then the return value from these +** routines is the same as if the column had contained an SQL NULL value. +** Valid SQL NULL returns can be distinguished from out-of-memory errors +** by invoking the [sqlite3_errcode()] immediately after the suspect +** return value is obtained and before any +** other SQLite interface is called on the same [database connection]. +*/ +SQLITE_API const void *sqlite3_value_blob(sqlite3_value*); +SQLITE_API double sqlite3_value_double(sqlite3_value*); +SQLITE_API int sqlite3_value_int(sqlite3_value*); +SQLITE_API sqlite3_int64 sqlite3_value_int64(sqlite3_value*); +SQLITE_API void *sqlite3_value_pointer(sqlite3_value*, const char*); +SQLITE_API const unsigned char *sqlite3_value_text(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16le(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16be(sqlite3_value*); +SQLITE_API int sqlite3_value_bytes(sqlite3_value*); +SQLITE_API int sqlite3_value_bytes16(sqlite3_value*); +SQLITE_API int sqlite3_value_type(sqlite3_value*); +SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); +SQLITE_API int sqlite3_value_nochange(sqlite3_value*); +SQLITE_API int sqlite3_value_frombind(sqlite3_value*); + +/* +** CAPI3REF: Finding The Subtype Of SQL Values +** METHOD: sqlite3_value +** +** The sqlite3_value_subtype(V) function returns the subtype for +** an [application-defined SQL function] argument V. The subtype +** information can be used to pass a limited amount of context from +** one SQL function to another. Use the [sqlite3_result_subtype()] +** routine to set the subtype for the return value of an SQL function. +*/ +SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*); + +/* +** CAPI3REF: Copy And Free SQL Values +** METHOD: sqlite3_value +** +** ^The sqlite3_value_dup(V) interface makes a copy of the [sqlite3_value] +** object D and returns a pointer to that copy. ^The [sqlite3_value] returned +** is a [protected sqlite3_value] object even if the input is not. +** ^The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a +** memory allocation fails. ^If V is a [pointer value], then the result +** of sqlite3_value_dup(V) is a NULL value. +** +** ^The sqlite3_value_free(V) interface frees an [sqlite3_value] object +** previously obtained from [sqlite3_value_dup()]. ^If V is a NULL pointer +** then sqlite3_value_free(V) is a harmless no-op. +*/ +SQLITE_API sqlite3_value *sqlite3_value_dup(const sqlite3_value*); +SQLITE_API void sqlite3_value_free(sqlite3_value*); + +/* +** CAPI3REF: Obtain Aggregate Function Context +** METHOD: sqlite3_context +** +** Implementations of aggregate SQL functions use this +** routine to allocate memory for storing their state. +** +** ^The first time the sqlite3_aggregate_context(C,N) routine is called +** for a particular aggregate function, SQLite allocates +** N bytes of memory, zeroes out that memory, and returns a pointer +** to the new memory. ^On second and subsequent calls to +** sqlite3_aggregate_context() for the same aggregate function instance, +** the same buffer is returned. Sqlite3_aggregate_context() is normally +** called once for each invocation of the xStep callback and then one +** last time when the xFinal callback is invoked. ^(When no rows match +** an aggregate query, the xStep() callback of the aggregate function +** implementation is never called and xFinal() is called exactly once. +** In those cases, sqlite3_aggregate_context() might be called for the +** first time from within xFinal().)^ +** +** ^The sqlite3_aggregate_context(C,N) routine returns a NULL pointer +** when first called if N is less than or equal to zero or if a memory +** allocate error occurs. +** +** ^(The amount of space allocated by sqlite3_aggregate_context(C,N) is +** determined by the N parameter on first successful call. Changing the +** value of N in any subsequent call to sqlite3_aggregate_context() within +** the same aggregate function instance will not resize the memory +** allocation.)^ Within the xFinal callback, it is customary to set +** N=0 in calls to sqlite3_aggregate_context(C,N) so that no +** pointless memory allocations occur. +** +** ^SQLite automatically frees the memory allocated by +** sqlite3_aggregate_context() when the aggregate query concludes. +** +** The first parameter must be a copy of the +** [sqlite3_context | SQL function context] that is the first parameter +** to the xStep or xFinal callback routine that implements the aggregate +** function. +** +** This routine must be called from the same thread in which +** the aggregate SQL function is running. +*/ +SQLITE_API void *sqlite3_aggregate_context(sqlite3_context*, int nBytes); + +/* +** CAPI3REF: User Data For Functions +** METHOD: sqlite3_context +** +** ^The sqlite3_user_data() interface returns a copy of +** the pointer that was the pUserData parameter (the 5th parameter) +** of the [sqlite3_create_function()] +** and [sqlite3_create_function16()] routines that originally +** registered the application defined function. +** +** This routine must be called from the same thread in which +** the application-defined function is running. +*/ +SQLITE_API void *sqlite3_user_data(sqlite3_context*); + +/* +** CAPI3REF: Database Connection For Functions +** METHOD: sqlite3_context +** +** ^The sqlite3_context_db_handle() interface returns a copy of +** the pointer to the [database connection] (the 1st parameter) +** of the [sqlite3_create_function()] +** and [sqlite3_create_function16()] routines that originally +** registered the application defined function. +*/ +SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*); + +/* +** CAPI3REF: Function Auxiliary Data +** METHOD: sqlite3_context +** +** These functions may be used by (non-aggregate) SQL functions to +** associate metadata with argument values. If the same value is passed to +** multiple invocations of the same SQL function during query execution, under +** some circumstances the associated metadata may be preserved. An example +** of where this might be useful is in a regular-expression matching +** function. The compiled version of the regular expression can be stored as +** metadata associated with the pattern string. +** Then as long as the pattern string remains the same, +** the compiled regular expression can be reused on multiple +** invocations of the same function. +** +** ^The sqlite3_get_auxdata(C,N) interface returns a pointer to the metadata +** associated by the sqlite3_set_auxdata(C,N,P,X) function with the Nth argument +** value to the application-defined function. ^N is zero for the left-most +** function argument. ^If there is no metadata +** associated with the function argument, the sqlite3_get_auxdata(C,N) interface +** returns a NULL pointer. +** +** ^The sqlite3_set_auxdata(C,N,P,X) interface saves P as metadata for the N-th +** argument of the application-defined function. ^Subsequent +** calls to sqlite3_get_auxdata(C,N) return P from the most recent +** sqlite3_set_auxdata(C,N,P,X) call if the metadata is still valid or +** NULL if the metadata has been discarded. +** ^After each call to sqlite3_set_auxdata(C,N,P,X) where X is not NULL, +** SQLite will invoke the destructor function X with parameter P exactly +** once, when the metadata is discarded. +** SQLite is free to discard the metadata at any time, including:
      +**
    • ^(when the corresponding function parameter changes)^, or +**
    • ^(when [sqlite3_reset()] or [sqlite3_finalize()] is called for the +** SQL statement)^, or +**
    • ^(when sqlite3_set_auxdata() is invoked again on the same +** parameter)^, or +**
    • ^(during the original sqlite3_set_auxdata() call when a memory +** allocation error occurs.)^
    +** +** Note the last bullet in particular. The destructor X in +** sqlite3_set_auxdata(C,N,P,X) might be called immediately, before the +** sqlite3_set_auxdata() interface even returns. Hence sqlite3_set_auxdata() +** should be called near the end of the function implementation and the +** function implementation should not make any use of P after +** sqlite3_set_auxdata() has been called. +** +** ^(In practice, metadata is preserved between function calls for +** function parameters that are compile-time constants, including literal +** values and [parameters] and expressions composed from the same.)^ +** +** The value of the N parameter to these interfaces should be non-negative. +** Future enhancements may make use of negative N values to define new +** kinds of function caching behavior. +** +** These routines must be called from the same thread in which +** the SQL function is running. +*/ +SQLITE_API void *sqlite3_get_auxdata(sqlite3_context*, int N); +SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(void*)); + + +/* +** CAPI3REF: Constants Defining Special Destructor Behavior +** +** These are special values for the destructor that is passed in as the +** final argument to routines like [sqlite3_result_blob()]. ^If the destructor +** argument is SQLITE_STATIC, it means that the content pointer is constant +** and will never change. It does not need to be destroyed. ^The +** SQLITE_TRANSIENT value means that the content will likely change in +** the near future and that SQLite should make its own private copy of +** the content before returning. +** +** The typedef is necessary to work around problems in certain +** C++ compilers. +*/ +typedef void (*sqlite3_destructor_type)(void*); +#define SQLITE_STATIC ((sqlite3_destructor_type)0) +#define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1) + +/* +** CAPI3REF: Setting The Result Of An SQL Function +** METHOD: sqlite3_context +** +** These routines are used by the xFunc or xFinal callbacks that +** implement SQL functions and aggregates. See +** [sqlite3_create_function()] and [sqlite3_create_function16()] +** for additional information. +** +** These functions work very much like the [parameter binding] family of +** functions used to bind values to host parameters in prepared statements. +** Refer to the [SQL parameter] documentation for additional information. +** +** ^The sqlite3_result_blob() interface sets the result from +** an application-defined function to be the BLOB whose content is pointed +** to by the second parameter and which is N bytes long where N is the +** third parameter. +** +** ^The sqlite3_result_zeroblob(C,N) and sqlite3_result_zeroblob64(C,N) +** interfaces set the result of the application-defined function to be +** a BLOB containing all zero bytes and N bytes in size. +** +** ^The sqlite3_result_double() interface sets the result from +** an application-defined function to be a floating point value specified +** by its 2nd argument. +** +** ^The sqlite3_result_error() and sqlite3_result_error16() functions +** cause the implemented SQL function to throw an exception. +** ^SQLite uses the string pointed to by the +** 2nd parameter of sqlite3_result_error() or sqlite3_result_error16() +** as the text of an error message. ^SQLite interprets the error +** message string from sqlite3_result_error() as UTF-8. ^SQLite +** interprets the string from sqlite3_result_error16() as UTF-16 using +** the same [byte-order determination rules] as [sqlite3_bind_text16()]. +** ^If the third parameter to sqlite3_result_error() +** or sqlite3_result_error16() is negative then SQLite takes as the error +** message all text up through the first zero character. +** ^If the third parameter to sqlite3_result_error() or +** sqlite3_result_error16() is non-negative then SQLite takes that many +** bytes (not characters) from the 2nd parameter as the error message. +** ^The sqlite3_result_error() and sqlite3_result_error16() +** routines make a private copy of the error message text before +** they return. Hence, the calling function can deallocate or +** modify the text after they return without harm. +** ^The sqlite3_result_error_code() function changes the error code +** returned by SQLite as a result of an error in a function. ^By default, +** the error code is SQLITE_ERROR. ^A subsequent call to sqlite3_result_error() +** or sqlite3_result_error16() resets the error code to SQLITE_ERROR. +** +** ^The sqlite3_result_error_toobig() interface causes SQLite to throw an +** error indicating that a string or BLOB is too long to represent. +** +** ^The sqlite3_result_error_nomem() interface causes SQLite to throw an +** error indicating that a memory allocation failed. +** +** ^The sqlite3_result_int() interface sets the return value +** of the application-defined function to be the 32-bit signed integer +** value given in the 2nd argument. +** ^The sqlite3_result_int64() interface sets the return value +** of the application-defined function to be the 64-bit signed integer +** value given in the 2nd argument. +** +** ^The sqlite3_result_null() interface sets the return value +** of the application-defined function to be NULL. +** +** ^The sqlite3_result_text(), sqlite3_result_text16(), +** sqlite3_result_text16le(), and sqlite3_result_text16be() interfaces +** set the return value of the application-defined function to be +** a text string which is represented as UTF-8, UTF-16 native byte order, +** UTF-16 little endian, or UTF-16 big endian, respectively. +** ^The sqlite3_result_text64() interface sets the return value of an +** application-defined function to be a text string in an encoding +** specified by the fifth (and last) parameter, which must be one +** of [SQLITE_UTF8], [SQLITE_UTF16], [SQLITE_UTF16BE], or [SQLITE_UTF16LE]. +** ^SQLite takes the text result from the application from +** the 2nd parameter of the sqlite3_result_text* interfaces. +** ^If the 3rd parameter to the sqlite3_result_text* interfaces +** is negative, then SQLite takes result text from the 2nd parameter +** through the first zero character. +** ^If the 3rd parameter to the sqlite3_result_text* interfaces +** is non-negative, then as many bytes (not characters) of the text +** pointed to by the 2nd parameter are taken as the application-defined +** function result. If the 3rd parameter is non-negative, then it +** must be the byte offset into the string where the NUL terminator would +** appear if the string where NUL terminated. If any NUL characters occur +** in the string at a byte offset that is less than the value of the 3rd +** parameter, then the resulting string will contain embedded NULs and the +** result of expressions operating on strings with embedded NULs is undefined. +** ^If the 4th parameter to the sqlite3_result_text* interfaces +** or sqlite3_result_blob is a non-NULL pointer, then SQLite calls that +** function as the destructor on the text or BLOB result when it has +** finished using that result. +** ^If the 4th parameter to the sqlite3_result_text* interfaces or to +** sqlite3_result_blob is the special constant SQLITE_STATIC, then SQLite +** assumes that the text or BLOB result is in constant space and does not +** copy the content of the parameter nor call a destructor on the content +** when it has finished using that result. +** ^If the 4th parameter to the sqlite3_result_text* interfaces +** or sqlite3_result_blob is the special constant SQLITE_TRANSIENT +** then SQLite makes a copy of the result into space obtained +** from [sqlite3_malloc()] before it returns. +** +** ^For the sqlite3_result_text16(), sqlite3_result_text16le(), and +** sqlite3_result_text16be() routines, and for sqlite3_result_text64() +** when the encoding is not UTF8, if the input UTF16 begins with a +** byte-order mark (BOM, U+FEFF) then the BOM is removed from the +** string and the rest of the string is interpreted according to the +** byte-order specified by the BOM. ^The byte-order specified by +** the BOM at the beginning of the text overrides the byte-order +** specified by the interface procedure. ^So, for example, if +** sqlite3_result_text16le() is invoked with text that begins +** with bytes 0xfe, 0xff (a big-endian byte-order mark) then the +** first two bytes of input are skipped and the remaining input +** is interpreted as UTF16BE text. +** +** ^For UTF16 input text to the sqlite3_result_text16(), +** sqlite3_result_text16be(), sqlite3_result_text16le(), and +** sqlite3_result_text64() routines, if the text contains invalid +** UTF16 characters, the invalid characters might be converted +** into the unicode replacement character, U+FFFD. +** +** ^The sqlite3_result_value() interface sets the result of +** the application-defined function to be a copy of the +** [unprotected sqlite3_value] object specified by the 2nd parameter. ^The +** sqlite3_result_value() interface makes a copy of the [sqlite3_value] +** so that the [sqlite3_value] specified in the parameter may change or +** be deallocated after sqlite3_result_value() returns without harm. +** ^A [protected sqlite3_value] object may always be used where an +** [unprotected sqlite3_value] object is required, so either +** kind of [sqlite3_value] object can be used with this interface. +** +** ^The sqlite3_result_pointer(C,P,T,D) interface sets the result to an +** SQL NULL value, just like [sqlite3_result_null(C)], except that it +** also associates the host-language pointer P or type T with that +** NULL value such that the pointer can be retrieved within an +** [application-defined SQL function] using [sqlite3_value_pointer()]. +** ^If the D parameter is not NULL, then it is a pointer to a destructor +** for the P parameter. ^SQLite invokes D with P as its only argument +** when SQLite is finished with P. The T parameter should be a static +** string and preferably a string literal. The sqlite3_result_pointer() +** routine is part of the [pointer passing interface] added for SQLite 3.20.0. +** +** If these routines are called from within the different thread +** than the one containing the application-defined function that received +** the [sqlite3_context] pointer, the results are undefined. +*/ +SQLITE_API void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_blob64(sqlite3_context*,const void*, + sqlite3_uint64,void(*)(void*)); +SQLITE_API void sqlite3_result_double(sqlite3_context*, double); +SQLITE_API void sqlite3_result_error(sqlite3_context*, const char*, int); +SQLITE_API void sqlite3_result_error16(sqlite3_context*, const void*, int); +SQLITE_API void sqlite3_result_error_toobig(sqlite3_context*); +SQLITE_API void sqlite3_result_error_nomem(sqlite3_context*); +SQLITE_API void sqlite3_result_error_code(sqlite3_context*, int); +SQLITE_API void sqlite3_result_int(sqlite3_context*, int); +SQLITE_API void sqlite3_result_int64(sqlite3_context*, sqlite3_int64); +SQLITE_API void sqlite3_result_null(sqlite3_context*); +SQLITE_API void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_text64(sqlite3_context*, const char*,sqlite3_uint64, + void(*)(void*), unsigned char encoding); +SQLITE_API void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*)); +SQLITE_API void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*)); +SQLITE_API void sqlite3_result_value(sqlite3_context*, sqlite3_value*); +SQLITE_API void sqlite3_result_pointer(sqlite3_context*, void*,const char*,void(*)(void*)); +SQLITE_API void sqlite3_result_zeroblob(sqlite3_context*, int n); +SQLITE_API int sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n); + + +/* +** CAPI3REF: Setting The Subtype Of An SQL Function +** METHOD: sqlite3_context +** +** The sqlite3_result_subtype(C,T) function causes the subtype of +** the result from the [application-defined SQL function] with +** [sqlite3_context] C to be the value T. Only the lower 8 bits +** of the subtype T are preserved in current versions of SQLite; +** higher order bits are discarded. +** The number of subtype bytes preserved by SQLite might increase +** in future releases of SQLite. +*/ +SQLITE_API void sqlite3_result_subtype(sqlite3_context*,unsigned int); + +/* +** CAPI3REF: Define New Collating Sequences +** METHOD: sqlite3 +** +** ^These functions add, remove, or modify a [collation] associated +** with the [database connection] specified as the first argument. +** +** ^The name of the collation is a UTF-8 string +** for sqlite3_create_collation() and sqlite3_create_collation_v2() +** and a UTF-16 string in native byte order for sqlite3_create_collation16(). +** ^Collation names that compare equal according to [sqlite3_strnicmp()] are +** considered to be the same name. +** +** ^(The third argument (eTextRep) must be one of the constants: +**
      +**
    • [SQLITE_UTF8], +**
    • [SQLITE_UTF16LE], +**
    • [SQLITE_UTF16BE], +**
    • [SQLITE_UTF16], or +**
    • [SQLITE_UTF16_ALIGNED]. +**
    )^ +** ^The eTextRep argument determines the encoding of strings passed +** to the collating function callback, xCompare. +** ^The [SQLITE_UTF16] and [SQLITE_UTF16_ALIGNED] values for eTextRep +** force strings to be UTF16 with native byte order. +** ^The [SQLITE_UTF16_ALIGNED] value for eTextRep forces strings to begin +** on an even byte address. +** +** ^The fourth argument, pArg, is an application data pointer that is passed +** through as the first argument to the collating function callback. +** +** ^The fifth argument, xCompare, is a pointer to the collating function. +** ^Multiple collating functions can be registered using the same name but +** with different eTextRep parameters and SQLite will use whichever +** function requires the least amount of data transformation. +** ^If the xCompare argument is NULL then the collating function is +** deleted. ^When all collating functions having the same name are deleted, +** that collation is no longer usable. +** +** ^The collating function callback is invoked with a copy of the pArg +** application data pointer and with two strings in the encoding specified +** by the eTextRep argument. The two integer parameters to the collating +** function callback are the length of the two strings, in bytes. The collating +** function must return an integer that is negative, zero, or positive +** if the first string is less than, equal to, or greater than the second, +** respectively. A collating function must always return the same answer +** given the same inputs. If two or more collating functions are registered +** to the same collation name (using different eTextRep values) then all +** must give an equivalent answer when invoked with equivalent strings. +** The collating function must obey the following properties for all +** strings A, B, and C: +** +**
      +**
    1. If A==B then B==A. +**
    2. If A==B and B==C then A==C. +**
    3. If A<B THEN B>A. +**
    4. If A<B and B<C then A<C. +**
    +** +** If a collating function fails any of the above constraints and that +** collating function is registered and used, then the behavior of SQLite +** is undefined. +** +** ^The sqlite3_create_collation_v2() works like sqlite3_create_collation() +** with the addition that the xDestroy callback is invoked on pArg when +** the collating function is deleted. +** ^Collating functions are deleted when they are overridden by later +** calls to the collation creation functions or when the +** [database connection] is closed using [sqlite3_close()]. +** +** ^The xDestroy callback is not called if the +** sqlite3_create_collation_v2() function fails. Applications that invoke +** sqlite3_create_collation_v2() with a non-NULL xDestroy argument should +** check the return code and dispose of the application data pointer +** themselves rather than expecting SQLite to deal with it for them. +** This is different from every other SQLite interface. The inconsistency +** is unfortunate but cannot be changed without breaking backwards +** compatibility. +** +** See also: [sqlite3_collation_needed()] and [sqlite3_collation_needed16()]. +*/ +SQLITE_API int sqlite3_create_collation( + sqlite3*, + const char *zName, + int eTextRep, + void *pArg, + int(*xCompare)(void*,int,const void*,int,const void*) +); +SQLITE_API int sqlite3_create_collation_v2( + sqlite3*, + const char *zName, + int eTextRep, + void *pArg, + int(*xCompare)(void*,int,const void*,int,const void*), + void(*xDestroy)(void*) +); +SQLITE_API int sqlite3_create_collation16( + sqlite3*, + const void *zName, + int eTextRep, + void *pArg, + int(*xCompare)(void*,int,const void*,int,const void*) +); + +/* +** CAPI3REF: Collation Needed Callbacks +** METHOD: sqlite3 +** +** ^To avoid having to register all collation sequences before a database +** can be used, a single callback function may be registered with the +** [database connection] to be invoked whenever an undefined collation +** sequence is required. +** +** ^If the function is registered using the sqlite3_collation_needed() API, +** then it is passed the names of undefined collation sequences as strings +** encoded in UTF-8. ^If sqlite3_collation_needed16() is used, +** the names are passed as UTF-16 in machine native byte order. +** ^A call to either function replaces the existing collation-needed callback. +** +** ^(When the callback is invoked, the first argument passed is a copy +** of the second argument to sqlite3_collation_needed() or +** sqlite3_collation_needed16(). The second argument is the database +** connection. The third argument is one of [SQLITE_UTF8], [SQLITE_UTF16BE], +** or [SQLITE_UTF16LE], indicating the most desirable form of the collation +** sequence function required. The fourth parameter is the name of the +** required collation sequence.)^ +** +** The callback function should register the desired collation using +** [sqlite3_create_collation()], [sqlite3_create_collation16()], or +** [sqlite3_create_collation_v2()]. +*/ +SQLITE_API int sqlite3_collation_needed( + sqlite3*, + void*, + void(*)(void*,sqlite3*,int eTextRep,const char*) +); +SQLITE_API int sqlite3_collation_needed16( + sqlite3*, + void*, + void(*)(void*,sqlite3*,int eTextRep,const void*) +); + +#ifdef SQLITE_ENABLE_CEROD +/* +** Specify the activation key for a CEROD database. Unless +** activated, none of the CEROD routines will work. +*/ +SQLITE_API void sqlite3_activate_cerod( + const char *zPassPhrase /* Activation phrase */ +); +#endif + +/* +** CAPI3REF: Suspend Execution For A Short Time +** +** The sqlite3_sleep() function causes the current thread to suspend execution +** for at least a number of milliseconds specified in its parameter. +** +** If the operating system does not support sleep requests with +** millisecond time resolution, then the time will be rounded up to +** the nearest second. The number of milliseconds of sleep actually +** requested from the operating system is returned. +** +** ^SQLite implements this interface by calling the xSleep() +** method of the default [sqlite3_vfs] object. If the xSleep() method +** of the default VFS is not implemented correctly, or not implemented at +** all, then the behavior of sqlite3_sleep() may deviate from the description +** in the previous paragraphs. +*/ +SQLITE_API int sqlite3_sleep(int); + +/* +** CAPI3REF: Name Of The Folder Holding Temporary Files +** +** ^(If this global variable is made to point to a string which is +** the name of a folder (a.k.a. directory), then all temporary files +** created by SQLite when using a built-in [sqlite3_vfs | VFS] +** will be placed in that directory.)^ ^If this variable +** is a NULL pointer, then SQLite performs a search for an appropriate +** temporary file directory. +** +** Applications are strongly discouraged from using this global variable. +** It is required to set a temporary folder on Windows Runtime (WinRT). +** But for all other platforms, it is highly recommended that applications +** neither read nor write this variable. This global variable is a relic +** that exists for backwards compatibility of legacy applications and should +** be avoided in new projects. +** +** It is not safe to read or modify this variable in more than one +** thread at a time. It is not safe to read or modify this variable +** if a [database connection] is being used at the same time in a separate +** thread. +** It is intended that this variable be set once +** as part of process initialization and before any SQLite interface +** routines have been called and that this variable remain unchanged +** thereafter. +** +** ^The [temp_store_directory pragma] may modify this variable and cause +** it to point to memory obtained from [sqlite3_malloc]. ^Furthermore, +** the [temp_store_directory pragma] always assumes that any string +** that this variable points to is held in memory obtained from +** [sqlite3_malloc] and the pragma may attempt to free that memory +** using [sqlite3_free]. +** Hence, if this variable is modified directly, either it should be +** made NULL or made to point to memory obtained from [sqlite3_malloc] +** or else the use of the [temp_store_directory pragma] should be avoided. +** Except when requested by the [temp_store_directory pragma], SQLite +** does not free the memory that sqlite3_temp_directory points to. If +** the application wants that memory to be freed, it must do +** so itself, taking care to only do so after all [database connection] +** objects have been destroyed. +** +** Note to Windows Runtime users: The temporary directory must be set +** prior to calling [sqlite3_open] or [sqlite3_open_v2]. Otherwise, various +** features that require the use of temporary files may fail. Here is an +** example of how to do this using C++ with the Windows Runtime: +** +**
    +** LPCWSTR zPath = Windows::Storage::ApplicationData::Current->
    +**       TemporaryFolder->Path->Data();
    +** char zPathBuf[MAX_PATH + 1];
    +** memset(zPathBuf, 0, sizeof(zPathBuf));
    +** WideCharToMultiByte(CP_UTF8, 0, zPath, -1, zPathBuf, sizeof(zPathBuf),
    +**       NULL, NULL);
    +** sqlite3_temp_directory = sqlite3_mprintf("%s", zPathBuf);
    +** 
    +*/ +SQLITE_API SQLITE_EXTERN char *sqlite3_temp_directory; + +/* +** CAPI3REF: Name Of The Folder Holding Database Files +** +** ^(If this global variable is made to point to a string which is +** the name of a folder (a.k.a. directory), then all database files +** specified with a relative pathname and created or accessed by +** SQLite when using a built-in windows [sqlite3_vfs | VFS] will be assumed +** to be relative to that directory.)^ ^If this variable is a NULL +** pointer, then SQLite assumes that all database files specified +** with a relative pathname are relative to the current directory +** for the process. Only the windows VFS makes use of this global +** variable; it is ignored by the unix VFS. +** +** Changing the value of this variable while a database connection is +** open can result in a corrupt database. +** +** It is not safe to read or modify this variable in more than one +** thread at a time. It is not safe to read or modify this variable +** if a [database connection] is being used at the same time in a separate +** thread. +** It is intended that this variable be set once +** as part of process initialization and before any SQLite interface +** routines have been called and that this variable remain unchanged +** thereafter. +** +** ^The [data_store_directory pragma] may modify this variable and cause +** it to point to memory obtained from [sqlite3_malloc]. ^Furthermore, +** the [data_store_directory pragma] always assumes that any string +** that this variable points to is held in memory obtained from +** [sqlite3_malloc] and the pragma may attempt to free that memory +** using [sqlite3_free]. +** Hence, if this variable is modified directly, either it should be +** made NULL or made to point to memory obtained from [sqlite3_malloc] +** or else the use of the [data_store_directory pragma] should be avoided. +*/ +SQLITE_API SQLITE_EXTERN char *sqlite3_data_directory; + +/* +** CAPI3REF: Win32 Specific Interface +** +** These interfaces are available only on Windows. The +** [sqlite3_win32_set_directory] interface is used to set the value associated +** with the [sqlite3_temp_directory] or [sqlite3_data_directory] variable, to +** zValue, depending on the value of the type parameter. The zValue parameter +** should be NULL to cause the previous value to be freed via [sqlite3_free]; +** a non-NULL value will be copied into memory obtained from [sqlite3_malloc] +** prior to being used. The [sqlite3_win32_set_directory] interface returns +** [SQLITE_OK] to indicate success, [SQLITE_ERROR] if the type is unsupported, +** or [SQLITE_NOMEM] if memory could not be allocated. The value of the +** [sqlite3_data_directory] variable is intended to act as a replacement for +** the current directory on the sub-platforms of Win32 where that concept is +** not present, e.g. WinRT and UWP. The [sqlite3_win32_set_directory8] and +** [sqlite3_win32_set_directory16] interfaces behave exactly the same as the +** sqlite3_win32_set_directory interface except the string parameter must be +** UTF-8 or UTF-16, respectively. +*/ +SQLITE_API int sqlite3_win32_set_directory( + unsigned long type, /* Identifier for directory being set or reset */ + void *zValue /* New value for directory being set or reset */ +); +SQLITE_API int sqlite3_win32_set_directory8(unsigned long type, const char *zValue); +SQLITE_API int sqlite3_win32_set_directory16(unsigned long type, const void *zValue); + +/* +** CAPI3REF: Win32 Directory Types +** +** These macros are only available on Windows. They define the allowed values +** for the type argument to the [sqlite3_win32_set_directory] interface. +*/ +#define SQLITE_WIN32_DATA_DIRECTORY_TYPE 1 +#define SQLITE_WIN32_TEMP_DIRECTORY_TYPE 2 + +/* +** CAPI3REF: Test For Auto-Commit Mode +** KEYWORDS: {autocommit mode} +** METHOD: sqlite3 +** +** ^The sqlite3_get_autocommit() interface returns non-zero or +** zero if the given database connection is or is not in autocommit mode, +** respectively. ^Autocommit mode is on by default. +** ^Autocommit mode is disabled by a [BEGIN] statement. +** ^Autocommit mode is re-enabled by a [COMMIT] or [ROLLBACK]. +** +** If certain kinds of errors occur on a statement within a multi-statement +** transaction (errors including [SQLITE_FULL], [SQLITE_IOERR], +** [SQLITE_NOMEM], [SQLITE_BUSY], and [SQLITE_INTERRUPT]) then the +** transaction might be rolled back automatically. The only way to +** find out whether SQLite automatically rolled back the transaction after +** an error is to use this function. +** +** If another thread changes the autocommit status of the database +** connection while this routine is running, then the return value +** is undefined. +*/ +SQLITE_API int sqlite3_get_autocommit(sqlite3*); + +/* +** CAPI3REF: Find The Database Handle Of A Prepared Statement +** METHOD: sqlite3_stmt +** +** ^The sqlite3_db_handle interface returns the [database connection] handle +** to which a [prepared statement] belongs. ^The [database connection] +** returned by sqlite3_db_handle is the same [database connection] +** that was the first argument +** to the [sqlite3_prepare_v2()] call (or its variants) that was used to +** create the statement in the first place. +*/ +SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*); + +/* +** CAPI3REF: Return The Schema Name For A Database Connection +** METHOD: sqlite3 +** +** ^The sqlite3_db_name(D,N) interface returns a pointer to the schema name +** for the N-th database on database connection D, or a NULL pointer of N is +** out of range. An N value of 0 means the main database file. An N of 1 is +** the "temp" schema. Larger values of N correspond to various ATTACH-ed +** databases. +** +** Space to hold the string that is returned by sqlite3_db_name() is managed +** by SQLite itself. The string might be deallocated by any operation that +** changes the schema, including [ATTACH] or [DETACH] or calls to +** [sqlite3_serialize()] or [sqlite3_deserialize()], even operations that +** occur on a different thread. Applications that need to +** remember the string long-term should make their own copy. Applications that +** are accessing the same database connection simultaneously on multiple +** threads should mutex-protect calls to this API and should make their own +** private copy of the result prior to releasing the mutex. +*/ +SQLITE_API const char *sqlite3_db_name(sqlite3 *db, int N); + +/* +** CAPI3REF: Return The Filename For A Database Connection +** METHOD: sqlite3 +** +** ^The sqlite3_db_filename(D,N) interface returns a pointer to the filename +** associated with database N of connection D. +** ^If there is no attached database N on the database +** connection D, or if database N is a temporary or in-memory database, then +** this function will return either a NULL pointer or an empty string. +** +** ^The string value returned by this routine is owned and managed by +** the database connection. ^The value will be valid until the database N +** is [DETACH]-ed or until the database connection closes. +** +** ^The filename returned by this function is the output of the +** xFullPathname method of the [VFS]. ^In other words, the filename +** will be an absolute pathname, even if the filename used +** to open the database originally was a URI or relative pathname. +** +** If the filename pointer returned by this routine is not NULL, then it +** can be used as the filename input parameter to these routines: +**
      +**
    • [sqlite3_uri_parameter()] +**
    • [sqlite3_uri_boolean()] +**
    • [sqlite3_uri_int64()] +**
    • [sqlite3_filename_database()] +**
    • [sqlite3_filename_journal()] +**
    • [sqlite3_filename_wal()] +**
    +*/ +SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName); + +/* +** CAPI3REF: Determine if a database is read-only +** METHOD: sqlite3 +** +** ^The sqlite3_db_readonly(D,N) interface returns 1 if the database N +** of connection D is read-only, 0 if it is read/write, or -1 if N is not +** the name of a database on connection D. +*/ +SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName); + +/* +** CAPI3REF: Determine the transaction state of a database +** METHOD: sqlite3 +** +** ^The sqlite3_txn_state(D,S) interface returns the current +** [transaction state] of schema S in database connection D. ^If S is NULL, +** then the highest transaction state of any schema on database connection D +** is returned. Transaction states are (in order of lowest to highest): +**
      +**
    1. SQLITE_TXN_NONE +**
    2. SQLITE_TXN_READ +**
    3. SQLITE_TXN_WRITE +**
    +** ^If the S argument to sqlite3_txn_state(D,S) is not the name of +** a valid schema, then -1 is returned. +*/ +SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema); + +/* +** CAPI3REF: Allowed return values from [sqlite3_txn_state()] +** KEYWORDS: {transaction state} +** +** These constants define the current transaction state of a database file. +** ^The [sqlite3_txn_state(D,S)] interface returns one of these +** constants in order to describe the transaction state of schema S +** in [database connection] D. +** +**
    +** [[SQLITE_TXN_NONE]]
    SQLITE_TXN_NONE
    +**
    The SQLITE_TXN_NONE state means that no transaction is currently +** pending.
    +** +** [[SQLITE_TXN_READ]]
    SQLITE_TXN_READ
    +**
    The SQLITE_TXN_READ state means that the database is currently +** in a read transaction. Content has been read from the database file +** but nothing in the database file has changed. The transaction state +** will advanced to SQLITE_TXN_WRITE if any changes occur and there are +** no other conflicting concurrent write transactions. The transaction +** state will revert to SQLITE_TXN_NONE following a [ROLLBACK] or +** [COMMIT].
    +** +** [[SQLITE_TXN_WRITE]]
    SQLITE_TXN_WRITE
    +**
    The SQLITE_TXN_WRITE state means that the database is currently +** in a write transaction. Content has been written to the database file +** but has not yet committed. The transaction state will change to +** to SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].
    +*/ +#define SQLITE_TXN_NONE 0 +#define SQLITE_TXN_READ 1 +#define SQLITE_TXN_WRITE 2 + +/* +** CAPI3REF: Find the next prepared statement +** METHOD: sqlite3 +** +** ^This interface returns a pointer to the next [prepared statement] after +** pStmt associated with the [database connection] pDb. ^If pStmt is NULL +** then this interface returns a pointer to the first prepared statement +** associated with the database connection pDb. ^If no prepared statement +** satisfies the conditions of this routine, it returns NULL. +** +** The [database connection] pointer D in a call to +** [sqlite3_next_stmt(D,S)] must refer to an open database +** connection and in particular must not be a NULL pointer. +*/ +SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Commit And Rollback Notification Callbacks +** METHOD: sqlite3 +** +** ^The sqlite3_commit_hook() interface registers a callback +** function to be invoked whenever a transaction is [COMMIT | committed]. +** ^Any callback set by a previous call to sqlite3_commit_hook() +** for the same database connection is overridden. +** ^The sqlite3_rollback_hook() interface registers a callback +** function to be invoked whenever a transaction is [ROLLBACK | rolled back]. +** ^Any callback set by a previous call to sqlite3_rollback_hook() +** for the same database connection is overridden. +** ^The pArg argument is passed through to the callback. +** ^If the callback on a commit hook function returns non-zero, +** then the commit is converted into a rollback. +** +** ^The sqlite3_commit_hook(D,C,P) and sqlite3_rollback_hook(D,C,P) functions +** return the P argument from the previous call of the same function +** on the same [database connection] D, or NULL for +** the first call for each function on D. +** +** The commit and rollback hook callbacks are not reentrant. +** The callback implementation must not do anything that will modify +** the database connection that invoked the callback. Any actions +** to modify the database connection must be deferred until after the +** completion of the [sqlite3_step()] call that triggered the commit +** or rollback hook in the first place. +** Note that running any other SQL statements, including SELECT statements, +** or merely calling [sqlite3_prepare_v2()] and [sqlite3_step()] will modify +** the database connections for the meaning of "modify" in this paragraph. +** +** ^Registering a NULL function disables the callback. +** +** ^When the commit hook callback routine returns zero, the [COMMIT] +** operation is allowed to continue normally. ^If the commit hook +** returns non-zero, then the [COMMIT] is converted into a [ROLLBACK]. +** ^The rollback hook is invoked on a rollback that results from a commit +** hook returning non-zero, just as it would be with any other rollback. +** +** ^For the purposes of this API, a transaction is said to have been +** rolled back if an explicit "ROLLBACK" statement is executed, or +** an error or constraint causes an implicit rollback to occur. +** ^The rollback callback is not invoked if a transaction is +** automatically rolled back because the database connection is closed. +** +** See also the [sqlite3_update_hook()] interface. +*/ +SQLITE_API void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*); +SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); + +/* +** CAPI3REF: Autovacuum Compaction Amount Callback +** METHOD: sqlite3 +** +** ^The sqlite3_autovacuum_pages(D,C,P,X) interface registers a callback +** function C that is invoked prior to each autovacuum of the database +** file. ^The callback is passed a copy of the generic data pointer (P), +** the schema-name of the attached database that is being autovacuumed, +** the the size of the database file in pages, the number of free pages, +** and the number of bytes per page, respectively. The callback should +** return the number of free pages that should be removed by the +** autovacuum. ^If the callback returns zero, then no autovacuum happens. +** ^If the value returned is greater than or equal to the number of +** free pages, then a complete autovacuum happens. +** +**

    ^If there are multiple ATTACH-ed database files that are being +** modified as part of a transaction commit, then the autovacuum pages +** callback is invoked separately for each file. +** +**

    The callback is not reentrant. The callback function should +** not attempt to invoke any other SQLite interface. If it does, bad +** things may happen, including segmentation faults and corrupt database +** files. The callback function should be a simple function that +** does some arithmetic on its input parameters and returns a result. +** +** ^The X parameter to sqlite3_autovacuum_pages(D,C,P,X) is an optional +** destructor for the P parameter. ^If X is not NULL, then X(P) is +** invoked whenever the database connection closes or when the callback +** is overwritten by another invocation of sqlite3_autovacuum_pages(). +** +**

    ^There is only one autovacuum pages callback per database connection. +** ^Each call to the sqlite3_autovacuum_pages() interface overrides all +** previous invocations for that database connection. ^If the callback +** argument (C) to sqlite3_autovacuum_pages(D,C,P,X) is a NULL pointer, +** then the autovacuum steps callback is cancelled. The return value +** from sqlite3_autovacuum_pages() is normally SQLITE_OK, but might +** be some other error code if something goes wrong. The current +** implementation will only return SQLITE_OK or SQLITE_MISUSE, but other +** return codes might be added in future releases. +** +**

    If no autovacuum pages callback is specified (the usual case) or +** a NULL pointer is provided for the callback, +** then the default behavior is to vacuum all free pages. So, in other +** words, the default behavior is the same as if the callback function +** were something like this: +** +**

    +**     unsigned int demonstration_autovac_pages_callback(
    +**       void *pClientData,
    +**       const char *zSchema,
    +**       unsigned int nDbPage,
    +**       unsigned int nFreePage,
    +**       unsigned int nBytePerPage
    +**     ){
    +**       return nFreePage;
    +**     }
    +** 
    +*/ +SQLITE_API int sqlite3_autovacuum_pages( + sqlite3 *db, + unsigned int(*)(void*,const char*,unsigned int,unsigned int,unsigned int), + void*, + void(*)(void*) +); + + +/* +** CAPI3REF: Data Change Notification Callbacks +** METHOD: sqlite3 +** +** ^The sqlite3_update_hook() interface registers a callback function +** with the [database connection] identified by the first argument +** to be invoked whenever a row is updated, inserted or deleted in +** a [rowid table]. +** ^Any callback set by a previous call to this function +** for the same database connection is overridden. +** +** ^The second argument is a pointer to the function to invoke when a +** row is updated, inserted or deleted in a rowid table. +** ^The first argument to the callback is a copy of the third argument +** to sqlite3_update_hook(). +** ^The second callback argument is one of [SQLITE_INSERT], [SQLITE_DELETE], +** or [SQLITE_UPDATE], depending on the operation that caused the callback +** to be invoked. +** ^The third and fourth arguments to the callback contain pointers to the +** database and table name containing the affected row. +** ^The final callback parameter is the [rowid] of the row. +** ^In the case of an update, this is the [rowid] after the update takes place. +** +** ^(The update hook is not invoked when internal system tables are +** modified (i.e. sqlite_sequence).)^ +** ^The update hook is not invoked when [WITHOUT ROWID] tables are modified. +** +** ^In the current implementation, the update hook +** is not invoked when conflicting rows are deleted because of an +** [ON CONFLICT | ON CONFLICT REPLACE] clause. ^Nor is the update hook +** invoked when rows are deleted using the [truncate optimization]. +** The exceptions defined in this paragraph might change in a future +** release of SQLite. +** +** The update hook implementation must not do anything that will modify +** the database connection that invoked the update hook. Any actions +** to modify the database connection must be deferred until after the +** completion of the [sqlite3_step()] call that triggered the update hook. +** Note that [sqlite3_prepare_v2()] and [sqlite3_step()] both modify their +** database connections for the meaning of "modify" in this paragraph. +** +** ^The sqlite3_update_hook(D,C,P) function +** returns the P argument from the previous call +** on the same [database connection] D, or NULL for +** the first call on D. +** +** See also the [sqlite3_commit_hook()], [sqlite3_rollback_hook()], +** and [sqlite3_preupdate_hook()] interfaces. +*/ +SQLITE_API void *sqlite3_update_hook( + sqlite3*, + void(*)(void *,int ,char const *,char const *,sqlite3_int64), + void* +); + +/* +** CAPI3REF: Enable Or Disable Shared Pager Cache +** +** ^(This routine enables or disables the sharing of the database cache +** and schema data structures between [database connection | connections] +** to the same database. Sharing is enabled if the argument is true +** and disabled if the argument is false.)^ +** +** ^Cache sharing is enabled and disabled for an entire process. +** This is a change as of SQLite [version 3.5.0] ([dateof:3.5.0]). +** In prior versions of SQLite, +** sharing was enabled or disabled for each thread separately. +** +** ^(The cache sharing mode set by this interface effects all subsequent +** calls to [sqlite3_open()], [sqlite3_open_v2()], and [sqlite3_open16()]. +** Existing database connections continue to use the sharing mode +** that was in effect at the time they were opened.)^ +** +** ^(This routine returns [SQLITE_OK] if shared cache was enabled or disabled +** successfully. An [error code] is returned otherwise.)^ +** +** ^Shared cache is disabled by default. It is recommended that it stay +** that way. In other words, do not use this routine. This interface +** continues to be provided for historical compatibility, but its use is +** discouraged. Any use of shared cache is discouraged. If shared cache +** must be used, it is recommended that shared cache only be enabled for +** individual database connections using the [sqlite3_open_v2()] interface +** with the [SQLITE_OPEN_SHAREDCACHE] flag. +** +** Note: This method is disabled on MacOS X 10.7 and iOS version 5.0 +** and will always return SQLITE_MISUSE. On those systems, +** shared cache mode should be enabled per-database connection via +** [sqlite3_open_v2()] with [SQLITE_OPEN_SHAREDCACHE]. +** +** This interface is threadsafe on processors where writing a +** 32-bit integer is atomic. +** +** See Also: [SQLite Shared-Cache Mode] +*/ +SQLITE_API int sqlite3_enable_shared_cache(int); + +/* +** CAPI3REF: Attempt To Free Heap Memory +** +** ^The sqlite3_release_memory() interface attempts to free N bytes +** of heap memory by deallocating non-essential memory allocations +** held by the database library. Memory used to cache database +** pages to improve performance is an example of non-essential memory. +** ^sqlite3_release_memory() returns the number of bytes actually freed, +** which might be more or less than the amount requested. +** ^The sqlite3_release_memory() routine is a no-op returning zero +** if SQLite is not compiled with [SQLITE_ENABLE_MEMORY_MANAGEMENT]. +** +** See also: [sqlite3_db_release_memory()] +*/ +SQLITE_API int sqlite3_release_memory(int); + +/* +** CAPI3REF: Free Memory Used By A Database Connection +** METHOD: sqlite3 +** +** ^The sqlite3_db_release_memory(D) interface attempts to free as much heap +** memory as possible from database connection D. Unlike the +** [sqlite3_release_memory()] interface, this interface is in effect even +** when the [SQLITE_ENABLE_MEMORY_MANAGEMENT] compile-time option is +** omitted. +** +** See also: [sqlite3_release_memory()] +*/ +SQLITE_API int sqlite3_db_release_memory(sqlite3*); + +/* +** CAPI3REF: Impose A Limit On Heap Size +** +** These interfaces impose limits on the amount of heap memory that will be +** by all database connections within a single process. +** +** ^The sqlite3_soft_heap_limit64() interface sets and/or queries the +** soft limit on the amount of heap memory that may be allocated by SQLite. +** ^SQLite strives to keep heap memory utilization below the soft heap +** limit by reducing the number of pages held in the page cache +** as heap memory usages approaches the limit. +** ^The soft heap limit is "soft" because even though SQLite strives to stay +** below the limit, it will exceed the limit rather than generate +** an [SQLITE_NOMEM] error. In other words, the soft heap limit +** is advisory only. +** +** ^The sqlite3_hard_heap_limit64(N) interface sets a hard upper bound of +** N bytes on the amount of memory that will be allocated. ^The +** sqlite3_hard_heap_limit64(N) interface is similar to +** sqlite3_soft_heap_limit64(N) except that memory allocations will fail +** when the hard heap limit is reached. +** +** ^The return value from both sqlite3_soft_heap_limit64() and +** sqlite3_hard_heap_limit64() is the size of +** the heap limit prior to the call, or negative in the case of an +** error. ^If the argument N is negative +** then no change is made to the heap limit. Hence, the current +** size of heap limits can be determined by invoking +** sqlite3_soft_heap_limit64(-1) or sqlite3_hard_heap_limit(-1). +** +** ^Setting the heap limits to zero disables the heap limiter mechanism. +** +** ^The soft heap limit may not be greater than the hard heap limit. +** ^If the hard heap limit is enabled and if sqlite3_soft_heap_limit(N) +** is invoked with a value of N that is greater than the hard heap limit, +** the the soft heap limit is set to the value of the hard heap limit. +** ^The soft heap limit is automatically enabled whenever the hard heap +** limit is enabled. ^When sqlite3_hard_heap_limit64(N) is invoked and +** the soft heap limit is outside the range of 1..N, then the soft heap +** limit is set to N. ^Invoking sqlite3_soft_heap_limit64(0) when the +** hard heap limit is enabled makes the soft heap limit equal to the +** hard heap limit. +** +** The memory allocation limits can also be adjusted using +** [PRAGMA soft_heap_limit] and [PRAGMA hard_heap_limit]. +** +** ^(The heap limits are not enforced in the current implementation +** if one or more of following conditions are true: +** +**
      +**
    • The limit value is set to zero. +**
    • Memory accounting is disabled using a combination of the +** [sqlite3_config]([SQLITE_CONFIG_MEMSTATUS],...) start-time option and +** the [SQLITE_DEFAULT_MEMSTATUS] compile-time option. +**
    • An alternative page cache implementation is specified using +** [sqlite3_config]([SQLITE_CONFIG_PCACHE2],...). +**
    • The page cache allocates from its own memory pool supplied +** by [sqlite3_config]([SQLITE_CONFIG_PAGECACHE],...) rather than +** from the heap. +**
    )^ +** +** The circumstances under which SQLite will enforce the heap limits may +** changes in future releases of SQLite. +*/ +SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N); +SQLITE_API sqlite3_int64 sqlite3_hard_heap_limit64(sqlite3_int64 N); + +/* +** CAPI3REF: Deprecated Soft Heap Limit Interface +** DEPRECATED +** +** This is a deprecated version of the [sqlite3_soft_heap_limit64()] +** interface. This routine is provided for historical compatibility +** only. All new applications should use the +** [sqlite3_soft_heap_limit64()] interface rather than this one. +*/ +SQLITE_API SQLITE_DEPRECATED void sqlite3_soft_heap_limit(int N); + + +/* +** CAPI3REF: Extract Metadata About A Column Of A Table +** METHOD: sqlite3 +** +** ^(The sqlite3_table_column_metadata(X,D,T,C,....) routine returns +** information about column C of table T in database D +** on [database connection] X.)^ ^The sqlite3_table_column_metadata() +** interface returns SQLITE_OK and fills in the non-NULL pointers in +** the final five arguments with appropriate values if the specified +** column exists. ^The sqlite3_table_column_metadata() interface returns +** SQLITE_ERROR if the specified column does not exist. +** ^If the column-name parameter to sqlite3_table_column_metadata() is a +** NULL pointer, then this routine simply checks for the existence of the +** table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it +** does not. If the table name parameter T in a call to +** sqlite3_table_column_metadata(X,D,T,C,...) is NULL then the result is +** undefined behavior. +** +** ^The column is identified by the second, third and fourth parameters to +** this function. ^(The second parameter is either the name of the database +** (i.e. "main", "temp", or an attached database) containing the specified +** table or NULL.)^ ^If it is NULL, then all attached databases are searched +** for the table using the same algorithm used by the database engine to +** resolve unqualified table references. +** +** ^The third and fourth parameters to this function are the table and column +** name of the desired column, respectively. +** +** ^Metadata is returned by writing to the memory locations passed as the 5th +** and subsequent parameters to this function. ^Any of these arguments may be +** NULL, in which case the corresponding element of metadata is omitted. +** +** ^(
    +** +**
    Parameter Output
    Type
    Description +** +**
    5th const char* Data type +**
    6th const char* Name of default collation sequence +**
    7th int True if column has a NOT NULL constraint +**
    8th int True if column is part of the PRIMARY KEY +**
    9th int True if column is [AUTOINCREMENT] +**
    +**
    )^ +** +** ^The memory pointed to by the character pointers returned for the +** declaration type and collation sequence is valid until the next +** call to any SQLite API function. +** +** ^If the specified table is actually a view, an [error code] is returned. +** +** ^If the specified column is "rowid", "oid" or "_rowid_" and the table +** is not a [WITHOUT ROWID] table and an +** [INTEGER PRIMARY KEY] column has been explicitly declared, then the output +** parameters are set for the explicitly declared column. ^(If there is no +** [INTEGER PRIMARY KEY] column, then the outputs +** for the [rowid] are set as follows: +** +**
    +**     data type: "INTEGER"
    +**     collation sequence: "BINARY"
    +**     not null: 0
    +**     primary key: 1
    +**     auto increment: 0
    +** 
    )^ +** +** ^This function causes all database schemas to be read from disk and +** parsed, if that has not already been done, and returns an error if +** any errors are encountered while loading the schema. +*/ +SQLITE_API int sqlite3_table_column_metadata( + sqlite3 *db, /* Connection handle */ + const char *zDbName, /* Database name or NULL */ + const char *zTableName, /* Table name */ + const char *zColumnName, /* Column name */ + char const **pzDataType, /* OUTPUT: Declared data type */ + char const **pzCollSeq, /* OUTPUT: Collation sequence name */ + int *pNotNull, /* OUTPUT: True if NOT NULL constraint exists */ + int *pPrimaryKey, /* OUTPUT: True if column part of PK */ + int *pAutoinc /* OUTPUT: True if column is auto-increment */ +); + +/* +** CAPI3REF: Load An Extension +** METHOD: sqlite3 +** +** ^This interface loads an SQLite extension library from the named file. +** +** ^The sqlite3_load_extension() interface attempts to load an +** [SQLite extension] library contained in the file zFile. If +** the file cannot be loaded directly, attempts are made to load +** with various operating-system specific extensions added. +** So for example, if "samplelib" cannot be loaded, then names like +** "samplelib.so" or "samplelib.dylib" or "samplelib.dll" might +** be tried also. +** +** ^The entry point is zProc. +** ^(zProc may be 0, in which case SQLite will try to come up with an +** entry point name on its own. It first tries "sqlite3_extension_init". +** If that does not work, it constructs a name "sqlite3_X_init" where the +** X is consists of the lower-case equivalent of all ASCII alphabetic +** characters in the filename from the last "/" to the first following +** "." and omitting any initial "lib".)^ +** ^The sqlite3_load_extension() interface returns +** [SQLITE_OK] on success and [SQLITE_ERROR] if something goes wrong. +** ^If an error occurs and pzErrMsg is not 0, then the +** [sqlite3_load_extension()] interface shall attempt to +** fill *pzErrMsg with error message text stored in memory +** obtained from [sqlite3_malloc()]. The calling function +** should free this memory by calling [sqlite3_free()]. +** +** ^Extension loading must be enabled using +** [sqlite3_enable_load_extension()] or +** [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION],1,NULL) +** prior to calling this API, +** otherwise an error will be returned. +** +** Security warning: It is recommended that the +** [SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION] method be used to enable only this +** interface. The use of the [sqlite3_enable_load_extension()] interface +** should be avoided. This will keep the SQL function [load_extension()] +** disabled and prevent SQL injections from giving attackers +** access to extension loading capabilities. +** +** See also the [load_extension() SQL function]. +*/ +SQLITE_API int sqlite3_load_extension( + sqlite3 *db, /* Load the extension into this database connection */ + const char *zFile, /* Name of the shared library containing extension */ + const char *zProc, /* Entry point. Derived from zFile if 0 */ + char **pzErrMsg /* Put error message here if not 0 */ +); + +/* +** CAPI3REF: Enable Or Disable Extension Loading +** METHOD: sqlite3 +** +** ^So as not to open security holes in older applications that are +** unprepared to deal with [extension loading], and as a means of disabling +** [extension loading] while evaluating user-entered SQL, the following API +** is provided to turn the [sqlite3_load_extension()] mechanism on and off. +** +** ^Extension loading is off by default. +** ^Call the sqlite3_enable_load_extension() routine with onoff==1 +** to turn extension loading on and call it with onoff==0 to turn +** it back off again. +** +** ^This interface enables or disables both the C-API +** [sqlite3_load_extension()] and the SQL function [load_extension()]. +** ^(Use [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION],..) +** to enable or disable only the C-API.)^ +** +** Security warning: It is recommended that extension loading +** be enabled using the [SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION] method +** rather than this interface, so the [load_extension()] SQL function +** remains disabled. This will prevent SQL injections from giving attackers +** access to extension loading capabilities. +*/ +SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff); + +/* +** CAPI3REF: Automatically Load Statically Linked Extensions +** +** ^This interface causes the xEntryPoint() function to be invoked for +** each new [database connection] that is created. The idea here is that +** xEntryPoint() is the entry point for a statically linked [SQLite extension] +** that is to be automatically loaded into all new database connections. +** +** ^(Even though the function prototype shows that xEntryPoint() takes +** no arguments and returns void, SQLite invokes xEntryPoint() with three +** arguments and expects an integer result as if the signature of the +** entry point where as follows: +** +**
    +**    int xEntryPoint(
    +**      sqlite3 *db,
    +**      const char **pzErrMsg,
    +**      const struct sqlite3_api_routines *pThunk
    +**    );
    +** 
    )^ +** +** If the xEntryPoint routine encounters an error, it should make *pzErrMsg +** point to an appropriate error message (obtained from [sqlite3_mprintf()]) +** and return an appropriate [error code]. ^SQLite ensures that *pzErrMsg +** is NULL before calling the xEntryPoint(). ^SQLite will invoke +** [sqlite3_free()] on *pzErrMsg after xEntryPoint() returns. ^If any +** xEntryPoint() returns an error, the [sqlite3_open()], [sqlite3_open16()], +** or [sqlite3_open_v2()] call that provoked the xEntryPoint() will fail. +** +** ^Calling sqlite3_auto_extension(X) with an entry point X that is already +** on the list of automatic extensions is a harmless no-op. ^No entry point +** will be called more than once for each database connection that is opened. +** +** See also: [sqlite3_reset_auto_extension()] +** and [sqlite3_cancel_auto_extension()] +*/ +SQLITE_API int sqlite3_auto_extension(void(*xEntryPoint)(void)); + +/* +** CAPI3REF: Cancel Automatic Extension Loading +** +** ^The [sqlite3_cancel_auto_extension(X)] interface unregisters the +** initialization routine X that was registered using a prior call to +** [sqlite3_auto_extension(X)]. ^The [sqlite3_cancel_auto_extension(X)] +** routine returns 1 if initialization routine X was successfully +** unregistered and it returns 0 if X was not on the list of initialization +** routines. +*/ +SQLITE_API int sqlite3_cancel_auto_extension(void(*xEntryPoint)(void)); + +/* +** CAPI3REF: Reset Automatic Extension Loading +** +** ^This interface disables all automatic extensions previously +** registered using [sqlite3_auto_extension()]. +*/ +SQLITE_API void sqlite3_reset_auto_extension(void); + +/* +** The interface to the virtual-table mechanism is currently considered +** to be experimental. The interface might change in incompatible ways. +** If this is a problem for you, do not use the interface at this time. +** +** When the virtual-table mechanism stabilizes, we will declare the +** interface fixed, support it indefinitely, and remove this comment. +*/ + +/* +** Structures used by the virtual table interface +*/ +typedef struct sqlite3_vtab sqlite3_vtab; +typedef struct sqlite3_index_info sqlite3_index_info; +typedef struct sqlite3_vtab_cursor sqlite3_vtab_cursor; +typedef struct sqlite3_module sqlite3_module; + +/* +** CAPI3REF: Virtual Table Object +** KEYWORDS: sqlite3_module {virtual table module} +** +** This structure, sometimes called a "virtual table module", +** defines the implementation of a [virtual table]. +** This structure consists mostly of methods for the module. +** +** ^A virtual table module is created by filling in a persistent +** instance of this structure and passing a pointer to that instance +** to [sqlite3_create_module()] or [sqlite3_create_module_v2()]. +** ^The registration remains valid until it is replaced by a different +** module or until the [database connection] closes. The content +** of this structure must not change while it is registered with +** any database connection. +*/ +struct sqlite3_module { + int iVersion; + int (*xCreate)(sqlite3*, void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVTab, char**); + int (*xConnect)(sqlite3*, void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVTab, char**); + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + int (*xDisconnect)(sqlite3_vtab *pVTab); + int (*xDestroy)(sqlite3_vtab *pVTab); + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + int (*xClose)(sqlite3_vtab_cursor*); + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + int (*xNext)(sqlite3_vtab_cursor*); + int (*xEof)(sqlite3_vtab_cursor*); + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int); + int (*xRowid)(sqlite3_vtab_cursor*, sqlite3_int64 *pRowid); + int (*xUpdate)(sqlite3_vtab *, int, sqlite3_value **, sqlite3_int64 *); + int (*xBegin)(sqlite3_vtab *pVTab); + int (*xSync)(sqlite3_vtab *pVTab); + int (*xCommit)(sqlite3_vtab *pVTab); + int (*xRollback)(sqlite3_vtab *pVTab); + int (*xFindFunction)(sqlite3_vtab *pVtab, int nArg, const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg); + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + /* The methods above are in version 1 of the sqlite_module object. Those + ** below are for version 2 and greater. */ + int (*xSavepoint)(sqlite3_vtab *pVTab, int); + int (*xRelease)(sqlite3_vtab *pVTab, int); + int (*xRollbackTo)(sqlite3_vtab *pVTab, int); + /* The methods above are in versions 1 and 2 of the sqlite_module object. + ** Those below are for version 3 and greater. */ + int (*xShadowName)(const char*); +}; + +/* +** CAPI3REF: Virtual Table Indexing Information +** KEYWORDS: sqlite3_index_info +** +** The sqlite3_index_info structure and its substructures is used as part +** of the [virtual table] interface to +** pass information into and receive the reply from the [xBestIndex] +** method of a [virtual table module]. The fields under **Inputs** are the +** inputs to xBestIndex and are read-only. xBestIndex inserts its +** results into the **Outputs** fields. +** +** ^(The aConstraint[] array records WHERE clause constraints of the form: +** +**
    column OP expr
    +** +** where OP is =, <, <=, >, or >=.)^ ^(The particular operator is +** stored in aConstraint[].op using one of the +** [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^ +** ^(The index of the column is stored in +** aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the +** expr on the right-hand side can be evaluated (and thus the constraint +** is usable) and false if it cannot.)^ +** +** ^The optimizer automatically inverts terms of the form "expr OP column" +** and makes other simplifications to the WHERE clause in an attempt to +** get as many WHERE clause terms into the form shown above as possible. +** ^The aConstraint[] array only reports WHERE clause terms that are +** relevant to the particular virtual table being queried. +** +** ^Information about the ORDER BY clause is stored in aOrderBy[]. +** ^Each term of aOrderBy records a column of the ORDER BY clause. +** +** The colUsed field indicates which columns of the virtual table may be +** required by the current scan. Virtual table columns are numbered from +** zero in the order in which they appear within the CREATE TABLE statement +** passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), +** the corresponding bit is set within the colUsed mask if the column may be +** required by SQLite. If the table has at least 64 columns and any column +** to the right of the first 63 is required, then bit 63 of colUsed is also +** set. In other words, column iCol may be required if the expression +** (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to +** non-zero. +** +** The [xBestIndex] method must fill aConstraintUsage[] with information +** about what parameters to pass to xFilter. ^If argvIndex>0 then +** the right-hand side of the corresponding aConstraint[] is evaluated +** and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit +** is true, then the constraint is assumed to be fully handled by the +** virtual table and might not be checked again by the byte code.)^ ^(The +** aConstraintUsage[].omit flag is an optimization hint. When the omit flag +** is left in its default setting of false, the constraint will always be +** checked separately in byte code. If the omit flag is change to true, then +** the constraint may or may not be checked in byte code. In other words, +** when the omit flag is true there is no guarantee that the constraint will +** not be checked again using byte code.)^ +** +** ^The idxNum and idxPtr values are recorded and passed into the +** [xFilter] method. +** ^[sqlite3_free()] is used to free idxPtr if and only if +** needToFreeIdxPtr is true. +** +** ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in +** the correct order to satisfy the ORDER BY clause so that no separate +** sorting step is required. +** +** ^The estimatedCost value is an estimate of the cost of a particular +** strategy. A cost of N indicates that the cost of the strategy is similar +** to a linear scan of an SQLite table with N rows. A cost of log(N) +** indicates that the expense of the operation is similar to that of a +** binary search on a unique indexed field of an SQLite table with N rows. +** +** ^The estimatedRows value is an estimate of the number of rows that +** will be returned by the strategy. +** +** The xBestIndex method may optionally populate the idxFlags field with a +** mask of SQLITE_INDEX_SCAN_* flags. Currently there is only one such flag - +** SQLITE_INDEX_SCAN_UNIQUE. If the xBestIndex method sets this flag, SQLite +** assumes that the strategy may visit at most one row. +** +** Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then +** SQLite also assumes that if a call to the xUpdate() method is made as +** part of the same statement to delete or update a virtual table row and the +** implementation returns SQLITE_CONSTRAINT, then there is no need to rollback +** any database changes. In other words, if the xUpdate() returns +** SQLITE_CONSTRAINT, the database contents must be exactly as they were +** before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not +** set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by +** the xUpdate method are automatically rolled back by SQLite. +** +** IMPORTANT: The estimatedRows field was added to the sqlite3_index_info +** structure for SQLite [version 3.8.2] ([dateof:3.8.2]). +** If a virtual table extension is +** used with an SQLite version earlier than 3.8.2, the results of attempting +** to read or write the estimatedRows field are undefined (but are likely +** to include crashing the application). The estimatedRows field should +** therefore only be used if [sqlite3_libversion_number()] returns a +** value greater than or equal to 3008002. Similarly, the idxFlags field +** was added for [version 3.9.0] ([dateof:3.9.0]). +** It may therefore only be used if +** sqlite3_libversion_number() returns a value greater than or equal to +** 3009000. +*/ +struct sqlite3_index_info { + /* Inputs */ + int nConstraint; /* Number of entries in aConstraint */ + struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *aConstraint; /* Table of WHERE clause constraints */ + int nOrderBy; /* Number of terms in the ORDER BY clause */ + struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + /* Fields below are only available in SQLite 3.8.2 and later */ + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + /* Fields below are only available in SQLite 3.9.0 and later */ + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + /* Fields below are only available in SQLite 3.10.0 and later */ + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ +}; + +/* +** CAPI3REF: Virtual Table Scan Flags +** +** Virtual table implementations are allowed to set the +** [sqlite3_index_info].idxFlags field to some combination of +** these bits. +*/ +#define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + +/* +** CAPI3REF: Virtual Table Constraint Operator Codes +** +** These macros define the allowed values for the +** [sqlite3_index_info].aConstraint[].op field. Each value represents +** an operator that is part of a constraint term in the WHERE clause of +** a query that uses a [virtual table]. +** +** ^The left-hand operand of the operator is given by the corresponding +** aConstraint[].iColumn field. ^An iColumn of -1 indicates the left-hand +** operand is the rowid. +** The SQLITE_INDEX_CONSTRAINT_LIMIT and SQLITE_INDEX_CONSTRAINT_OFFSET +** operators have no left-hand operand, and so for those operators the +** corresponding aConstraint[].iColumn is meaningless and should not be +** used. +** +** All operator values from SQLITE_INDEX_CONSTRAINT_FUNCTION through +** value 255 are reserved to represent functions that are overloaded +** by the [xFindFunction|xFindFunction method] of the virtual table +** implementation. +** +** The right-hand operands for each constraint might be accessible using +** the [sqlite3_vtab_rhs_value()] interface. Usually the right-hand +** operand is only available if it appears as a single constant literal +** in the input SQL. If the right-hand operand is another column or an +** expression (even a constant expression) or a parameter, then the +** sqlite3_vtab_rhs_value() probably will not be able to extract it. +** ^The SQLITE_INDEX_CONSTRAINT_ISNULL and +** SQLITE_INDEX_CONSTRAINT_ISNOTNULL operators have no right-hand operand +** and hence calls to sqlite3_vtab_rhs_value() for those operators will +** always return SQLITE_NOTFOUND. +** +** The collating sequence to be used for comparison can be found using +** the [sqlite3_vtab_collation()] interface. For most real-world virtual +** tables, the collating sequence of constraints does not matter (for example +** because the constraints are numeric) and so the sqlite3_vtab_collation() +** interface is no commonly needed. +*/ +#define SQLITE_INDEX_CONSTRAINT_EQ 2 +#define SQLITE_INDEX_CONSTRAINT_GT 4 +#define SQLITE_INDEX_CONSTRAINT_LE 8 +#define SQLITE_INDEX_CONSTRAINT_LT 16 +#define SQLITE_INDEX_CONSTRAINT_GE 32 +#define SQLITE_INDEX_CONSTRAINT_MATCH 64 +#define SQLITE_INDEX_CONSTRAINT_LIKE 65 +#define SQLITE_INDEX_CONSTRAINT_GLOB 66 +#define SQLITE_INDEX_CONSTRAINT_REGEXP 67 +#define SQLITE_INDEX_CONSTRAINT_NE 68 +#define SQLITE_INDEX_CONSTRAINT_ISNOT 69 +#define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 +#define SQLITE_INDEX_CONSTRAINT_ISNULL 71 +#define SQLITE_INDEX_CONSTRAINT_IS 72 +#define SQLITE_INDEX_CONSTRAINT_LIMIT 73 +#define SQLITE_INDEX_CONSTRAINT_OFFSET 74 +#define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 + +/* +** CAPI3REF: Register A Virtual Table Implementation +** METHOD: sqlite3 +** +** ^These routines are used to register a new [virtual table module] name. +** ^Module names must be registered before +** creating a new [virtual table] using the module and before using a +** preexisting [virtual table] for the module. +** +** ^The module name is registered on the [database connection] specified +** by the first parameter. ^The name of the module is given by the +** second parameter. ^The third parameter is a pointer to +** the implementation of the [virtual table module]. ^The fourth +** parameter is an arbitrary client data pointer that is passed through +** into the [xCreate] and [xConnect] methods of the virtual table module +** when a new virtual table is be being created or reinitialized. +** +** ^The sqlite3_create_module_v2() interface has a fifth parameter which +** is a pointer to a destructor for the pClientData. ^SQLite will +** invoke the destructor function (if it is not NULL) when SQLite +** no longer needs the pClientData pointer. ^The destructor will also +** be invoked if the call to sqlite3_create_module_v2() fails. +** ^The sqlite3_create_module() +** interface is equivalent to sqlite3_create_module_v2() with a NULL +** destructor. +** +** ^If the third parameter (the pointer to the sqlite3_module object) is +** NULL then no new module is created and any existing modules with the +** same name are dropped. +** +** See also: [sqlite3_drop_modules()] +*/ +SQLITE_API int sqlite3_create_module( + sqlite3 *db, /* SQLite connection to register module with */ + const char *zName, /* Name of the module */ + const sqlite3_module *p, /* Methods for the module */ + void *pClientData /* Client data for xCreate/xConnect */ +); +SQLITE_API int sqlite3_create_module_v2( + sqlite3 *db, /* SQLite connection to register module with */ + const char *zName, /* Name of the module */ + const sqlite3_module *p, /* Methods for the module */ + void *pClientData, /* Client data for xCreate/xConnect */ + void(*xDestroy)(void*) /* Module destructor function */ +); + +/* +** CAPI3REF: Remove Unnecessary Virtual Table Implementations +** METHOD: sqlite3 +** +** ^The sqlite3_drop_modules(D,L) interface removes all virtual +** table modules from database connection D except those named on list L. +** The L parameter must be either NULL or a pointer to an array of pointers +** to strings where the array is terminated by a single NULL pointer. +** ^If the L parameter is NULL, then all virtual table modules are removed. +** +** See also: [sqlite3_create_module()] +*/ +SQLITE_API int sqlite3_drop_modules( + sqlite3 *db, /* Remove modules from this connection */ + const char **azKeep /* Except, do not remove the ones named here */ +); + +/* +** CAPI3REF: Virtual Table Instance Object +** KEYWORDS: sqlite3_vtab +** +** Every [virtual table module] implementation uses a subclass +** of this object to describe a particular instance +** of the [virtual table]. Each subclass will +** be tailored to the specific needs of the module implementation. +** The purpose of this superclass is to define certain fields that are +** common to all module implementations. +** +** ^Virtual tables methods can set an error message by assigning a +** string obtained from [sqlite3_mprintf()] to zErrMsg. The method should +** take care that any prior string is freed by a call to [sqlite3_free()] +** prior to assigning a new string to zErrMsg. ^After the error message +** is delivered up to the client application, the string will be automatically +** freed by sqlite3_free() and the zErrMsg field will be zeroed. +*/ +struct sqlite3_vtab { + const sqlite3_module *pModule; /* The module for this virtual table */ + int nRef; /* Number of open cursors */ + char *zErrMsg; /* Error message from sqlite3_mprintf() */ + /* Virtual table implementations will typically add additional fields */ +}; + +/* +** CAPI3REF: Virtual Table Cursor Object +** KEYWORDS: sqlite3_vtab_cursor {virtual table cursor} +** +** Every [virtual table module] implementation uses a subclass of the +** following structure to describe cursors that point into the +** [virtual table] and are used +** to loop through the virtual table. Cursors are created using the +** [sqlite3_module.xOpen | xOpen] method of the module and are destroyed +** by the [sqlite3_module.xClose | xClose] method. Cursors are used +** by the [xFilter], [xNext], [xEof], [xColumn], and [xRowid] methods +** of the module. Each module implementation will define +** the content of a cursor structure to suit its own needs. +** +** This superclass exists in order to define fields of the cursor that +** are common to all implementations. +*/ +struct sqlite3_vtab_cursor { + sqlite3_vtab *pVtab; /* Virtual table of this cursor */ + /* Virtual table implementations will typically add additional fields */ +}; + +/* +** CAPI3REF: Declare The Schema Of A Virtual Table +** +** ^The [xCreate] and [xConnect] methods of a +** [virtual table module] call this interface +** to declare the format (the names and datatypes of the columns) of +** the virtual tables they implement. +*/ +SQLITE_API int sqlite3_declare_vtab(sqlite3*, const char *zSQL); + +/* +** CAPI3REF: Overload A Function For A Virtual Table +** METHOD: sqlite3 +** +** ^(Virtual tables can provide alternative implementations of functions +** using the [xFindFunction] method of the [virtual table module]. +** But global versions of those functions +** must exist in order to be overloaded.)^ +** +** ^(This API makes sure a global version of a function with a particular +** name and number of parameters exists. If no such function exists +** before this API is called, a new function is created.)^ ^The implementation +** of the new function always causes an exception to be thrown. So +** the new function is not good for anything by itself. Its only +** purpose is to be a placeholder function that can be overloaded +** by a [virtual table]. +*/ +SQLITE_API int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg); + +/* +** The interface to the virtual-table mechanism defined above (back up +** to a comment remarkably similar to this one) is currently considered +** to be experimental. The interface might change in incompatible ways. +** If this is a problem for you, do not use the interface at this time. +** +** When the virtual-table mechanism stabilizes, we will declare the +** interface fixed, support it indefinitely, and remove this comment. +*/ + +/* +** CAPI3REF: A Handle To An Open BLOB +** KEYWORDS: {BLOB handle} {BLOB handles} +** +** An instance of this object represents an open BLOB on which +** [sqlite3_blob_open | incremental BLOB I/O] can be performed. +** ^Objects of this type are created by [sqlite3_blob_open()] +** and destroyed by [sqlite3_blob_close()]. +** ^The [sqlite3_blob_read()] and [sqlite3_blob_write()] interfaces +** can be used to read or write small subsections of the BLOB. +** ^The [sqlite3_blob_bytes()] interface returns the size of the BLOB in bytes. +*/ +typedef struct sqlite3_blob sqlite3_blob; + +/* +** CAPI3REF: Open A BLOB For Incremental I/O +** METHOD: sqlite3 +** CONSTRUCTOR: sqlite3_blob +** +** ^(This interfaces opens a [BLOB handle | handle] to the BLOB located +** in row iRow, column zColumn, table zTable in database zDb; +** in other words, the same BLOB that would be selected by: +** +**
    +**     SELECT zColumn FROM zDb.zTable WHERE [rowid] = iRow;
    +** 
    )^ +** +** ^(Parameter zDb is not the filename that contains the database, but +** rather the symbolic name of the database. For attached databases, this is +** the name that appears after the AS keyword in the [ATTACH] statement. +** For the main database file, the database name is "main". For TEMP +** tables, the database name is "temp".)^ +** +** ^If the flags parameter is non-zero, then the BLOB is opened for read +** and write access. ^If the flags parameter is zero, the BLOB is opened for +** read-only access. +** +** ^(On success, [SQLITE_OK] is returned and the new [BLOB handle] is stored +** in *ppBlob. Otherwise an [error code] is returned and, unless the error +** code is SQLITE_MISUSE, *ppBlob is set to NULL.)^ ^This means that, provided +** the API is not misused, it is always safe to call [sqlite3_blob_close()] +** on *ppBlob after this function it returns. +** +** This function fails with SQLITE_ERROR if any of the following are true: +**
      +**
    • ^(Database zDb does not exist)^, +**
    • ^(Table zTable does not exist within database zDb)^, +**
    • ^(Table zTable is a WITHOUT ROWID table)^, +**
    • ^(Column zColumn does not exist)^, +**
    • ^(Row iRow is not present in the table)^, +**
    • ^(The specified column of row iRow contains a value that is not +** a TEXT or BLOB value)^, +**
    • ^(Column zColumn is part of an index, PRIMARY KEY or UNIQUE +** constraint and the blob is being opened for read/write access)^, +**
    • ^([foreign key constraints | Foreign key constraints] are enabled, +** column zColumn is part of a [child key] definition and the blob is +** being opened for read/write access)^. +**
    +** +** ^Unless it returns SQLITE_MISUSE, this function sets the +** [database connection] error code and message accessible via +** [sqlite3_errcode()] and [sqlite3_errmsg()] and related functions. +** +** A BLOB referenced by sqlite3_blob_open() may be read using the +** [sqlite3_blob_read()] interface and modified by using +** [sqlite3_blob_write()]. The [BLOB handle] can be moved to a +** different row of the same table using the [sqlite3_blob_reopen()] +** interface. However, the column, table, or database of a [BLOB handle] +** cannot be changed after the [BLOB handle] is opened. +** +** ^(If the row that a BLOB handle points to is modified by an +** [UPDATE], [DELETE], or by [ON CONFLICT] side-effects +** then the BLOB handle is marked as "expired". +** This is true if any column of the row is changed, even a column +** other than the one the BLOB handle is open on.)^ +** ^Calls to [sqlite3_blob_read()] and [sqlite3_blob_write()] for +** an expired BLOB handle fail with a return code of [SQLITE_ABORT]. +** ^(Changes written into a BLOB prior to the BLOB expiring are not +** rolled back by the expiration of the BLOB. Such changes will eventually +** commit if the transaction continues to completion.)^ +** +** ^Use the [sqlite3_blob_bytes()] interface to determine the size of +** the opened blob. ^The size of a blob may not be changed by this +** interface. Use the [UPDATE] SQL command to change the size of a +** blob. +** +** ^The [sqlite3_bind_zeroblob()] and [sqlite3_result_zeroblob()] interfaces +** and the built-in [zeroblob] SQL function may be used to create a +** zero-filled blob to read or write using the incremental-blob interface. +** +** To avoid a resource leak, every open [BLOB handle] should eventually +** be released by a call to [sqlite3_blob_close()]. +** +** See also: [sqlite3_blob_close()], +** [sqlite3_blob_reopen()], [sqlite3_blob_read()], +** [sqlite3_blob_bytes()], [sqlite3_blob_write()]. +*/ +SQLITE_API int sqlite3_blob_open( + sqlite3*, + const char *zDb, + const char *zTable, + const char *zColumn, + sqlite3_int64 iRow, + int flags, + sqlite3_blob **ppBlob +); + +/* +** CAPI3REF: Move a BLOB Handle to a New Row +** METHOD: sqlite3_blob +** +** ^This function is used to move an existing [BLOB handle] so that it points +** to a different row of the same database table. ^The new row is identified +** by the rowid value passed as the second argument. Only the row can be +** changed. ^The database, table and column on which the blob handle is open +** remain the same. Moving an existing [BLOB handle] to a new row is +** faster than closing the existing handle and opening a new one. +** +** ^(The new row must meet the same criteria as for [sqlite3_blob_open()] - +** it must exist and there must be either a blob or text value stored in +** the nominated column.)^ ^If the new row is not present in the table, or if +** it does not contain a blob or text value, or if another error occurs, an +** SQLite error code is returned and the blob handle is considered aborted. +** ^All subsequent calls to [sqlite3_blob_read()], [sqlite3_blob_write()] or +** [sqlite3_blob_reopen()] on an aborted blob handle immediately return +** SQLITE_ABORT. ^Calling [sqlite3_blob_bytes()] on an aborted blob handle +** always returns zero. +** +** ^This function sets the database handle error code and message. +*/ +SQLITE_API int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64); + +/* +** CAPI3REF: Close A BLOB Handle +** DESTRUCTOR: sqlite3_blob +** +** ^This function closes an open [BLOB handle]. ^(The BLOB handle is closed +** unconditionally. Even if this routine returns an error code, the +** handle is still closed.)^ +** +** ^If the blob handle being closed was opened for read-write access, and if +** the database is in auto-commit mode and there are no other open read-write +** blob handles or active write statements, the current transaction is +** committed. ^If an error occurs while committing the transaction, an error +** code is returned and the transaction rolled back. +** +** Calling this function with an argument that is not a NULL pointer or an +** open blob handle results in undefined behaviour. ^Calling this routine +** with a null pointer (such as would be returned by a failed call to +** [sqlite3_blob_open()]) is a harmless no-op. ^Otherwise, if this function +** is passed a valid open blob handle, the values returned by the +** sqlite3_errcode() and sqlite3_errmsg() functions are set before returning. +*/ +SQLITE_API int sqlite3_blob_close(sqlite3_blob *); + +/* +** CAPI3REF: Return The Size Of An Open BLOB +** METHOD: sqlite3_blob +** +** ^Returns the size in bytes of the BLOB accessible via the +** successfully opened [BLOB handle] in its only argument. ^The +** incremental blob I/O routines can only read or overwriting existing +** blob content; they cannot change the size of a blob. +** +** This routine only works on a [BLOB handle] which has been created +** by a prior successful call to [sqlite3_blob_open()] and which has not +** been closed by [sqlite3_blob_close()]. Passing any other pointer in +** to this routine results in undefined and probably undesirable behavior. +*/ +SQLITE_API int sqlite3_blob_bytes(sqlite3_blob *); + +/* +** CAPI3REF: Read Data From A BLOB Incrementally +** METHOD: sqlite3_blob +** +** ^(This function is used to read data from an open [BLOB handle] into a +** caller-supplied buffer. N bytes of data are copied into buffer Z +** from the open BLOB, starting at offset iOffset.)^ +** +** ^If offset iOffset is less than N bytes from the end of the BLOB, +** [SQLITE_ERROR] is returned and no data is read. ^If N or iOffset is +** less than zero, [SQLITE_ERROR] is returned and no data is read. +** ^The size of the blob (and hence the maximum value of N+iOffset) +** can be determined using the [sqlite3_blob_bytes()] interface. +** +** ^An attempt to read from an expired [BLOB handle] fails with an +** error code of [SQLITE_ABORT]. +** +** ^(On success, sqlite3_blob_read() returns SQLITE_OK. +** Otherwise, an [error code] or an [extended error code] is returned.)^ +** +** This routine only works on a [BLOB handle] which has been created +** by a prior successful call to [sqlite3_blob_open()] and which has not +** been closed by [sqlite3_blob_close()]. Passing any other pointer in +** to this routine results in undefined and probably undesirable behavior. +** +** See also: [sqlite3_blob_write()]. +*/ +SQLITE_API int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset); + +/* +** CAPI3REF: Write Data Into A BLOB Incrementally +** METHOD: sqlite3_blob +** +** ^(This function is used to write data into an open [BLOB handle] from a +** caller-supplied buffer. N bytes of data are copied from the buffer Z +** into the open BLOB, starting at offset iOffset.)^ +** +** ^(On success, sqlite3_blob_write() returns SQLITE_OK. +** Otherwise, an [error code] or an [extended error code] is returned.)^ +** ^Unless SQLITE_MISUSE is returned, this function sets the +** [database connection] error code and message accessible via +** [sqlite3_errcode()] and [sqlite3_errmsg()] and related functions. +** +** ^If the [BLOB handle] passed as the first argument was not opened for +** writing (the flags parameter to [sqlite3_blob_open()] was zero), +** this function returns [SQLITE_READONLY]. +** +** This function may only modify the contents of the BLOB; it is +** not possible to increase the size of a BLOB using this API. +** ^If offset iOffset is less than N bytes from the end of the BLOB, +** [SQLITE_ERROR] is returned and no data is written. The size of the +** BLOB (and hence the maximum value of N+iOffset) can be determined +** using the [sqlite3_blob_bytes()] interface. ^If N or iOffset are less +** than zero [SQLITE_ERROR] is returned and no data is written. +** +** ^An attempt to write to an expired [BLOB handle] fails with an +** error code of [SQLITE_ABORT]. ^Writes to the BLOB that occurred +** before the [BLOB handle] expired are not rolled back by the +** expiration of the handle, though of course those changes might +** have been overwritten by the statement that expired the BLOB handle +** or by other independent statements. +** +** This routine only works on a [BLOB handle] which has been created +** by a prior successful call to [sqlite3_blob_open()] and which has not +** been closed by [sqlite3_blob_close()]. Passing any other pointer in +** to this routine results in undefined and probably undesirable behavior. +** +** See also: [sqlite3_blob_read()]. +*/ +SQLITE_API int sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset); + +/* +** CAPI3REF: Virtual File System Objects +** +** A virtual filesystem (VFS) is an [sqlite3_vfs] object +** that SQLite uses to interact +** with the underlying operating system. Most SQLite builds come with a +** single default VFS that is appropriate for the host computer. +** New VFSes can be registered and existing VFSes can be unregistered. +** The following interfaces are provided. +** +** ^The sqlite3_vfs_find() interface returns a pointer to a VFS given its name. +** ^Names are case sensitive. +** ^Names are zero-terminated UTF-8 strings. +** ^If there is no match, a NULL pointer is returned. +** ^If zVfsName is NULL then the default VFS is returned. +** +** ^New VFSes are registered with sqlite3_vfs_register(). +** ^Each new VFS becomes the default VFS if the makeDflt flag is set. +** ^The same VFS can be registered multiple times without injury. +** ^To make an existing VFS into the default VFS, register it again +** with the makeDflt flag set. If two different VFSes with the +** same name are registered, the behavior is undefined. If a +** VFS is registered with a name that is NULL or an empty string, +** then the behavior is undefined. +** +** ^Unregister a VFS with the sqlite3_vfs_unregister() interface. +** ^(If the default VFS is unregistered, another VFS is chosen as +** the default. The choice for the new VFS is arbitrary.)^ +*/ +SQLITE_API sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName); +SQLITE_API int sqlite3_vfs_register(sqlite3_vfs*, int makeDflt); +SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*); + +/* +** CAPI3REF: Mutexes +** +** The SQLite core uses these routines for thread +** synchronization. Though they are intended for internal +** use by SQLite, code that links against SQLite is +** permitted to use any of these routines. +** +** The SQLite source code contains multiple implementations +** of these mutex routines. An appropriate implementation +** is selected automatically at compile-time. The following +** implementations are available in the SQLite core: +** +**
      +**
    • SQLITE_MUTEX_PTHREADS +**
    • SQLITE_MUTEX_W32 +**
    • SQLITE_MUTEX_NOOP +**
    +** +** The SQLITE_MUTEX_NOOP implementation is a set of routines +** that does no real locking and is appropriate for use in +** a single-threaded application. The SQLITE_MUTEX_PTHREADS and +** SQLITE_MUTEX_W32 implementations are appropriate for use on Unix +** and Windows. +** +** If SQLite is compiled with the SQLITE_MUTEX_APPDEF preprocessor +** macro defined (with "-DSQLITE_MUTEX_APPDEF=1"), then no mutex +** implementation is included with the library. In this case the +** application must supply a custom mutex implementation using the +** [SQLITE_CONFIG_MUTEX] option of the sqlite3_config() function +** before calling sqlite3_initialize() or any other public sqlite3_ +** function that calls sqlite3_initialize(). +** +** ^The sqlite3_mutex_alloc() routine allocates a new +** mutex and returns a pointer to it. ^The sqlite3_mutex_alloc() +** routine returns NULL if it is unable to allocate the requested +** mutex. The argument to sqlite3_mutex_alloc() must one of these +** integer constants: +** +**
      +**
    • SQLITE_MUTEX_FAST +**
    • SQLITE_MUTEX_RECURSIVE +**
    • SQLITE_MUTEX_STATIC_MAIN +**
    • SQLITE_MUTEX_STATIC_MEM +**
    • SQLITE_MUTEX_STATIC_OPEN +**
    • SQLITE_MUTEX_STATIC_PRNG +**
    • SQLITE_MUTEX_STATIC_LRU +**
    • SQLITE_MUTEX_STATIC_PMEM +**
    • SQLITE_MUTEX_STATIC_APP1 +**
    • SQLITE_MUTEX_STATIC_APP2 +**
    • SQLITE_MUTEX_STATIC_APP3 +**
    • SQLITE_MUTEX_STATIC_VFS1 +**
    • SQLITE_MUTEX_STATIC_VFS2 +**
    • SQLITE_MUTEX_STATIC_VFS3 +**
    +** +** ^The first two constants (SQLITE_MUTEX_FAST and SQLITE_MUTEX_RECURSIVE) +** cause sqlite3_mutex_alloc() to create +** a new mutex. ^The new mutex is recursive when SQLITE_MUTEX_RECURSIVE +** is used but not necessarily so when SQLITE_MUTEX_FAST is used. +** The mutex implementation does not need to make a distinction +** between SQLITE_MUTEX_RECURSIVE and SQLITE_MUTEX_FAST if it does +** not want to. SQLite will only request a recursive mutex in +** cases where it really needs one. If a faster non-recursive mutex +** implementation is available on the host platform, the mutex subsystem +** might return such a mutex in response to SQLITE_MUTEX_FAST. +** +** ^The other allowed parameters to sqlite3_mutex_alloc() (anything other +** than SQLITE_MUTEX_FAST and SQLITE_MUTEX_RECURSIVE) each return +** a pointer to a static preexisting mutex. ^Nine static mutexes are +** used by the current version of SQLite. Future versions of SQLite +** may add additional static mutexes. Static mutexes are for internal +** use by SQLite only. Applications that use SQLite mutexes should +** use only the dynamic mutexes returned by SQLITE_MUTEX_FAST or +** SQLITE_MUTEX_RECURSIVE. +** +** ^Note that if one of the dynamic mutex parameters (SQLITE_MUTEX_FAST +** or SQLITE_MUTEX_RECURSIVE) is used then sqlite3_mutex_alloc() +** returns a different mutex on every call. ^For the static +** mutex types, the same mutex is returned on every call that has +** the same type number. +** +** ^The sqlite3_mutex_free() routine deallocates a previously +** allocated dynamic mutex. Attempting to deallocate a static +** mutex results in undefined behavior. +** +** ^The sqlite3_mutex_enter() and sqlite3_mutex_try() routines attempt +** to enter a mutex. ^If another thread is already within the mutex, +** sqlite3_mutex_enter() will block and sqlite3_mutex_try() will return +** SQLITE_BUSY. ^The sqlite3_mutex_try() interface returns [SQLITE_OK] +** upon successful entry. ^(Mutexes created using +** SQLITE_MUTEX_RECURSIVE can be entered multiple times by the same thread. +** In such cases, the +** mutex must be exited an equal number of times before another thread +** can enter.)^ If the same thread tries to enter any mutex other +** than an SQLITE_MUTEX_RECURSIVE more than once, the behavior is undefined. +** +** ^(Some systems (for example, Windows 95) do not support the operation +** implemented by sqlite3_mutex_try(). On those systems, sqlite3_mutex_try() +** will always return SQLITE_BUSY. The SQLite core only ever uses +** sqlite3_mutex_try() as an optimization so this is acceptable +** behavior.)^ +** +** ^The sqlite3_mutex_leave() routine exits a mutex that was +** previously entered by the same thread. The behavior +** is undefined if the mutex is not currently entered by the +** calling thread or is not currently allocated. +** +** ^If the argument to sqlite3_mutex_enter(), sqlite3_mutex_try(), or +** sqlite3_mutex_leave() is a NULL pointer, then all three routines +** behave as no-ops. +** +** See also: [sqlite3_mutex_held()] and [sqlite3_mutex_notheld()]. +*/ +SQLITE_API sqlite3_mutex *sqlite3_mutex_alloc(int); +SQLITE_API void sqlite3_mutex_free(sqlite3_mutex*); +SQLITE_API void sqlite3_mutex_enter(sqlite3_mutex*); +SQLITE_API int sqlite3_mutex_try(sqlite3_mutex*); +SQLITE_API void sqlite3_mutex_leave(sqlite3_mutex*); + +/* +** CAPI3REF: Mutex Methods Object +** +** An instance of this structure defines the low-level routines +** used to allocate and use mutexes. +** +** Usually, the default mutex implementations provided by SQLite are +** sufficient, however the application has the option of substituting a custom +** implementation for specialized deployments or systems for which SQLite +** does not provide a suitable implementation. In this case, the application +** creates and populates an instance of this structure to pass +** to sqlite3_config() along with the [SQLITE_CONFIG_MUTEX] option. +** Additionally, an instance of this structure can be used as an +** output variable when querying the system for the current mutex +** implementation, using the [SQLITE_CONFIG_GETMUTEX] option. +** +** ^The xMutexInit method defined by this structure is invoked as +** part of system initialization by the sqlite3_initialize() function. +** ^The xMutexInit routine is called by SQLite exactly once for each +** effective call to [sqlite3_initialize()]. +** +** ^The xMutexEnd method defined by this structure is invoked as +** part of system shutdown by the sqlite3_shutdown() function. The +** implementation of this method is expected to release all outstanding +** resources obtained by the mutex methods implementation, especially +** those obtained by the xMutexInit method. ^The xMutexEnd() +** interface is invoked exactly once for each call to [sqlite3_shutdown()]. +** +** ^(The remaining seven methods defined by this structure (xMutexAlloc, +** xMutexFree, xMutexEnter, xMutexTry, xMutexLeave, xMutexHeld and +** xMutexNotheld) implement the following interfaces (respectively): +** +**
      +**
    • [sqlite3_mutex_alloc()]
    • +**
    • [sqlite3_mutex_free()]
    • +**
    • [sqlite3_mutex_enter()]
    • +**
    • [sqlite3_mutex_try()]
    • +**
    • [sqlite3_mutex_leave()]
    • +**
    • [sqlite3_mutex_held()]
    • +**
    • [sqlite3_mutex_notheld()]
    • +**
    )^ +** +** The only difference is that the public sqlite3_XXX functions enumerated +** above silently ignore any invocations that pass a NULL pointer instead +** of a valid mutex handle. The implementations of the methods defined +** by this structure are not required to handle this case. The results +** of passing a NULL pointer instead of a valid mutex handle are undefined +** (i.e. it is acceptable to provide an implementation that segfaults if +** it is passed a NULL pointer). +** +** The xMutexInit() method must be threadsafe. It must be harmless to +** invoke xMutexInit() multiple times within the same process and without +** intervening calls to xMutexEnd(). Second and subsequent calls to +** xMutexInit() must be no-ops. +** +** xMutexInit() must not use SQLite memory allocation ([sqlite3_malloc()] +** and its associates). Similarly, xMutexAlloc() must not use SQLite memory +** allocation for a static mutex. ^However xMutexAlloc() may use SQLite +** memory allocation for a fast or recursive mutex. +** +** ^SQLite will invoke the xMutexEnd() method when [sqlite3_shutdown()] is +** called, but only if the prior call to xMutexInit returned SQLITE_OK. +** If xMutexInit fails in any way, it is expected to clean up after itself +** prior to returning. +*/ +typedef struct sqlite3_mutex_methods sqlite3_mutex_methods; +struct sqlite3_mutex_methods { + int (*xMutexInit)(void); + int (*xMutexEnd)(void); + sqlite3_mutex *(*xMutexAlloc)(int); + void (*xMutexFree)(sqlite3_mutex *); + void (*xMutexEnter)(sqlite3_mutex *); + int (*xMutexTry)(sqlite3_mutex *); + void (*xMutexLeave)(sqlite3_mutex *); + int (*xMutexHeld)(sqlite3_mutex *); + int (*xMutexNotheld)(sqlite3_mutex *); +}; + +/* +** CAPI3REF: Mutex Verification Routines +** +** The sqlite3_mutex_held() and sqlite3_mutex_notheld() routines +** are intended for use inside assert() statements. The SQLite core +** never uses these routines except inside an assert() and applications +** are advised to follow the lead of the core. The SQLite core only +** provides implementations for these routines when it is compiled +** with the SQLITE_DEBUG flag. External mutex implementations +** are only required to provide these routines if SQLITE_DEBUG is +** defined and if NDEBUG is not defined. +** +** These routines should return true if the mutex in their argument +** is held or not held, respectively, by the calling thread. +** +** The implementation is not required to provide versions of these +** routines that actually work. If the implementation does not provide working +** versions of these routines, it should at least provide stubs that always +** return true so that one does not get spurious assertion failures. +** +** If the argument to sqlite3_mutex_held() is a NULL pointer then +** the routine should return 1. This seems counter-intuitive since +** clearly the mutex cannot be held if it does not exist. But +** the reason the mutex does not exist is because the build is not +** using mutexes. And we do not want the assert() containing the +** call to sqlite3_mutex_held() to fail, so a non-zero return is +** the appropriate thing to do. The sqlite3_mutex_notheld() +** interface should also return 1 when given a NULL pointer. +*/ +#ifndef NDEBUG +SQLITE_API int sqlite3_mutex_held(sqlite3_mutex*); +SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*); +#endif + +/* +** CAPI3REF: Mutex Types +** +** The [sqlite3_mutex_alloc()] interface takes a single argument +** which is one of these integer constants. +** +** The set of static mutexes may change from one SQLite release to the +** next. Applications that override the built-in mutex logic must be +** prepared to accommodate additional static mutexes. +*/ +#define SQLITE_MUTEX_FAST 0 +#define SQLITE_MUTEX_RECURSIVE 1 +#define SQLITE_MUTEX_STATIC_MAIN 2 +#define SQLITE_MUTEX_STATIC_MEM 3 /* sqlite3_malloc() */ +#define SQLITE_MUTEX_STATIC_MEM2 4 /* NOT USED */ +#define SQLITE_MUTEX_STATIC_OPEN 4 /* sqlite3BtreeOpen() */ +#define SQLITE_MUTEX_STATIC_PRNG 5 /* sqlite3_randomness() */ +#define SQLITE_MUTEX_STATIC_LRU 6 /* lru page list */ +#define SQLITE_MUTEX_STATIC_LRU2 7 /* NOT USED */ +#define SQLITE_MUTEX_STATIC_PMEM 7 /* sqlite3PageMalloc() */ +#define SQLITE_MUTEX_STATIC_APP1 8 /* For use by application */ +#define SQLITE_MUTEX_STATIC_APP2 9 /* For use by application */ +#define SQLITE_MUTEX_STATIC_APP3 10 /* For use by application */ +#define SQLITE_MUTEX_STATIC_VFS1 11 /* For use by built-in VFS */ +#define SQLITE_MUTEX_STATIC_VFS2 12 /* For use by extension VFS */ +#define SQLITE_MUTEX_STATIC_VFS3 13 /* For use by application VFS */ + +/* Legacy compatibility: */ +#define SQLITE_MUTEX_STATIC_MASTER 2 + + +/* +** CAPI3REF: Retrieve the mutex for a database connection +** METHOD: sqlite3 +** +** ^This interface returns a pointer the [sqlite3_mutex] object that +** serializes access to the [database connection] given in the argument +** when the [threading mode] is Serialized. +** ^If the [threading mode] is Single-thread or Multi-thread then this +** routine returns a NULL pointer. +*/ +SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*); + +/* +** CAPI3REF: Low-Level Control Of Database Files +** METHOD: sqlite3 +** KEYWORDS: {file control} +** +** ^The [sqlite3_file_control()] interface makes a direct call to the +** xFileControl method for the [sqlite3_io_methods] object associated +** with a particular database identified by the second argument. ^The +** name of the database is "main" for the main database or "temp" for the +** TEMP database, or the name that appears after the AS keyword for +** databases that are added using the [ATTACH] SQL command. +** ^A NULL pointer can be used in place of "main" to refer to the +** main database file. +** ^The third and fourth parameters to this routine +** are passed directly through to the second and third parameters of +** the xFileControl method. ^The return value of the xFileControl +** method becomes the return value of this routine. +** +** A few opcodes for [sqlite3_file_control()] are handled directly +** by the SQLite core and never invoke the +** sqlite3_io_methods.xFileControl method. +** ^The [SQLITE_FCNTL_FILE_POINTER] value for the op parameter causes +** a pointer to the underlying [sqlite3_file] object to be written into +** the space pointed to by the 4th parameter. The +** [SQLITE_FCNTL_JOURNAL_POINTER] works similarly except that it returns +** the [sqlite3_file] object associated with the journal file instead of +** the main database. The [SQLITE_FCNTL_VFS_POINTER] opcode returns +** a pointer to the underlying [sqlite3_vfs] object for the file. +** The [SQLITE_FCNTL_DATA_VERSION] returns the data version counter +** from the pager. +** +** ^If the second parameter (zDbName) does not match the name of any +** open database file, then SQLITE_ERROR is returned. ^This error +** code is not remembered and will not be recalled by [sqlite3_errcode()] +** or [sqlite3_errmsg()]. The underlying xFileControl method might +** also return SQLITE_ERROR. There is no way to distinguish between +** an incorrect zDbName and an SQLITE_ERROR return from the underlying +** xFileControl method. +** +** See also: [file control opcodes] +*/ +SQLITE_API int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*); + +/* +** CAPI3REF: Testing Interface +** +** ^The sqlite3_test_control() interface is used to read out internal +** state of SQLite and to inject faults into SQLite for testing +** purposes. ^The first parameter is an operation code that determines +** the number, meaning, and operation of all subsequent parameters. +** +** This interface is not for use by applications. It exists solely +** for verifying the correct operation of the SQLite library. Depending +** on how the SQLite library is compiled, this interface might not exist. +** +** The details of the operation codes, their meanings, the parameters +** they take, and what they do are all subject to change without notice. +** Unlike most of the SQLite API, this function is not guaranteed to +** operate consistently from one release to the next. +*/ +SQLITE_API int sqlite3_test_control(int op, ...); + +/* +** CAPI3REF: Testing Interface Operation Codes +** +** These constants are the valid operation code parameters used +** as the first argument to [sqlite3_test_control()]. +** +** These parameters and their meanings are subject to change +** without notice. These values are for testing purposes only. +** Applications should not use any of these parameters or the +** [sqlite3_test_control()] interface. +*/ +#define SQLITE_TESTCTRL_FIRST 5 +#define SQLITE_TESTCTRL_PRNG_SAVE 5 +#define SQLITE_TESTCTRL_PRNG_RESTORE 6 +#define SQLITE_TESTCTRL_PRNG_RESET 7 /* NOT USED */ +#define SQLITE_TESTCTRL_BITVEC_TEST 8 +#define SQLITE_TESTCTRL_FAULT_INSTALL 9 +#define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS 10 +#define SQLITE_TESTCTRL_PENDING_BYTE 11 +#define SQLITE_TESTCTRL_ASSERT 12 +#define SQLITE_TESTCTRL_ALWAYS 13 +#define SQLITE_TESTCTRL_RESERVE 14 /* NOT USED */ +#define SQLITE_TESTCTRL_OPTIMIZATIONS 15 +#define SQLITE_TESTCTRL_ISKEYWORD 16 /* NOT USED */ +#define SQLITE_TESTCTRL_SCRATCHMALLOC 17 /* NOT USED */ +#define SQLITE_TESTCTRL_INTERNAL_FUNCTIONS 17 +#define SQLITE_TESTCTRL_LOCALTIME_FAULT 18 +#define SQLITE_TESTCTRL_EXPLAIN_STMT 19 /* NOT USED */ +#define SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD 19 +#define SQLITE_TESTCTRL_NEVER_CORRUPT 20 +#define SQLITE_TESTCTRL_VDBE_COVERAGE 21 +#define SQLITE_TESTCTRL_BYTEORDER 22 +#define SQLITE_TESTCTRL_ISINIT 23 +#define SQLITE_TESTCTRL_SORTER_MMAP 24 +#define SQLITE_TESTCTRL_IMPOSTER 25 +#define SQLITE_TESTCTRL_PARSER_COVERAGE 26 +#define SQLITE_TESTCTRL_RESULT_INTREAL 27 +#define SQLITE_TESTCTRL_PRNG_SEED 28 +#define SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS 29 +#define SQLITE_TESTCTRL_SEEK_COUNT 30 +#define SQLITE_TESTCTRL_TRACEFLAGS 31 +#define SQLITE_TESTCTRL_TUNE 32 +#define SQLITE_TESTCTRL_LOGEST 33 +#define SQLITE_TESTCTRL_LAST 33 /* Largest TESTCTRL */ + +/* +** CAPI3REF: SQL Keyword Checking +** +** These routines provide access to the set of SQL language keywords +** recognized by SQLite. Applications can uses these routines to determine +** whether or not a specific identifier needs to be escaped (for example, +** by enclosing in double-quotes) so as not to confuse the parser. +** +** The sqlite3_keyword_count() interface returns the number of distinct +** keywords understood by SQLite. +** +** The sqlite3_keyword_name(N,Z,L) interface finds the N-th keyword and +** makes *Z point to that keyword expressed as UTF8 and writes the number +** of bytes in the keyword into *L. The string that *Z points to is not +** zero-terminated. The sqlite3_keyword_name(N,Z,L) routine returns +** SQLITE_OK if N is within bounds and SQLITE_ERROR if not. If either Z +** or L are NULL or invalid pointers then calls to +** sqlite3_keyword_name(N,Z,L) result in undefined behavior. +** +** The sqlite3_keyword_check(Z,L) interface checks to see whether or not +** the L-byte UTF8 identifier that Z points to is a keyword, returning non-zero +** if it is and zero if not. +** +** The parser used by SQLite is forgiving. It is often possible to use +** a keyword as an identifier as long as such use does not result in a +** parsing ambiguity. For example, the statement +** "CREATE TABLE BEGIN(REPLACE,PRAGMA,END);" is accepted by SQLite, and +** creates a new table named "BEGIN" with three columns named +** "REPLACE", "PRAGMA", and "END". Nevertheless, best practice is to avoid +** using keywords as identifiers. Common techniques used to avoid keyword +** name collisions include: +**
      +**
    • Put all identifier names inside double-quotes. This is the official +** SQL way to escape identifier names. +**
    • Put identifier names inside [...]. This is not standard SQL, +** but it is what SQL Server does and so lots of programmers use this +** technique. +**
    • Begin every identifier with the letter "Z" as no SQL keywords start +** with "Z". +**
    • Include a digit somewhere in every identifier name. +**
    +** +** Note that the number of keywords understood by SQLite can depend on +** compile-time options. For example, "VACUUM" is not a keyword if +** SQLite is compiled with the [-DSQLITE_OMIT_VACUUM] option. Also, +** new keywords may be added to future releases of SQLite. +*/ +SQLITE_API int sqlite3_keyword_count(void); +SQLITE_API int sqlite3_keyword_name(int,const char**,int*); +SQLITE_API int sqlite3_keyword_check(const char*,int); + +/* +** CAPI3REF: Dynamic String Object +** KEYWORDS: {dynamic string} +** +** An instance of the sqlite3_str object contains a dynamically-sized +** string under construction. +** +** The lifecycle of an sqlite3_str object is as follows: +**
      +**
    1. ^The sqlite3_str object is created using [sqlite3_str_new()]. +**
    2. ^Text is appended to the sqlite3_str object using various +** methods, such as [sqlite3_str_appendf()]. +**
    3. ^The sqlite3_str object is destroyed and the string it created +** is returned using the [sqlite3_str_finish()] interface. +**
    +*/ +typedef struct sqlite3_str sqlite3_str; + +/* +** CAPI3REF: Create A New Dynamic String Object +** CONSTRUCTOR: sqlite3_str +** +** ^The [sqlite3_str_new(D)] interface allocates and initializes +** a new [sqlite3_str] object. To avoid memory leaks, the object returned by +** [sqlite3_str_new()] must be freed by a subsequent call to +** [sqlite3_str_finish(X)]. +** +** ^The [sqlite3_str_new(D)] interface always returns a pointer to a +** valid [sqlite3_str] object, though in the event of an out-of-memory +** error the returned object might be a special singleton that will +** silently reject new text, always return SQLITE_NOMEM from +** [sqlite3_str_errcode()], always return 0 for +** [sqlite3_str_length()], and always return NULL from +** [sqlite3_str_finish(X)]. It is always safe to use the value +** returned by [sqlite3_str_new(D)] as the sqlite3_str parameter +** to any of the other [sqlite3_str] methods. +** +** The D parameter to [sqlite3_str_new(D)] may be NULL. If the +** D parameter in [sqlite3_str_new(D)] is not NULL, then the maximum +** length of the string contained in the [sqlite3_str] object will be +** the value set for [sqlite3_limit](D,[SQLITE_LIMIT_LENGTH]) instead +** of [SQLITE_MAX_LENGTH]. +*/ +SQLITE_API sqlite3_str *sqlite3_str_new(sqlite3*); + +/* +** CAPI3REF: Finalize A Dynamic String +** DESTRUCTOR: sqlite3_str +** +** ^The [sqlite3_str_finish(X)] interface destroys the sqlite3_str object X +** and returns a pointer to a memory buffer obtained from [sqlite3_malloc64()] +** that contains the constructed string. The calling application should +** pass the returned value to [sqlite3_free()] to avoid a memory leak. +** ^The [sqlite3_str_finish(X)] interface may return a NULL pointer if any +** errors were encountered during construction of the string. ^The +** [sqlite3_str_finish(X)] interface will also return a NULL pointer if the +** string in [sqlite3_str] object X is zero bytes long. +*/ +SQLITE_API char *sqlite3_str_finish(sqlite3_str*); + +/* +** CAPI3REF: Add Content To A Dynamic String +** METHOD: sqlite3_str +** +** These interfaces add content to an sqlite3_str object previously obtained +** from [sqlite3_str_new()]. +** +** ^The [sqlite3_str_appendf(X,F,...)] and +** [sqlite3_str_vappendf(X,F,V)] interfaces uses the [built-in printf] +** functionality of SQLite to append formatted text onto the end of +** [sqlite3_str] object X. +** +** ^The [sqlite3_str_append(X,S,N)] method appends exactly N bytes from string S +** onto the end of the [sqlite3_str] object X. N must be non-negative. +** S must contain at least N non-zero bytes of content. To append a +** zero-terminated string in its entirety, use the [sqlite3_str_appendall()] +** method instead. +** +** ^The [sqlite3_str_appendall(X,S)] method appends the complete content of +** zero-terminated string S onto the end of [sqlite3_str] object X. +** +** ^The [sqlite3_str_appendchar(X,N,C)] method appends N copies of the +** single-byte character C onto the end of [sqlite3_str] object X. +** ^This method can be used, for example, to add whitespace indentation. +** +** ^The [sqlite3_str_reset(X)] method resets the string under construction +** inside [sqlite3_str] object X back to zero bytes in length. +** +** These methods do not return a result code. ^If an error occurs, that fact +** is recorded in the [sqlite3_str] object and can be recovered by a +** subsequent call to [sqlite3_str_errcode(X)]. +*/ +SQLITE_API void sqlite3_str_appendf(sqlite3_str*, const char *zFormat, ...); +SQLITE_API void sqlite3_str_vappendf(sqlite3_str*, const char *zFormat, va_list); +SQLITE_API void sqlite3_str_append(sqlite3_str*, const char *zIn, int N); +SQLITE_API void sqlite3_str_appendall(sqlite3_str*, const char *zIn); +SQLITE_API void sqlite3_str_appendchar(sqlite3_str*, int N, char C); +SQLITE_API void sqlite3_str_reset(sqlite3_str*); + +/* +** CAPI3REF: Status Of A Dynamic String +** METHOD: sqlite3_str +** +** These interfaces return the current status of an [sqlite3_str] object. +** +** ^If any prior errors have occurred while constructing the dynamic string +** in sqlite3_str X, then the [sqlite3_str_errcode(X)] method will return +** an appropriate error code. ^The [sqlite3_str_errcode(X)] method returns +** [SQLITE_NOMEM] following any out-of-memory error, or +** [SQLITE_TOOBIG] if the size of the dynamic string exceeds +** [SQLITE_MAX_LENGTH], or [SQLITE_OK] if there have been no errors. +** +** ^The [sqlite3_str_length(X)] method returns the current length, in bytes, +** of the dynamic string under construction in [sqlite3_str] object X. +** ^The length returned by [sqlite3_str_length(X)] does not include the +** zero-termination byte. +** +** ^The [sqlite3_str_value(X)] method returns a pointer to the current +** content of the dynamic string under construction in X. The value +** returned by [sqlite3_str_value(X)] is managed by the sqlite3_str object X +** and might be freed or altered by any subsequent method on the same +** [sqlite3_str] object. Applications must not used the pointer returned +** [sqlite3_str_value(X)] after any subsequent method call on the same +** object. ^Applications may change the content of the string returned +** by [sqlite3_str_value(X)] as long as they do not write into any bytes +** outside the range of 0 to [sqlite3_str_length(X)] and do not read or +** write any byte after any subsequent sqlite3_str method call. +*/ +SQLITE_API int sqlite3_str_errcode(sqlite3_str*); +SQLITE_API int sqlite3_str_length(sqlite3_str*); +SQLITE_API char *sqlite3_str_value(sqlite3_str*); + +/* +** CAPI3REF: SQLite Runtime Status +** +** ^These interfaces are used to retrieve runtime status information +** about the performance of SQLite, and optionally to reset various +** highwater marks. ^The first argument is an integer code for +** the specific parameter to measure. ^(Recognized integer codes +** are of the form [status parameters | SQLITE_STATUS_...].)^ +** ^The current value of the parameter is returned into *pCurrent. +** ^The highest recorded value is returned in *pHighwater. ^If the +** resetFlag is true, then the highest record value is reset after +** *pHighwater is written. ^(Some parameters do not record the highest +** value. For those parameters +** nothing is written into *pHighwater and the resetFlag is ignored.)^ +** ^(Other parameters record only the highwater mark and not the current +** value. For these latter parameters nothing is written into *pCurrent.)^ +** +** ^The sqlite3_status() and sqlite3_status64() routines return +** SQLITE_OK on success and a non-zero [error code] on failure. +** +** If either the current value or the highwater mark is too large to +** be represented by a 32-bit integer, then the values returned by +** sqlite3_status() are undefined. +** +** See also: [sqlite3_db_status()] +*/ +SQLITE_API int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag); +SQLITE_API int sqlite3_status64( + int op, + sqlite3_int64 *pCurrent, + sqlite3_int64 *pHighwater, + int resetFlag +); + + +/* +** CAPI3REF: Status Parameters +** KEYWORDS: {status parameters} +** +** These integer constants designate various run-time status parameters +** that can be returned by [sqlite3_status()]. +** +**
    +** [[SQLITE_STATUS_MEMORY_USED]] ^(
    SQLITE_STATUS_MEMORY_USED
    +**
    This parameter is the current amount of memory checked out +** using [sqlite3_malloc()], either directly or indirectly. The +** figure includes calls made to [sqlite3_malloc()] by the application +** and internal memory usage by the SQLite library. Auxiliary page-cache +** memory controlled by [SQLITE_CONFIG_PAGECACHE] is not included in +** this parameter. The amount returned is the sum of the allocation +** sizes as reported by the xSize method in [sqlite3_mem_methods].
    )^ +** +** [[SQLITE_STATUS_MALLOC_SIZE]] ^(
    SQLITE_STATUS_MALLOC_SIZE
    +**
    This parameter records the largest memory allocation request +** handed to [sqlite3_malloc()] or [sqlite3_realloc()] (or their +** internal equivalents). Only the value returned in the +** *pHighwater parameter to [sqlite3_status()] is of interest. +** The value written into the *pCurrent parameter is undefined.
    )^ +** +** [[SQLITE_STATUS_MALLOC_COUNT]] ^(
    SQLITE_STATUS_MALLOC_COUNT
    +**
    This parameter records the number of separate memory allocations +** currently checked out.
    )^ +** +** [[SQLITE_STATUS_PAGECACHE_USED]] ^(
    SQLITE_STATUS_PAGECACHE_USED
    +**
    This parameter returns the number of pages used out of the +** [pagecache memory allocator] that was configured using +** [SQLITE_CONFIG_PAGECACHE]. The +** value returned is in pages, not in bytes.
    )^ +** +** [[SQLITE_STATUS_PAGECACHE_OVERFLOW]] +** ^(
    SQLITE_STATUS_PAGECACHE_OVERFLOW
    +**
    This parameter returns the number of bytes of page cache +** allocation which could not be satisfied by the [SQLITE_CONFIG_PAGECACHE] +** buffer and where forced to overflow to [sqlite3_malloc()]. The +** returned value includes allocations that overflowed because they +** where too large (they were larger than the "sz" parameter to +** [SQLITE_CONFIG_PAGECACHE]) and allocations that overflowed because +** no space was left in the page cache.
    )^ +** +** [[SQLITE_STATUS_PAGECACHE_SIZE]] ^(
    SQLITE_STATUS_PAGECACHE_SIZE
    +**
    This parameter records the largest memory allocation request +** handed to the [pagecache memory allocator]. Only the value returned in the +** *pHighwater parameter to [sqlite3_status()] is of interest. +** The value written into the *pCurrent parameter is undefined.
    )^ +** +** [[SQLITE_STATUS_SCRATCH_USED]]
    SQLITE_STATUS_SCRATCH_USED
    +**
    No longer used.
    +** +** [[SQLITE_STATUS_SCRATCH_OVERFLOW]] ^(
    SQLITE_STATUS_SCRATCH_OVERFLOW
    +**
    No longer used.
    +** +** [[SQLITE_STATUS_SCRATCH_SIZE]]
    SQLITE_STATUS_SCRATCH_SIZE
    +**
    No longer used.
    +** +** [[SQLITE_STATUS_PARSER_STACK]] ^(
    SQLITE_STATUS_PARSER_STACK
    +**
    The *pHighwater parameter records the deepest parser stack. +** The *pCurrent value is undefined. The *pHighwater value is only +** meaningful if SQLite is compiled with [YYTRACKMAXSTACKDEPTH].
    )^ +**
    +** +** New status parameters may be added from time to time. +*/ +#define SQLITE_STATUS_MEMORY_USED 0 +#define SQLITE_STATUS_PAGECACHE_USED 1 +#define SQLITE_STATUS_PAGECACHE_OVERFLOW 2 +#define SQLITE_STATUS_SCRATCH_USED 3 /* NOT USED */ +#define SQLITE_STATUS_SCRATCH_OVERFLOW 4 /* NOT USED */ +#define SQLITE_STATUS_MALLOC_SIZE 5 +#define SQLITE_STATUS_PARSER_STACK 6 +#define SQLITE_STATUS_PAGECACHE_SIZE 7 +#define SQLITE_STATUS_SCRATCH_SIZE 8 /* NOT USED */ +#define SQLITE_STATUS_MALLOC_COUNT 9 + +/* +** CAPI3REF: Database Connection Status +** METHOD: sqlite3 +** +** ^This interface is used to retrieve runtime status information +** about a single [database connection]. ^The first argument is the +** database connection object to be interrogated. ^The second argument +** is an integer constant, taken from the set of +** [SQLITE_DBSTATUS options], that +** determines the parameter to interrogate. The set of +** [SQLITE_DBSTATUS options] is likely +** to grow in future releases of SQLite. +** +** ^The current value of the requested parameter is written into *pCur +** and the highest instantaneous value is written into *pHiwtr. ^If +** the resetFlg is true, then the highest instantaneous value is +** reset back down to the current value. +** +** ^The sqlite3_db_status() routine returns SQLITE_OK on success and a +** non-zero [error code] on failure. +** +** See also: [sqlite3_status()] and [sqlite3_stmt_status()]. +*/ +SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg); + +/* +** CAPI3REF: Status Parameters for database connections +** KEYWORDS: {SQLITE_DBSTATUS options} +** +** These constants are the available integer "verbs" that can be passed as +** the second argument to the [sqlite3_db_status()] interface. +** +** New verbs may be added in future releases of SQLite. Existing verbs +** might be discontinued. Applications should check the return code from +** [sqlite3_db_status()] to make sure that the call worked. +** The [sqlite3_db_status()] interface will return a non-zero error code +** if a discontinued or unsupported verb is invoked. +** +**
    +** [[SQLITE_DBSTATUS_LOOKASIDE_USED]] ^(
    SQLITE_DBSTATUS_LOOKASIDE_USED
    +**
    This parameter returns the number of lookaside memory slots currently +** checked out.
    )^ +** +** [[SQLITE_DBSTATUS_LOOKASIDE_HIT]] ^(
    SQLITE_DBSTATUS_LOOKASIDE_HIT
    +**
    This parameter returns the number of malloc attempts that were +** satisfied using lookaside memory. Only the high-water value is meaningful; +** the current value is always zero.)^ +** +** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE]] +** ^(
    SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE
    +**
    This parameter returns the number malloc attempts that might have +** been satisfied using lookaside memory but failed due to the amount of +** memory requested being larger than the lookaside slot size. +** Only the high-water value is meaningful; +** the current value is always zero.)^ +** +** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL]] +** ^(
    SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL
    +**
    This parameter returns the number malloc attempts that might have +** been satisfied using lookaside memory but failed due to all lookaside +** memory already being in use. +** Only the high-water value is meaningful; +** the current value is always zero.)^ +** +** [[SQLITE_DBSTATUS_CACHE_USED]] ^(
    SQLITE_DBSTATUS_CACHE_USED
    +**
    This parameter returns the approximate number of bytes of heap +** memory used by all pager caches associated with the database connection.)^ +** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0. +** +** [[SQLITE_DBSTATUS_CACHE_USED_SHARED]] +** ^(
    SQLITE_DBSTATUS_CACHE_USED_SHARED
    +**
    This parameter is similar to DBSTATUS_CACHE_USED, except that if a +** pager cache is shared between two or more connections the bytes of heap +** memory used by that pager cache is divided evenly between the attached +** connections.)^ In other words, if none of the pager caches associated +** with the database connection are shared, this request returns the same +** value as DBSTATUS_CACHE_USED. Or, if one or more or the pager caches are +** shared, the value returned by this call will be smaller than that returned +** by DBSTATUS_CACHE_USED. ^The highwater mark associated with +** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. +** +** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(
    SQLITE_DBSTATUS_SCHEMA_USED
    +**
    This parameter returns the approximate number of bytes of heap +** memory used to store the schema for all databases associated +** with the connection - main, temp, and any [ATTACH]-ed databases.)^ +** ^The full amount of memory used by the schemas is reported, even if the +** schema memory is shared with other database connections due to +** [shared cache mode] being enabled. +** ^The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0. +** +** [[SQLITE_DBSTATUS_STMT_USED]] ^(
    SQLITE_DBSTATUS_STMT_USED
    +**
    This parameter returns the approximate number of bytes of heap +** and lookaside memory used by all prepared statements associated with +** the database connection.)^ +** ^The highwater mark associated with SQLITE_DBSTATUS_STMT_USED is always 0. +**
    +** +** [[SQLITE_DBSTATUS_CACHE_HIT]] ^(
    SQLITE_DBSTATUS_CACHE_HIT
    +**
    This parameter returns the number of pager cache hits that have +** occurred.)^ ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_HIT +** is always 0. +**
    +** +** [[SQLITE_DBSTATUS_CACHE_MISS]] ^(
    SQLITE_DBSTATUS_CACHE_MISS
    +**
    This parameter returns the number of pager cache misses that have +** occurred.)^ ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_MISS +** is always 0. +**
    +** +** [[SQLITE_DBSTATUS_CACHE_WRITE]] ^(
    SQLITE_DBSTATUS_CACHE_WRITE
    +**
    This parameter returns the number of dirty cache entries that have +** been written to disk. Specifically, the number of pages written to the +** wal file in wal mode databases, or the number of pages written to the +** database file in rollback mode databases. Any pages written as part of +** transaction rollback or database recovery operations are not included. +** If an IO or other error occurs while writing a page to disk, the effect +** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The +** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0. +**
    +** +** [[SQLITE_DBSTATUS_CACHE_SPILL]] ^(
    SQLITE_DBSTATUS_CACHE_SPILL
    +**
    This parameter returns the number of dirty cache entries that have +** been written to disk in the middle of a transaction due to the page +** cache overflowing. Transactions are more efficient if they are written +** to disk all at once. When pages spill mid-transaction, that introduces +** additional overhead. This parameter can be used help identify +** inefficiencies that can be resolved by increasing the cache size. +**
    +** +** [[SQLITE_DBSTATUS_DEFERRED_FKS]] ^(
    SQLITE_DBSTATUS_DEFERRED_FKS
    +**
    This parameter returns zero for the current value if and only if +** all foreign key constraints (deferred or immediate) have been +** resolved.)^ ^The highwater mark is always 0. +**
    +**
    +*/ +#define SQLITE_DBSTATUS_LOOKASIDE_USED 0 +#define SQLITE_DBSTATUS_CACHE_USED 1 +#define SQLITE_DBSTATUS_SCHEMA_USED 2 +#define SQLITE_DBSTATUS_STMT_USED 3 +#define SQLITE_DBSTATUS_LOOKASIDE_HIT 4 +#define SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE 5 +#define SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL 6 +#define SQLITE_DBSTATUS_CACHE_HIT 7 +#define SQLITE_DBSTATUS_CACHE_MISS 8 +#define SQLITE_DBSTATUS_CACHE_WRITE 9 +#define SQLITE_DBSTATUS_DEFERRED_FKS 10 +#define SQLITE_DBSTATUS_CACHE_USED_SHARED 11 +#define SQLITE_DBSTATUS_CACHE_SPILL 12 +#define SQLITE_DBSTATUS_MAX 12 /* Largest defined DBSTATUS */ + + +/* +** CAPI3REF: Prepared Statement Status +** METHOD: sqlite3_stmt +** +** ^(Each prepared statement maintains various +** [SQLITE_STMTSTATUS counters] that measure the number +** of times it has performed specific operations.)^ These counters can +** be used to monitor the performance characteristics of the prepared +** statements. For example, if the number of table steps greatly exceeds +** the number of table searches or result rows, that would tend to indicate +** that the prepared statement is using a full table scan rather than +** an index. +** +** ^(This interface is used to retrieve and reset counter values from +** a [prepared statement]. The first argument is the prepared statement +** object to be interrogated. The second argument +** is an integer code for a specific [SQLITE_STMTSTATUS counter] +** to be interrogated.)^ +** ^The current value of the requested counter is returned. +** ^If the resetFlg is true, then the counter is reset to zero after this +** interface call returns. +** +** See also: [sqlite3_status()] and [sqlite3_db_status()]. +*/ +SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); + +/* +** CAPI3REF: Status Parameters for prepared statements +** KEYWORDS: {SQLITE_STMTSTATUS counter} {SQLITE_STMTSTATUS counters} +** +** These preprocessor macros define integer codes that name counter +** values associated with the [sqlite3_stmt_status()] interface. +** The meanings of the various counters are as follows: +** +**
    +** [[SQLITE_STMTSTATUS_FULLSCAN_STEP]]
    SQLITE_STMTSTATUS_FULLSCAN_STEP
    +**
    ^This is the number of times that SQLite has stepped forward in +** a table as part of a full table scan. Large numbers for this counter +** may indicate opportunities for performance improvement through +** careful use of indices.
    +** +** [[SQLITE_STMTSTATUS_SORT]]
    SQLITE_STMTSTATUS_SORT
    +**
    ^This is the number of sort operations that have occurred. +** A non-zero value in this counter may indicate an opportunity to +** improvement performance through careful use of indices.
    +** +** [[SQLITE_STMTSTATUS_AUTOINDEX]]
    SQLITE_STMTSTATUS_AUTOINDEX
    +**
    ^This is the number of rows inserted into transient indices that +** were created automatically in order to help joins run faster. +** A non-zero value in this counter may indicate an opportunity to +** improvement performance by adding permanent indices that do not +** need to be reinitialized each time the statement is run.
    +** +** [[SQLITE_STMTSTATUS_VM_STEP]]
    SQLITE_STMTSTATUS_VM_STEP
    +**
    ^This is the number of virtual machine operations executed +** by the prepared statement if that number is less than or equal +** to 2147483647. The number of virtual machine operations can be +** used as a proxy for the total work done by the prepared statement. +** If the number of virtual machine operations exceeds 2147483647 +** then the value returned by this statement status code is undefined. +** +** [[SQLITE_STMTSTATUS_REPREPARE]]
    SQLITE_STMTSTATUS_REPREPARE
    +**
    ^This is the number of times that the prepare statement has been +** automatically regenerated due to schema changes or changes to +** [bound parameters] that might affect the query plan. +** +** [[SQLITE_STMTSTATUS_RUN]]
    SQLITE_STMTSTATUS_RUN
    +**
    ^This is the number of times that the prepared statement has +** been run. A single "run" for the purposes of this counter is one +** or more calls to [sqlite3_step()] followed by a call to [sqlite3_reset()]. +** The counter is incremented on the first [sqlite3_step()] call of each +** cycle. +** +** [[SQLITE_STMTSTATUS_FILTER_MISS]] +** [[SQLITE_STMTSTATUS_FILTER HIT]] +**
    SQLITE_STMTSTATUS_FILTER_HIT
    +** SQLITE_STMTSTATUS_FILTER_MISS
    +**
    ^SQLITE_STMTSTATUS_FILTER_HIT is the number of times that a join +** step was bypassed because a Bloom filter returned not-found. The +** corresponding SQLITE_STMTSTATUS_FILTER_MISS value is the number of +** times that the Bloom filter returned a find, and thus the join step +** had to be processed as normal. +** +** [[SQLITE_STMTSTATUS_MEMUSED]]
    SQLITE_STMTSTATUS_MEMUSED
    +**
    ^This is the approximate number of bytes of heap memory +** used to store the prepared statement. ^This value is not actually +** a counter, and so the resetFlg parameter to sqlite3_stmt_status() +** is ignored when the opcode is SQLITE_STMTSTATUS_MEMUSED. +**
    +**
    +*/ +#define SQLITE_STMTSTATUS_FULLSCAN_STEP 1 +#define SQLITE_STMTSTATUS_SORT 2 +#define SQLITE_STMTSTATUS_AUTOINDEX 3 +#define SQLITE_STMTSTATUS_VM_STEP 4 +#define SQLITE_STMTSTATUS_REPREPARE 5 +#define SQLITE_STMTSTATUS_RUN 6 +#define SQLITE_STMTSTATUS_FILTER_MISS 7 +#define SQLITE_STMTSTATUS_FILTER_HIT 8 +#define SQLITE_STMTSTATUS_MEMUSED 99 + +/* +** CAPI3REF: Custom Page Cache Object +** +** The sqlite3_pcache type is opaque. It is implemented by +** the pluggable module. The SQLite core has no knowledge of +** its size or internal structure and never deals with the +** sqlite3_pcache object except by holding and passing pointers +** to the object. +** +** See [sqlite3_pcache_methods2] for additional information. +*/ +typedef struct sqlite3_pcache sqlite3_pcache; + +/* +** CAPI3REF: Custom Page Cache Object +** +** The sqlite3_pcache_page object represents a single page in the +** page cache. The page cache will allocate instances of this +** object. Various methods of the page cache use pointers to instances +** of this object as parameters or as their return value. +** +** See [sqlite3_pcache_methods2] for additional information. +*/ +typedef struct sqlite3_pcache_page sqlite3_pcache_page; +struct sqlite3_pcache_page { + void *pBuf; /* The content of the page */ + void *pExtra; /* Extra information associated with the page */ +}; + +/* +** CAPI3REF: Application Defined Page Cache. +** KEYWORDS: {page cache} +** +** ^(The [sqlite3_config]([SQLITE_CONFIG_PCACHE2], ...) interface can +** register an alternative page cache implementation by passing in an +** instance of the sqlite3_pcache_methods2 structure.)^ +** In many applications, most of the heap memory allocated by +** SQLite is used for the page cache. +** By implementing a +** custom page cache using this API, an application can better control +** the amount of memory consumed by SQLite, the way in which +** that memory is allocated and released, and the policies used to +** determine exactly which parts of a database file are cached and for +** how long. +** +** The alternative page cache mechanism is an +** extreme measure that is only needed by the most demanding applications. +** The built-in page cache is recommended for most uses. +** +** ^(The contents of the sqlite3_pcache_methods2 structure are copied to an +** internal buffer by SQLite within the call to [sqlite3_config]. Hence +** the application may discard the parameter after the call to +** [sqlite3_config()] returns.)^ +** +** [[the xInit() page cache method]] +** ^(The xInit() method is called once for each effective +** call to [sqlite3_initialize()])^ +** (usually only once during the lifetime of the process). ^(The xInit() +** method is passed a copy of the sqlite3_pcache_methods2.pArg value.)^ +** The intent of the xInit() method is to set up global data structures +** required by the custom page cache implementation. +** ^(If the xInit() method is NULL, then the +** built-in default page cache is used instead of the application defined +** page cache.)^ +** +** [[the xShutdown() page cache method]] +** ^The xShutdown() method is called by [sqlite3_shutdown()]. +** It can be used to clean up +** any outstanding resources before process shutdown, if required. +** ^The xShutdown() method may be NULL. +** +** ^SQLite automatically serializes calls to the xInit method, +** so the xInit method need not be threadsafe. ^The +** xShutdown method is only called from [sqlite3_shutdown()] so it does +** not need to be threadsafe either. All other methods must be threadsafe +** in multithreaded applications. +** +** ^SQLite will never invoke xInit() more than once without an intervening +** call to xShutdown(). +** +** [[the xCreate() page cache methods]] +** ^SQLite invokes the xCreate() method to construct a new cache instance. +** SQLite will typically create one cache instance for each open database file, +** though this is not guaranteed. ^The +** first parameter, szPage, is the size in bytes of the pages that must +** be allocated by the cache. ^szPage will always a power of two. ^The +** second parameter szExtra is a number of bytes of extra storage +** associated with each page cache entry. ^The szExtra parameter will +** a number less than 250. SQLite will use the +** extra szExtra bytes on each page to store metadata about the underlying +** database page on disk. The value passed into szExtra depends +** on the SQLite version, the target platform, and how SQLite was compiled. +** ^The third argument to xCreate(), bPurgeable, is true if the cache being +** created will be used to cache database pages of a file stored on disk, or +** false if it is used for an in-memory database. The cache implementation +** does not have to do anything special based with the value of bPurgeable; +** it is purely advisory. ^On a cache where bPurgeable is false, SQLite will +** never invoke xUnpin() except to deliberately delete a page. +** ^In other words, calls to xUnpin() on a cache with bPurgeable set to +** false will always have the "discard" flag set to true. +** ^Hence, a cache created with bPurgeable false will +** never contain any unpinned pages. +** +** [[the xCachesize() page cache method]] +** ^(The xCachesize() method may be called at any time by SQLite to set the +** suggested maximum cache-size (number of pages stored by) the cache +** instance passed as the first argument. This is the value configured using +** the SQLite "[PRAGMA cache_size]" command.)^ As with the bPurgeable +** parameter, the implementation is not required to do anything with this +** value; it is advisory only. +** +** [[the xPagecount() page cache methods]] +** The xPagecount() method must return the number of pages currently +** stored in the cache, both pinned and unpinned. +** +** [[the xFetch() page cache methods]] +** The xFetch() method locates a page in the cache and returns a pointer to +** an sqlite3_pcache_page object associated with that page, or a NULL pointer. +** The pBuf element of the returned sqlite3_pcache_page object will be a +** pointer to a buffer of szPage bytes used to store the content of a +** single database page. The pExtra element of sqlite3_pcache_page will be +** a pointer to the szExtra bytes of extra storage that SQLite has requested +** for each entry in the page cache. +** +** The page to be fetched is determined by the key. ^The minimum key value +** is 1. After it has been retrieved using xFetch, the page is considered +** to be "pinned". +** +** If the requested page is already in the page cache, then the page cache +** implementation must return a pointer to the page buffer with its content +** intact. If the requested page is not already in the cache, then the +** cache implementation should use the value of the createFlag +** parameter to help it determined what action to take: +** +** +**
    createFlag Behavior when page is not already in cache +**
    0 Do not allocate a new page. Return NULL. +**
    1 Allocate a new page if it easy and convenient to do so. +** Otherwise return NULL. +**
    2 Make every effort to allocate a new page. Only return +** NULL if allocating a new page is effectively impossible. +**
    +** +** ^(SQLite will normally invoke xFetch() with a createFlag of 0 or 1. SQLite +** will only use a createFlag of 2 after a prior call with a createFlag of 1 +** failed.)^ In between the xFetch() calls, SQLite may +** attempt to unpin one or more cache pages by spilling the content of +** pinned pages to disk and synching the operating system disk cache. +** +** [[the xUnpin() page cache method]] +** ^xUnpin() is called by SQLite with a pointer to a currently pinned page +** as its second argument. If the third parameter, discard, is non-zero, +** then the page must be evicted from the cache. +** ^If the discard parameter is +** zero, then the page may be discarded or retained at the discretion of +** page cache implementation. ^The page cache implementation +** may choose to evict unpinned pages at any time. +** +** The cache must not perform any reference counting. A single +** call to xUnpin() unpins the page regardless of the number of prior calls +** to xFetch(). +** +** [[the xRekey() page cache methods]] +** The xRekey() method is used to change the key value associated with the +** page passed as the second argument. If the cache +** previously contains an entry associated with newKey, it must be +** discarded. ^Any prior cache entry associated with newKey is guaranteed not +** to be pinned. +** +** When SQLite calls the xTruncate() method, the cache must discard all +** existing cache entries with page numbers (keys) greater than or equal +** to the value of the iLimit parameter passed to xTruncate(). If any +** of these pages are pinned, they are implicitly unpinned, meaning that +** they can be safely discarded. +** +** [[the xDestroy() page cache method]] +** ^The xDestroy() method is used to delete a cache allocated by xCreate(). +** All resources associated with the specified cache should be freed. ^After +** calling the xDestroy() method, SQLite considers the [sqlite3_pcache*] +** handle invalid, and will not use it with any other sqlite3_pcache_methods2 +** functions. +** +** [[the xShrink() page cache method]] +** ^SQLite invokes the xShrink() method when it wants the page cache to +** free up as much of heap memory as possible. The page cache implementation +** is not obligated to free any memory, but well-behaved implementations should +** do their best. +*/ +typedef struct sqlite3_pcache_methods2 sqlite3_pcache_methods2; +struct sqlite3_pcache_methods2 { + int iVersion; + void *pArg; + int (*xInit)(void*); + void (*xShutdown)(void*); + sqlite3_pcache *(*xCreate)(int szPage, int szExtra, int bPurgeable); + void (*xCachesize)(sqlite3_pcache*, int nCachesize); + int (*xPagecount)(sqlite3_pcache*); + sqlite3_pcache_page *(*xFetch)(sqlite3_pcache*, unsigned key, int createFlag); + void (*xUnpin)(sqlite3_pcache*, sqlite3_pcache_page*, int discard); + void (*xRekey)(sqlite3_pcache*, sqlite3_pcache_page*, + unsigned oldKey, unsigned newKey); + void (*xTruncate)(sqlite3_pcache*, unsigned iLimit); + void (*xDestroy)(sqlite3_pcache*); + void (*xShrink)(sqlite3_pcache*); +}; + +/* +** This is the obsolete pcache_methods object that has now been replaced +** by sqlite3_pcache_methods2. This object is not used by SQLite. It is +** retained in the header file for backwards compatibility only. +*/ +typedef struct sqlite3_pcache_methods sqlite3_pcache_methods; +struct sqlite3_pcache_methods { + void *pArg; + int (*xInit)(void*); + void (*xShutdown)(void*); + sqlite3_pcache *(*xCreate)(int szPage, int bPurgeable); + void (*xCachesize)(sqlite3_pcache*, int nCachesize); + int (*xPagecount)(sqlite3_pcache*); + void *(*xFetch)(sqlite3_pcache*, unsigned key, int createFlag); + void (*xUnpin)(sqlite3_pcache*, void*, int discard); + void (*xRekey)(sqlite3_pcache*, void*, unsigned oldKey, unsigned newKey); + void (*xTruncate)(sqlite3_pcache*, unsigned iLimit); + void (*xDestroy)(sqlite3_pcache*); +}; + + +/* +** CAPI3REF: Online Backup Object +** +** The sqlite3_backup object records state information about an ongoing +** online backup operation. ^The sqlite3_backup object is created by +** a call to [sqlite3_backup_init()] and is destroyed by a call to +** [sqlite3_backup_finish()]. +** +** See Also: [Using the SQLite Online Backup API] +*/ +typedef struct sqlite3_backup sqlite3_backup; + +/* +** CAPI3REF: Online Backup API. +** +** The backup API copies the content of one database into another. +** It is useful either for creating backups of databases or +** for copying in-memory databases to or from persistent files. +** +** See Also: [Using the SQLite Online Backup API] +** +** ^SQLite holds a write transaction open on the destination database file +** for the duration of the backup operation. +** ^The source database is read-locked only while it is being read; +** it is not locked continuously for the entire backup operation. +** ^Thus, the backup may be performed on a live source database without +** preventing other database connections from +** reading or writing to the source database while the backup is underway. +** +** ^(To perform a backup operation: +**
      +**
    1. sqlite3_backup_init() is called once to initialize the +** backup, +**
    2. sqlite3_backup_step() is called one or more times to transfer +** the data between the two databases, and finally +**
    3. sqlite3_backup_finish() is called to release all resources +** associated with the backup operation. +**
    )^ +** There should be exactly one call to sqlite3_backup_finish() for each +** successful call to sqlite3_backup_init(). +** +** [[sqlite3_backup_init()]] sqlite3_backup_init() +** +** ^The D and N arguments to sqlite3_backup_init(D,N,S,M) are the +** [database connection] associated with the destination database +** and the database name, respectively. +** ^The database name is "main" for the main database, "temp" for the +** temporary database, or the name specified after the AS keyword in +** an [ATTACH] statement for an attached database. +** ^The S and M arguments passed to +** sqlite3_backup_init(D,N,S,M) identify the [database connection] +** and database name of the source database, respectively. +** ^The source and destination [database connections] (parameters S and D) +** must be different or else sqlite3_backup_init(D,N,S,M) will fail with +** an error. +** +** ^A call to sqlite3_backup_init() will fail, returning NULL, if +** there is already a read or read-write transaction open on the +** destination database. +** +** ^If an error occurs within sqlite3_backup_init(D,N,S,M), then NULL is +** returned and an error code and error message are stored in the +** destination [database connection] D. +** ^The error code and message for the failed call to sqlite3_backup_init() +** can be retrieved using the [sqlite3_errcode()], [sqlite3_errmsg()], and/or +** [sqlite3_errmsg16()] functions. +** ^A successful call to sqlite3_backup_init() returns a pointer to an +** [sqlite3_backup] object. +** ^The [sqlite3_backup] object may be used with the sqlite3_backup_step() and +** sqlite3_backup_finish() functions to perform the specified backup +** operation. +** +** [[sqlite3_backup_step()]] sqlite3_backup_step() +** +** ^Function sqlite3_backup_step(B,N) will copy up to N pages between +** the source and destination databases specified by [sqlite3_backup] object B. +** ^If N is negative, all remaining source pages are copied. +** ^If sqlite3_backup_step(B,N) successfully copies N pages and there +** are still more pages to be copied, then the function returns [SQLITE_OK]. +** ^If sqlite3_backup_step(B,N) successfully finishes copying all pages +** from source to destination, then it returns [SQLITE_DONE]. +** ^If an error occurs while running sqlite3_backup_step(B,N), +** then an [error code] is returned. ^As well as [SQLITE_OK] and +** [SQLITE_DONE], a call to sqlite3_backup_step() may return [SQLITE_READONLY], +** [SQLITE_NOMEM], [SQLITE_BUSY], [SQLITE_LOCKED], or an +** [SQLITE_IOERR_ACCESS | SQLITE_IOERR_XXX] extended error code. +** +** ^(The sqlite3_backup_step() might return [SQLITE_READONLY] if +**
      +**
    1. the destination database was opened read-only, or +**
    2. the destination database is using write-ahead-log journaling +** and the destination and source page sizes differ, or +**
    3. the destination database is an in-memory database and the +** destination and source page sizes differ. +**
    )^ +** +** ^If sqlite3_backup_step() cannot obtain a required file-system lock, then +** the [sqlite3_busy_handler | busy-handler function] +** is invoked (if one is specified). ^If the +** busy-handler returns non-zero before the lock is available, then +** [SQLITE_BUSY] is returned to the caller. ^In this case the call to +** sqlite3_backup_step() can be retried later. ^If the source +** [database connection] +** is being used to write to the source database when sqlite3_backup_step() +** is called, then [SQLITE_LOCKED] is returned immediately. ^Again, in this +** case the call to sqlite3_backup_step() can be retried later on. ^(If +** [SQLITE_IOERR_ACCESS | SQLITE_IOERR_XXX], [SQLITE_NOMEM], or +** [SQLITE_READONLY] is returned, then +** there is no point in retrying the call to sqlite3_backup_step(). These +** errors are considered fatal.)^ The application must accept +** that the backup operation has failed and pass the backup operation handle +** to the sqlite3_backup_finish() to release associated resources. +** +** ^The first call to sqlite3_backup_step() obtains an exclusive lock +** on the destination file. ^The exclusive lock is not released until either +** sqlite3_backup_finish() is called or the backup operation is complete +** and sqlite3_backup_step() returns [SQLITE_DONE]. ^Every call to +** sqlite3_backup_step() obtains a [shared lock] on the source database that +** lasts for the duration of the sqlite3_backup_step() call. +** ^Because the source database is not locked between calls to +** sqlite3_backup_step(), the source database may be modified mid-way +** through the backup process. ^If the source database is modified by an +** external process or via a database connection other than the one being +** used by the backup operation, then the backup will be automatically +** restarted by the next call to sqlite3_backup_step(). ^If the source +** database is modified by the using the same database connection as is used +** by the backup operation, then the backup database is automatically +** updated at the same time. +** +** [[sqlite3_backup_finish()]] sqlite3_backup_finish() +** +** When sqlite3_backup_step() has returned [SQLITE_DONE], or when the +** application wishes to abandon the backup operation, the application +** should destroy the [sqlite3_backup] by passing it to sqlite3_backup_finish(). +** ^The sqlite3_backup_finish() interfaces releases all +** resources associated with the [sqlite3_backup] object. +** ^If sqlite3_backup_step() has not yet returned [SQLITE_DONE], then any +** active write-transaction on the destination database is rolled back. +** The [sqlite3_backup] object is invalid +** and may not be used following a call to sqlite3_backup_finish(). +** +** ^The value returned by sqlite3_backup_finish is [SQLITE_OK] if no +** sqlite3_backup_step() errors occurred, regardless or whether or not +** sqlite3_backup_step() completed. +** ^If an out-of-memory condition or IO error occurred during any prior +** sqlite3_backup_step() call on the same [sqlite3_backup] object, then +** sqlite3_backup_finish() returns the corresponding [error code]. +** +** ^A return of [SQLITE_BUSY] or [SQLITE_LOCKED] from sqlite3_backup_step() +** is not a permanent error and does not affect the return value of +** sqlite3_backup_finish(). +** +** [[sqlite3_backup_remaining()]] [[sqlite3_backup_pagecount()]] +** sqlite3_backup_remaining() and sqlite3_backup_pagecount() +** +** ^The sqlite3_backup_remaining() routine returns the number of pages still +** to be backed up at the conclusion of the most recent sqlite3_backup_step(). +** ^The sqlite3_backup_pagecount() routine returns the total number of pages +** in the source database at the conclusion of the most recent +** sqlite3_backup_step(). +** ^(The values returned by these functions are only updated by +** sqlite3_backup_step(). If the source database is modified in a way that +** changes the size of the source database or the number of pages remaining, +** those changes are not reflected in the output of sqlite3_backup_pagecount() +** and sqlite3_backup_remaining() until after the next +** sqlite3_backup_step().)^ +** +** Concurrent Usage of Database Handles +** +** ^The source [database connection] may be used by the application for other +** purposes while a backup operation is underway or being initialized. +** ^If SQLite is compiled and configured to support threadsafe database +** connections, then the source database connection may be used concurrently +** from within other threads. +** +** However, the application must guarantee that the destination +** [database connection] is not passed to any other API (by any thread) after +** sqlite3_backup_init() is called and before the corresponding call to +** sqlite3_backup_finish(). SQLite does not currently check to see +** if the application incorrectly accesses the destination [database connection] +** and so no error code is reported, but the operations may malfunction +** nevertheless. Use of the destination database connection while a +** backup is in progress might also also cause a mutex deadlock. +** +** If running in [shared cache mode], the application must +** guarantee that the shared cache used by the destination database +** is not accessed while the backup is running. In practice this means +** that the application must guarantee that the disk file being +** backed up to is not accessed by any connection within the process, +** not just the specific connection that was passed to sqlite3_backup_init(). +** +** The [sqlite3_backup] object itself is partially threadsafe. Multiple +** threads may safely make multiple concurrent calls to sqlite3_backup_step(). +** However, the sqlite3_backup_remaining() and sqlite3_backup_pagecount() +** APIs are not strictly speaking threadsafe. If they are invoked at the +** same time as another thread is invoking sqlite3_backup_step() it is +** possible that they return invalid values. +*/ +SQLITE_API sqlite3_backup *sqlite3_backup_init( + sqlite3 *pDest, /* Destination database handle */ + const char *zDestName, /* Destination database name */ + sqlite3 *pSource, /* Source database handle */ + const char *zSourceName /* Source database name */ +); +SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage); +SQLITE_API int sqlite3_backup_finish(sqlite3_backup *p); +SQLITE_API int sqlite3_backup_remaining(sqlite3_backup *p); +SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p); + +/* +** CAPI3REF: Unlock Notification +** METHOD: sqlite3 +** +** ^When running in shared-cache mode, a database operation may fail with +** an [SQLITE_LOCKED] error if the required locks on the shared-cache or +** individual tables within the shared-cache cannot be obtained. See +** [SQLite Shared-Cache Mode] for a description of shared-cache locking. +** ^This API may be used to register a callback that SQLite will invoke +** when the connection currently holding the required lock relinquishes it. +** ^This API is only available if the library was compiled with the +** [SQLITE_ENABLE_UNLOCK_NOTIFY] C-preprocessor symbol defined. +** +** See Also: [Using the SQLite Unlock Notification Feature]. +** +** ^Shared-cache locks are released when a database connection concludes +** its current transaction, either by committing it or rolling it back. +** +** ^When a connection (known as the blocked connection) fails to obtain a +** shared-cache lock and SQLITE_LOCKED is returned to the caller, the +** identity of the database connection (the blocking connection) that +** has locked the required resource is stored internally. ^After an +** application receives an SQLITE_LOCKED error, it may call the +** sqlite3_unlock_notify() method with the blocked connection handle as +** the first argument to register for a callback that will be invoked +** when the blocking connections current transaction is concluded. ^The +** callback is invoked from within the [sqlite3_step] or [sqlite3_close] +** call that concludes the blocking connection's transaction. +** +** ^(If sqlite3_unlock_notify() is called in a multi-threaded application, +** there is a chance that the blocking connection will have already +** concluded its transaction by the time sqlite3_unlock_notify() is invoked. +** If this happens, then the specified callback is invoked immediately, +** from within the call to sqlite3_unlock_notify().)^ +** +** ^If the blocked connection is attempting to obtain a write-lock on a +** shared-cache table, and more than one other connection currently holds +** a read-lock on the same table, then SQLite arbitrarily selects one of +** the other connections to use as the blocking connection. +** +** ^(There may be at most one unlock-notify callback registered by a +** blocked connection. If sqlite3_unlock_notify() is called when the +** blocked connection already has a registered unlock-notify callback, +** then the new callback replaces the old.)^ ^If sqlite3_unlock_notify() is +** called with a NULL pointer as its second argument, then any existing +** unlock-notify callback is canceled. ^The blocked connections +** unlock-notify callback may also be canceled by closing the blocked +** connection using [sqlite3_close()]. +** +** The unlock-notify callback is not reentrant. If an application invokes +** any sqlite3_xxx API functions from within an unlock-notify callback, a +** crash or deadlock may be the result. +** +** ^Unless deadlock is detected (see below), sqlite3_unlock_notify() always +** returns SQLITE_OK. +** +** Callback Invocation Details +** +** When an unlock-notify callback is registered, the application provides a +** single void* pointer that is passed to the callback when it is invoked. +** However, the signature of the callback function allows SQLite to pass +** it an array of void* context pointers. The first argument passed to +** an unlock-notify callback is a pointer to an array of void* pointers, +** and the second is the number of entries in the array. +** +** When a blocking connection's transaction is concluded, there may be +** more than one blocked connection that has registered for an unlock-notify +** callback. ^If two or more such blocked connections have specified the +** same callback function, then instead of invoking the callback function +** multiple times, it is invoked once with the set of void* context pointers +** specified by the blocked connections bundled together into an array. +** This gives the application an opportunity to prioritize any actions +** related to the set of unblocked database connections. +** +** Deadlock Detection +** +** Assuming that after registering for an unlock-notify callback a +** database waits for the callback to be issued before taking any further +** action (a reasonable assumption), then using this API may cause the +** application to deadlock. For example, if connection X is waiting for +** connection Y's transaction to be concluded, and similarly connection +** Y is waiting on connection X's transaction, then neither connection +** will proceed and the system may remain deadlocked indefinitely. +** +** To avoid this scenario, the sqlite3_unlock_notify() performs deadlock +** detection. ^If a given call to sqlite3_unlock_notify() would put the +** system in a deadlocked state, then SQLITE_LOCKED is returned and no +** unlock-notify callback is registered. The system is said to be in +** a deadlocked state if connection A has registered for an unlock-notify +** callback on the conclusion of connection B's transaction, and connection +** B has itself registered for an unlock-notify callback when connection +** A's transaction is concluded. ^Indirect deadlock is also detected, so +** the system is also considered to be deadlocked if connection B has +** registered for an unlock-notify callback on the conclusion of connection +** C's transaction, where connection C is waiting on connection A. ^Any +** number of levels of indirection are allowed. +** +** The "DROP TABLE" Exception +** +** When a call to [sqlite3_step()] returns SQLITE_LOCKED, it is almost +** always appropriate to call sqlite3_unlock_notify(). There is however, +** one exception. When executing a "DROP TABLE" or "DROP INDEX" statement, +** SQLite checks if there are any currently executing SELECT statements +** that belong to the same connection. If there are, SQLITE_LOCKED is +** returned. In this case there is no "blocking connection", so invoking +** sqlite3_unlock_notify() results in the unlock-notify callback being +** invoked immediately. If the application then re-attempts the "DROP TABLE" +** or "DROP INDEX" query, an infinite loop might be the result. +** +** One way around this problem is to check the extended error code returned +** by an sqlite3_step() call. ^(If there is a blocking connection, then the +** extended error code is set to SQLITE_LOCKED_SHAREDCACHE. Otherwise, in +** the special "DROP TABLE/INDEX" case, the extended error code is just +** SQLITE_LOCKED.)^ +*/ +SQLITE_API int sqlite3_unlock_notify( + sqlite3 *pBlocked, /* Waiting connection */ + void (*xNotify)(void **apArg, int nArg), /* Callback function to invoke */ + void *pNotifyArg /* Argument to pass to xNotify */ +); + + +/* +** CAPI3REF: String Comparison +** +** ^The [sqlite3_stricmp()] and [sqlite3_strnicmp()] APIs allow applications +** and extensions to compare the contents of two buffers containing UTF-8 +** strings in a case-independent fashion, using the same definition of "case +** independence" that SQLite uses internally when comparing identifiers. +*/ +SQLITE_API int sqlite3_stricmp(const char *, const char *); +SQLITE_API int sqlite3_strnicmp(const char *, const char *, int); + +/* +** CAPI3REF: String Globbing +* +** ^The [sqlite3_strglob(P,X)] interface returns zero if and only if +** string X matches the [GLOB] pattern P. +** ^The definition of [GLOB] pattern matching used in +** [sqlite3_strglob(P,X)] is the same as for the "X GLOB P" operator in the +** SQL dialect understood by SQLite. ^The [sqlite3_strglob(P,X)] function +** is case sensitive. +** +** Note that this routine returns zero on a match and non-zero if the strings +** do not match, the same as [sqlite3_stricmp()] and [sqlite3_strnicmp()]. +** +** See also: [sqlite3_strlike()]. +*/ +SQLITE_API int sqlite3_strglob(const char *zGlob, const char *zStr); + +/* +** CAPI3REF: String LIKE Matching +* +** ^The [sqlite3_strlike(P,X,E)] interface returns zero if and only if +** string X matches the [LIKE] pattern P with escape character E. +** ^The definition of [LIKE] pattern matching used in +** [sqlite3_strlike(P,X,E)] is the same as for the "X LIKE P ESCAPE E" +** operator in the SQL dialect understood by SQLite. ^For "X LIKE P" without +** the ESCAPE clause, set the E parameter of [sqlite3_strlike(P,X,E)] to 0. +** ^As with the LIKE operator, the [sqlite3_strlike(P,X,E)] function is case +** insensitive - equivalent upper and lower case ASCII characters match +** one another. +** +** ^The [sqlite3_strlike(P,X,E)] function matches Unicode characters, though +** only ASCII characters are case folded. +** +** Note that this routine returns zero on a match and non-zero if the strings +** do not match, the same as [sqlite3_stricmp()] and [sqlite3_strnicmp()]. +** +** See also: [sqlite3_strglob()]. +*/ +SQLITE_API int sqlite3_strlike(const char *zGlob, const char *zStr, unsigned int cEsc); + +/* +** CAPI3REF: Error Logging Interface +** +** ^The [sqlite3_log()] interface writes a message into the [error log] +** established by the [SQLITE_CONFIG_LOG] option to [sqlite3_config()]. +** ^If logging is enabled, the zFormat string and subsequent arguments are +** used with [sqlite3_snprintf()] to generate the final output string. +** +** The sqlite3_log() interface is intended for use by extensions such as +** virtual tables, collating functions, and SQL functions. While there is +** nothing to prevent an application from calling sqlite3_log(), doing so +** is considered bad form. +** +** The zFormat string must not be NULL. +** +** To avoid deadlocks and other threading problems, the sqlite3_log() routine +** will not use dynamically allocated memory. The log message is stored in +** a fixed-length buffer on the stack. If the log message is longer than +** a few hundred characters, it will be truncated to the length of the +** buffer. +*/ +SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...); + +/* +** CAPI3REF: Write-Ahead Log Commit Hook +** METHOD: sqlite3 +** +** ^The [sqlite3_wal_hook()] function is used to register a callback that +** is invoked each time data is committed to a database in wal mode. +** +** ^(The callback is invoked by SQLite after the commit has taken place and +** the associated write-lock on the database released)^, so the implementation +** may read, write or [checkpoint] the database as required. +** +** ^The first parameter passed to the callback function when it is invoked +** is a copy of the third parameter passed to sqlite3_wal_hook() when +** registering the callback. ^The second is a copy of the database handle. +** ^The third parameter is the name of the database that was written to - +** either "main" or the name of an [ATTACH]-ed database. ^The fourth parameter +** is the number of pages currently in the write-ahead log file, +** including those that were just committed. +** +** The callback function should normally return [SQLITE_OK]. ^If an error +** code is returned, that error will propagate back up through the +** SQLite code base to cause the statement that provoked the callback +** to report an error, though the commit will have still occurred. If the +** callback returns [SQLITE_ROW] or [SQLITE_DONE], or if it returns a value +** that does not correspond to any valid SQLite error code, the results +** are undefined. +** +** A single database handle may have at most a single write-ahead log callback +** registered at one time. ^Calling [sqlite3_wal_hook()] replaces any +** previously registered write-ahead log callback. ^The return value is +** a copy of the third parameter from the previous call, if any, or 0. +** ^Note that the [sqlite3_wal_autocheckpoint()] interface and the +** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will +** overwrite any prior [sqlite3_wal_hook()] settings. +*/ +SQLITE_API void *sqlite3_wal_hook( + sqlite3*, + int(*)(void *,sqlite3*,const char*,int), + void* +); + +/* +** CAPI3REF: Configure an auto-checkpoint +** METHOD: sqlite3 +** +** ^The [sqlite3_wal_autocheckpoint(D,N)] is a wrapper around +** [sqlite3_wal_hook()] that causes any database on [database connection] D +** to automatically [checkpoint] +** after committing a transaction if there are N or +** more frames in the [write-ahead log] file. ^Passing zero or +** a negative value as the nFrame parameter disables automatic +** checkpoints entirely. +** +** ^The callback registered by this function replaces any existing callback +** registered using [sqlite3_wal_hook()]. ^Likewise, registering a callback +** using [sqlite3_wal_hook()] disables the automatic checkpoint mechanism +** configured by this function. +** +** ^The [wal_autocheckpoint pragma] can be used to invoke this interface +** from SQL. +** +** ^Checkpoints initiated by this mechanism are +** [sqlite3_wal_checkpoint_v2|PASSIVE]. +** +** ^Every new [database connection] defaults to having the auto-checkpoint +** enabled with a threshold of 1000 or [SQLITE_DEFAULT_WAL_AUTOCHECKPOINT] +** pages. The use of this interface +** is only necessary if the default setting is found to be suboptimal +** for a particular application. +*/ +SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int N); + +/* +** CAPI3REF: Checkpoint a database +** METHOD: sqlite3 +** +** ^(The sqlite3_wal_checkpoint(D,X) is equivalent to +** [sqlite3_wal_checkpoint_v2](D,X,[SQLITE_CHECKPOINT_PASSIVE],0,0).)^ +** +** In brief, sqlite3_wal_checkpoint(D,X) causes the content in the +** [write-ahead log] for database X on [database connection] D to be +** transferred into the database file and for the write-ahead log to +** be reset. See the [checkpointing] documentation for addition +** information. +** +** This interface used to be the only way to cause a checkpoint to +** occur. But then the newer and more powerful [sqlite3_wal_checkpoint_v2()] +** interface was added. This interface is retained for backwards +** compatibility and as a convenience for applications that need to manually +** start a callback but which do not need the full power (and corresponding +** complication) of [sqlite3_wal_checkpoint_v2()]. +*/ +SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb); + +/* +** CAPI3REF: Checkpoint a database +** METHOD: sqlite3 +** +** ^(The sqlite3_wal_checkpoint_v2(D,X,M,L,C) interface runs a checkpoint +** operation on database X of [database connection] D in mode M. Status +** information is written back into integers pointed to by L and C.)^ +** ^(The M parameter must be a valid [checkpoint mode]:)^ +** +**
    +**
    SQLITE_CHECKPOINT_PASSIVE
    +** ^Checkpoint as many frames as possible without waiting for any database +** readers or writers to finish, then sync the database file if all frames +** in the log were checkpointed. ^The [busy-handler callback] +** is never invoked in the SQLITE_CHECKPOINT_PASSIVE mode. +** ^On the other hand, passive mode might leave the checkpoint unfinished +** if there are concurrent readers or writers. +** +**
    SQLITE_CHECKPOINT_FULL
    +** ^This mode blocks (it invokes the +** [sqlite3_busy_handler|busy-handler callback]) until there is no +** database writer and all readers are reading from the most recent database +** snapshot. ^It then checkpoints all frames in the log file and syncs the +** database file. ^This mode blocks new database writers while it is pending, +** but new database readers are allowed to continue unimpeded. +** +**
    SQLITE_CHECKPOINT_RESTART
    +** ^This mode works the same way as SQLITE_CHECKPOINT_FULL with the addition +** that after checkpointing the log file it blocks (calls the +** [busy-handler callback]) +** until all readers are reading from the database file only. ^This ensures +** that the next writer will restart the log file from the beginning. +** ^Like SQLITE_CHECKPOINT_FULL, this mode blocks new +** database writer attempts while it is pending, but does not impede readers. +** +**
    SQLITE_CHECKPOINT_TRUNCATE
    +** ^This mode works the same way as SQLITE_CHECKPOINT_RESTART with the +** addition that it also truncates the log file to zero bytes just prior +** to a successful return. +**
    +** +** ^If pnLog is not NULL, then *pnLog is set to the total number of frames in +** the log file or to -1 if the checkpoint could not run because +** of an error or because the database is not in [WAL mode]. ^If pnCkpt is not +** NULL,then *pnCkpt is set to the total number of checkpointed frames in the +** log file (including any that were already checkpointed before the function +** was called) or to -1 if the checkpoint could not run due to an error or +** because the database is not in WAL mode. ^Note that upon successful +** completion of an SQLITE_CHECKPOINT_TRUNCATE, the log file will have been +** truncated to zero bytes and so both *pnLog and *pnCkpt will be set to zero. +** +** ^All calls obtain an exclusive "checkpoint" lock on the database file. ^If +** any other process is running a checkpoint operation at the same time, the +** lock cannot be obtained and SQLITE_BUSY is returned. ^Even if there is a +** busy-handler configured, it will not be invoked in this case. +** +** ^The SQLITE_CHECKPOINT_FULL, RESTART and TRUNCATE modes also obtain the +** exclusive "writer" lock on the database file. ^If the writer lock cannot be +** obtained immediately, and a busy-handler is configured, it is invoked and +** the writer lock retried until either the busy-handler returns 0 or the lock +** is successfully obtained. ^The busy-handler is also invoked while waiting for +** database readers as described above. ^If the busy-handler returns 0 before +** the writer lock is obtained or while waiting for database readers, the +** checkpoint operation proceeds from that point in the same way as +** SQLITE_CHECKPOINT_PASSIVE - checkpointing as many frames as possible +** without blocking any further. ^SQLITE_BUSY is returned in this case. +** +** ^If parameter zDb is NULL or points to a zero length string, then the +** specified operation is attempted on all WAL databases [attached] to +** [database connection] db. In this case the +** values written to output parameters *pnLog and *pnCkpt are undefined. ^If +** an SQLITE_BUSY error is encountered when processing one or more of the +** attached WAL databases, the operation is still attempted on any remaining +** attached databases and SQLITE_BUSY is returned at the end. ^If any other +** error occurs while processing an attached database, processing is abandoned +** and the error code is returned to the caller immediately. ^If no error +** (SQLITE_BUSY or otherwise) is encountered while processing the attached +** databases, SQLITE_OK is returned. +** +** ^If database zDb is the name of an attached database that is not in WAL +** mode, SQLITE_OK is returned and both *pnLog and *pnCkpt set to -1. ^If +** zDb is not NULL (or a zero length string) and is not the name of any +** attached database, SQLITE_ERROR is returned to the caller. +** +** ^Unless it returns SQLITE_MISUSE, +** the sqlite3_wal_checkpoint_v2() interface +** sets the error information that is queried by +** [sqlite3_errcode()] and [sqlite3_errmsg()]. +** +** ^The [PRAGMA wal_checkpoint] command can be used to invoke this interface +** from SQL. +*/ +SQLITE_API int sqlite3_wal_checkpoint_v2( + sqlite3 *db, /* Database handle */ + const char *zDb, /* Name of attached database (or NULL) */ + int eMode, /* SQLITE_CHECKPOINT_* value */ + int *pnLog, /* OUT: Size of WAL log in frames */ + int *pnCkpt /* OUT: Total number of frames checkpointed */ +); + +/* +** CAPI3REF: Checkpoint Mode Values +** KEYWORDS: {checkpoint mode} +** +** These constants define all valid values for the "checkpoint mode" passed +** as the third parameter to the [sqlite3_wal_checkpoint_v2()] interface. +** See the [sqlite3_wal_checkpoint_v2()] documentation for details on the +** meaning of each of these checkpoint modes. +*/ +#define SQLITE_CHECKPOINT_PASSIVE 0 /* Do as much as possible w/o blocking */ +#define SQLITE_CHECKPOINT_FULL 1 /* Wait for writers, then checkpoint */ +#define SQLITE_CHECKPOINT_RESTART 2 /* Like FULL but wait for for readers */ +#define SQLITE_CHECKPOINT_TRUNCATE 3 /* Like RESTART but also truncate WAL */ + +/* +** CAPI3REF: Virtual Table Interface Configuration +** +** This function may be called by either the [xConnect] or [xCreate] method +** of a [virtual table] implementation to configure +** various facets of the virtual table interface. +** +** If this interface is invoked outside the context of an xConnect or +** xCreate virtual table method then the behavior is undefined. +** +** In the call sqlite3_vtab_config(D,C,...) the D parameter is the +** [database connection] in which the virtual table is being created and +** which is passed in as the first argument to the [xConnect] or [xCreate] +** method that is invoking sqlite3_vtab_config(). The C parameter is one +** of the [virtual table configuration options]. The presence and meaning +** of parameters after C depend on which [virtual table configuration option] +** is used. +*/ +SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...); + +/* +** CAPI3REF: Virtual Table Configuration Options +** KEYWORDS: {virtual table configuration options} +** KEYWORDS: {virtual table configuration option} +** +** These macros define the various options to the +** [sqlite3_vtab_config()] interface that [virtual table] implementations +** can use to customize and optimize their behavior. +** +**
    +** [[SQLITE_VTAB_CONSTRAINT_SUPPORT]] +**
    SQLITE_VTAB_CONSTRAINT_SUPPORT
    +**
    Calls of the form +** [sqlite3_vtab_config](db,SQLITE_VTAB_CONSTRAINT_SUPPORT,X) are supported, +** where X is an integer. If X is zero, then the [virtual table] whose +** [xCreate] or [xConnect] method invoked [sqlite3_vtab_config()] does not +** support constraints. In this configuration (which is the default) if +** a call to the [xUpdate] method returns [SQLITE_CONSTRAINT], then the entire +** statement is rolled back as if [ON CONFLICT | OR ABORT] had been +** specified as part of the users SQL statement, regardless of the actual +** ON CONFLICT mode specified. +** +** If X is non-zero, then the virtual table implementation guarantees +** that if [xUpdate] returns [SQLITE_CONSTRAINT], it will do so before +** any modifications to internal or persistent data structures have been made. +** If the [ON CONFLICT] mode is ABORT, FAIL, IGNORE or ROLLBACK, SQLite +** is able to roll back a statement or database transaction, and abandon +** or continue processing the current SQL statement as appropriate. +** If the ON CONFLICT mode is REPLACE and the [xUpdate] method returns +** [SQLITE_CONSTRAINT], SQLite handles this as if the ON CONFLICT mode +** had been ABORT. +** +** Virtual table implementations that are required to handle OR REPLACE +** must do so within the [xUpdate] method. If a call to the +** [sqlite3_vtab_on_conflict()] function indicates that the current ON +** CONFLICT policy is REPLACE, the virtual table implementation should +** silently replace the appropriate rows within the xUpdate callback and +** return SQLITE_OK. Or, if this is not possible, it may return +** SQLITE_CONSTRAINT, in which case SQLite falls back to OR ABORT +** constraint handling. +**
    +** +** [[SQLITE_VTAB_DIRECTONLY]]
    SQLITE_VTAB_DIRECTONLY
    +**
    Calls of the form +** [sqlite3_vtab_config](db,SQLITE_VTAB_DIRECTONLY) from within the +** the [xConnect] or [xCreate] methods of a [virtual table] implmentation +** prohibits that virtual table from being used from within triggers and +** views. +**
    +** +** [[SQLITE_VTAB_INNOCUOUS]]
    SQLITE_VTAB_INNOCUOUS
    +**
    Calls of the form +** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the +** the [xConnect] or [xCreate] methods of a [virtual table] implmentation +** identify that virtual table as being safe to use from within triggers +** and views. Conceptually, the SQLITE_VTAB_INNOCUOUS tag means that the +** virtual table can do no serious harm even if it is controlled by a +** malicious hacker. Developers should avoid setting the SQLITE_VTAB_INNOCUOUS +** flag unless absolutely necessary. +**
    +**
    +*/ +#define SQLITE_VTAB_CONSTRAINT_SUPPORT 1 +#define SQLITE_VTAB_INNOCUOUS 2 +#define SQLITE_VTAB_DIRECTONLY 3 + +/* +** CAPI3REF: Determine The Virtual Table Conflict Policy +** +** This function may only be called from within a call to the [xUpdate] method +** of a [virtual table] implementation for an INSERT or UPDATE operation. ^The +** value returned is one of [SQLITE_ROLLBACK], [SQLITE_IGNORE], [SQLITE_FAIL], +** [SQLITE_ABORT], or [SQLITE_REPLACE], according to the [ON CONFLICT] mode +** of the SQL statement that triggered the call to the [xUpdate] method of the +** [virtual table]. +*/ +SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *); + +/* +** CAPI3REF: Determine If Virtual Table Column Access Is For UPDATE +** +** If the sqlite3_vtab_nochange(X) routine is called within the [xColumn] +** method of a [virtual table], then it might return true if the +** column is being fetched as part of an UPDATE operation during which the +** column value will not change. The virtual table implementation can use +** this hint as permission to substitute a return value that is less +** expensive to compute and that the corresponding +** [xUpdate] method understands as a "no-change" value. +** +** If the [xColumn] method calls sqlite3_vtab_nochange() and finds that +** the column is not changed by the UPDATE statement, then the xColumn +** method can optionally return without setting a result, without calling +** any of the [sqlite3_result_int|sqlite3_result_xxxxx() interfaces]. +** In that case, [sqlite3_value_nochange(X)] will return true for the +** same column in the [xUpdate] method. +** +** The sqlite3_vtab_nochange() routine is an optimization. Virtual table +** implementations should continue to give a correct answer even if the +** sqlite3_vtab_nochange() interface were to always return false. In the +** current implementation, the sqlite3_vtab_nochange() interface does always +** returns false for the enhanced [UPDATE FROM] statement. +*/ +SQLITE_API int sqlite3_vtab_nochange(sqlite3_context*); + +/* +** CAPI3REF: Determine The Collation For a Virtual Table Constraint +** METHOD: sqlite3_index_info +** +** This function may only be called from within a call to the [xBestIndex] +** method of a [virtual table]. This function returns a pointer to a string +** that is the name of the appropriate collation sequence to use for text +** comparisons on the constraint identified by its arguments. +** +** The first argument must be the pointer to the [sqlite3_index_info] object +** that is the first parameter to the xBestIndex() method. The second argument +** must be an index into the aConstraint[] array belonging to the +** sqlite3_index_info structure passed to xBestIndex. +** +** Important: +** The first parameter must be the same pointer that is passed into the +** xBestMethod() method. The first parameter may not be a pointer to a +** different [sqlite3_index_info] object, even an exact copy. +** +** The return value is computed as follows: +** +**
      +**
    1. If the constraint comes from a WHERE clause expression that contains +** a [COLLATE operator], then the name of the collation specified by +** that COLLATE operator is returned. +**

    2. If there is no COLLATE operator, but the column that is the subject +** of the constraint specifies an alternative collating sequence via +** a [COLLATE clause] on the column definition within the CREATE TABLE +** statement that was passed into [sqlite3_declare_vtab()], then the +** name of that alternative collating sequence is returned. +**

    3. Otherwise, "BINARY" is returned. +**

    +*/ +SQLITE_API SQLITE_EXPERIMENTAL const char *sqlite3_vtab_collation(sqlite3_index_info*,int); + +/* +** CAPI3REF: Determine if a virtual table query is DISTINCT +** METHOD: sqlite3_index_info +** +** This API may only be used from within an [xBestIndex|xBestIndex method] +** of a [virtual table] implementation. The result of calling this +** interface from outside of xBestIndex() is undefined and probably harmful. +** +** ^The sqlite3_vtab_distinct() interface returns an integer between 0 and +** 3. The integer returned by sqlite3_vtab_distinct() +** gives the virtual table additional information about how the query +** planner wants the output to be ordered. As long as the virtual table +** can meet the ordering requirements of the query planner, it may set +** the "orderByConsumed" flag. +** +**
    1. +** ^If the sqlite3_vtab_distinct() interface returns 0, that means +** that the query planner needs the virtual table to return all rows in the +** sort order defined by the "nOrderBy" and "aOrderBy" fields of the +** [sqlite3_index_info] object. This is the default expectation. If the +** virtual table outputs all rows in sorted order, then it is always safe for +** the xBestIndex method to set the "orderByConsumed" flag, regardless of +** the return value from sqlite3_vtab_distinct(). +**

    2. +** ^(If the sqlite3_vtab_distinct() interface returns 1, that means +** that the query planner does not need the rows to be returned in sorted order +** as long as all rows with the same values in all columns identified by the +** "aOrderBy" field are adjacent.)^ This mode is used when the query planner +** is doing a GROUP BY. +**

    3. +** ^(If the sqlite3_vtab_distinct() interface returns 2, that means +** that the query planner does not need the rows returned in any particular +** order, as long as rows with the same values in all "aOrderBy" columns +** are adjacent.)^ ^(Furthermore, only a single row for each particular +** combination of values in the columns identified by the "aOrderBy" field +** needs to be returned.)^ ^It is always ok for two or more rows with the same +** values in all "aOrderBy" columns to be returned, as long as all such rows +** are adjacent. ^The virtual table may, if it chooses, omit extra rows +** that have the same value for all columns identified by "aOrderBy". +** ^However omitting the extra rows is optional. +** This mode is used for a DISTINCT query. +**

    4. +** ^(If the sqlite3_vtab_distinct() interface returns 3, that means +** that the query planner needs only distinct rows but it does need the +** rows to be sorted.)^ ^The virtual table implementation is free to omit +** rows that are identical in all aOrderBy columns, if it wants to, but +** it is not required to omit any rows. This mode is used for queries +** that have both DISTINCT and ORDER BY clauses. +**

    +** +** ^For the purposes of comparing virtual table output values to see if the +** values are same value for sorting purposes, two NULL values are considered +** to be the same. In other words, the comparison operator is "IS" +** (or "IS NOT DISTINCT FROM") and not "==". +** +** If a virtual table implementation is unable to meet the requirements +** specified above, then it must not set the "orderByConsumed" flag in the +** [sqlite3_index_info] object or an incorrect answer may result. +** +** ^A virtual table implementation is always free to return rows in any order +** it wants, as long as the "orderByConsumed" flag is not set. ^When the +** the "orderByConsumed" flag is unset, the query planner will add extra +** [bytecode] to ensure that the final results returned by the SQL query are +** ordered correctly. The use of the "orderByConsumed" flag and the +** sqlite3_vtab_distinct() interface is merely an optimization. ^Careful +** use of the sqlite3_vtab_distinct() interface and the "orderByConsumed" +** flag might help queries against a virtual table to run faster. Being +** overly aggressive and setting the "orderByConsumed" flag when it is not +** valid to do so, on the other hand, might cause SQLite to return incorrect +** results. +*/ +SQLITE_API int sqlite3_vtab_distinct(sqlite3_index_info*); + +/* +** CAPI3REF: Identify and handle IN constraints in xBestIndex +** +** This interface may only be used from within an +** [xBestIndex|xBestIndex() method] of a [virtual table] implementation. +** The result of invoking this interface from any other context is +** undefined and probably harmful. +** +** ^(A constraint on a virtual table of the form +** "[IN operator|column IN (...)]" is +** communicated to the xBestIndex method as a +** [SQLITE_INDEX_CONSTRAINT_EQ] constraint.)^ If xBestIndex wants to use +** this constraint, it must set the corresponding +** aConstraintUsage[].argvIndex to a postive integer. ^(Then, under +** the usual mode of handling IN operators, SQLite generates [bytecode] +** that invokes the [xFilter|xFilter() method] once for each value +** on the right-hand side of the IN operator.)^ Thus the virtual table +** only sees a single value from the right-hand side of the IN operator +** at a time. +** +** In some cases, however, it would be advantageous for the virtual +** table to see all values on the right-hand of the IN operator all at +** once. The sqlite3_vtab_in() interfaces facilitates this in two ways: +** +**
      +**
    1. +** ^A call to sqlite3_vtab_in(P,N,-1) will return true (non-zero) +** if and only if the [sqlite3_index_info|P->aConstraint][N] constraint +** is an [IN operator] that can be processed all at once. ^In other words, +** sqlite3_vtab_in() with -1 in the third argument is a mechanism +** by which the virtual table can ask SQLite if all-at-once processing +** of the IN operator is even possible. +** +**

    2. +** ^A call to sqlite3_vtab_in(P,N,F) with F==1 or F==0 indicates +** to SQLite that the virtual table does or does not want to process +** the IN operator all-at-once, respectively. ^Thus when the third +** parameter (F) is non-negative, this interface is the mechanism by +** which the virtual table tells SQLite how it wants to process the +** IN operator. +**

    +** +** ^The sqlite3_vtab_in(P,N,F) interface can be invoked multiple times +** within the same xBestIndex method call. ^For any given P,N pair, +** the return value from sqlite3_vtab_in(P,N,F) will always be the same +** within the same xBestIndex call. ^If the interface returns true +** (non-zero), that means that the constraint is an IN operator +** that can be processed all-at-once. ^If the constraint is not an IN +** operator or cannot be processed all-at-once, then the interface returns +** false. +** +** ^(All-at-once processing of the IN operator is selected if both of the +** following conditions are met: +** +**
      +**
    1. The P->aConstraintUsage[N].argvIndex value is set to a positive +** integer. This is how the virtual table tells SQLite that it wants to +** use the N-th constraint. +** +**

    2. The last call to sqlite3_vtab_in(P,N,F) for which F was +** non-negative had F>=1. +**

    )^ +** +** ^If either or both of the conditions above are false, then SQLite uses +** the traditional one-at-a-time processing strategy for the IN constraint. +** ^If both conditions are true, then the argvIndex-th parameter to the +** xFilter method will be an [sqlite3_value] that appears to be NULL, +** but which can be passed to [sqlite3_vtab_in_first()] and +** [sqlite3_vtab_in_next()] to find all values on the right-hand side +** of the IN constraint. +*/ +SQLITE_API int sqlite3_vtab_in(sqlite3_index_info*, int iCons, int bHandle); + +/* +** CAPI3REF: Find all elements on the right-hand side of an IN constraint. +** +** These interfaces are only useful from within the +** [xFilter|xFilter() method] of a [virtual table] implementation. +** The result of invoking these interfaces from any other context +** is undefined and probably harmful. +** +** The X parameter in a call to sqlite3_vtab_in_first(X,P) or +** sqlite3_vtab_in_next(X,P) must be one of the parameters to the +** xFilter method which invokes these routines, and specifically +** a parameter that was previously selected for all-at-once IN constraint +** processing use the [sqlite3_vtab_in()] interface in the +** [xBestIndex|xBestIndex method]. ^(If the X parameter is not +** an xFilter argument that was selected for all-at-once IN constraint +** processing, then these routines return [SQLITE_MISUSE])^ or perhaps +** exhibit some other undefined or harmful behavior. +** +** ^(Use these routines to access all values on the right-hand side +** of the IN constraint using code like the following: +** +**
    +**    for(rc=sqlite3_vtab_in_first(pList, &pVal);
    +**        rc==SQLITE_OK && pVal
    +**        rc=sqlite3_vtab_in_next(pList, &pVal)
    +**    ){
    +**      // do something with pVal
    +**    }
    +**    if( rc!=SQLITE_OK ){
    +**      // an error has occurred
    +**    }
    +** 
    )^ +** +** ^On success, the sqlite3_vtab_in_first(X,P) and sqlite3_vtab_in_next(X,P) +** routines return SQLITE_OK and set *P to point to the first or next value +** on the RHS of the IN constraint. ^If there are no more values on the +** right hand side of the IN constraint, then *P is set to NULL and these +** routines return [SQLITE_DONE]. ^The return value might be +** some other value, such as SQLITE_NOMEM, in the event of a malfunction. +** +** The *ppOut values returned by these routines are only valid until the +** next call to either of these routines or until the end of the xFilter +** method from which these routines were called. If the virtual table +** implementation needs to retain the *ppOut values for longer, it must make +** copies. The *ppOut values are [protected sqlite3_value|protected]. +*/ +SQLITE_API int sqlite3_vtab_in_first(sqlite3_value *pVal, sqlite3_value **ppOut); +SQLITE_API int sqlite3_vtab_in_next(sqlite3_value *pVal, sqlite3_value **ppOut); + +/* +** CAPI3REF: Constraint values in xBestIndex() +** METHOD: sqlite3_index_info +** +** This API may only be used from within the [xBestIndex|xBestIndex method] +** of a [virtual table] implementation. The result of calling this interface +** from outside of an xBestIndex method are undefined and probably harmful. +** +** ^When the sqlite3_vtab_rhs_value(P,J,V) interface is invoked from within +** the [xBestIndex] method of a [virtual table] implementation, with P being +** a copy of the [sqlite3_index_info] object pointer passed into xBestIndex and +** J being a 0-based index into P->aConstraint[], then this routine +** attempts to set *V to the value of the right-hand operand of +** that constraint if the right-hand operand is known. ^If the +** right-hand operand is not known, then *V is set to a NULL pointer. +** ^The sqlite3_vtab_rhs_value(P,J,V) interface returns SQLITE_OK if +** and only if *V is set to a value. ^The sqlite3_vtab_rhs_value(P,J,V) +** inteface returns SQLITE_NOTFOUND if the right-hand side of the J-th +** constraint is not available. ^The sqlite3_vtab_rhs_value() interface +** can return an result code other than SQLITE_OK or SQLITE_NOTFOUND if +** something goes wrong. +** +** The sqlite3_vtab_rhs_value() interface is usually only successful if +** the right-hand operand of a constraint is a literal value in the original +** SQL statement. If the right-hand operand is an expression or a reference +** to some other column or a [host parameter], then sqlite3_vtab_rhs_value() +** will probably return [SQLITE_NOTFOUND]. +** +** ^(Some constraints, such as [SQLITE_INDEX_CONSTRAINT_ISNULL] and +** [SQLITE_INDEX_CONSTRAINT_ISNOTNULL], have no right-hand operand. For such +** constraints, sqlite3_vtab_rhs_value() always returns SQLITE_NOTFOUND.)^ +** +** ^The [sqlite3_value] object returned in *V is a protected sqlite3_value +** and remains valid for the duration of the xBestIndex method call. +** ^When xBestIndex returns, the sqlite3_value object returned by +** sqlite3_vtab_rhs_value() is automatically deallocated. +** +** The "_rhs_" in the name of this routine is an abbreviation for +** "Right-Hand Side". +*/ +SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **ppVal); + +/* +** CAPI3REF: Conflict resolution modes +** KEYWORDS: {conflict resolution mode} +** +** These constants are returned by [sqlite3_vtab_on_conflict()] to +** inform a [virtual table] implementation what the [ON CONFLICT] mode +** is for the SQL statement being evaluated. +** +** Note that the [SQLITE_IGNORE] constant is also used as a potential +** return value from the [sqlite3_set_authorizer()] callback and that +** [SQLITE_ABORT] is also a [result code]. +*/ +#define SQLITE_ROLLBACK 1 +/* #define SQLITE_IGNORE 2 // Also used by sqlite3_authorizer() callback */ +#define SQLITE_FAIL 3 +/* #define SQLITE_ABORT 4 // Also an error code */ +#define SQLITE_REPLACE 5 + +/* +** CAPI3REF: Prepared Statement Scan Status Opcodes +** KEYWORDS: {scanstatus options} +** +** The following constants can be used for the T parameter to the +** [sqlite3_stmt_scanstatus(S,X,T,V)] interface. Each constant designates a +** different metric for sqlite3_stmt_scanstatus() to return. +** +** When the value returned to V is a string, space to hold that string is +** managed by the prepared statement S and will be automatically freed when +** S is finalized. +** +**
    +** [[SQLITE_SCANSTAT_NLOOP]]
    SQLITE_SCANSTAT_NLOOP
    +**
    ^The [sqlite3_int64] variable pointed to by the V parameter will be +** set to the total number of times that the X-th loop has run.
    +** +** [[SQLITE_SCANSTAT_NVISIT]]
    SQLITE_SCANSTAT_NVISIT
    +**
    ^The [sqlite3_int64] variable pointed to by the V parameter will be set +** to the total number of rows examined by all iterations of the X-th loop.
    +** +** [[SQLITE_SCANSTAT_EST]]
    SQLITE_SCANSTAT_EST
    +**
    ^The "double" variable pointed to by the V parameter will be set to the +** query planner's estimate for the average number of rows output from each +** iteration of the X-th loop. If the query planner's estimates was accurate, +** then this value will approximate the quotient NVISIT/NLOOP and the +** product of this value for all prior loops with the same SELECTID will +** be the NLOOP value for the current loop. +** +** [[SQLITE_SCANSTAT_NAME]]
    SQLITE_SCANSTAT_NAME
    +**
    ^The "const char *" variable pointed to by the V parameter will be set +** to a zero-terminated UTF-8 string containing the name of the index or table +** used for the X-th loop. +** +** [[SQLITE_SCANSTAT_EXPLAIN]]
    SQLITE_SCANSTAT_EXPLAIN
    +**
    ^The "const char *" variable pointed to by the V parameter will be set +** to a zero-terminated UTF-8 string containing the [EXPLAIN QUERY PLAN] +** description for the X-th loop. +** +** [[SQLITE_SCANSTAT_SELECTID]]
    SQLITE_SCANSTAT_SELECT
    +**
    ^The "int" variable pointed to by the V parameter will be set to the +** "select-id" for the X-th loop. The select-id identifies which query or +** subquery the loop is part of. The main query has a select-id of zero. +** The select-id is the same value as is output in the first column +** of an [EXPLAIN QUERY PLAN] query. +**
    +*/ +#define SQLITE_SCANSTAT_NLOOP 0 +#define SQLITE_SCANSTAT_NVISIT 1 +#define SQLITE_SCANSTAT_EST 2 +#define SQLITE_SCANSTAT_NAME 3 +#define SQLITE_SCANSTAT_EXPLAIN 4 +#define SQLITE_SCANSTAT_SELECTID 5 + +/* +** CAPI3REF: Prepared Statement Scan Status +** METHOD: sqlite3_stmt +** +** This interface returns information about the predicted and measured +** performance for pStmt. Advanced applications can use this +** interface to compare the predicted and the measured performance and +** issue warnings and/or rerun [ANALYZE] if discrepancies are found. +** +** Since this interface is expected to be rarely used, it is only +** available if SQLite is compiled using the [SQLITE_ENABLE_STMT_SCANSTATUS] +** compile-time option. +** +** The "iScanStatusOp" parameter determines which status information to return. +** The "iScanStatusOp" must be one of the [scanstatus options] or the behavior +** of this interface is undefined. +** ^The requested measurement is written into a variable pointed to by +** the "pOut" parameter. +** Parameter "idx" identifies the specific loop to retrieve statistics for. +** Loops are numbered starting from zero. ^If idx is out of range - less than +** zero or greater than or equal to the total number of loops used to implement +** the statement - a non-zero value is returned and the variable that pOut +** points to is unchanged. +** +** ^Statistics might not be available for all loops in all statements. ^In cases +** where there exist loops with no available statistics, this function behaves +** as if the loop did not exist - it returns non-zero and leave the variable +** that pOut points to unchanged. +** +** See also: [sqlite3_stmt_scanstatus_reset()] +*/ +SQLITE_API int sqlite3_stmt_scanstatus( + sqlite3_stmt *pStmt, /* Prepared statement for which info desired */ + int idx, /* Index of loop to report on */ + int iScanStatusOp, /* Information desired. SQLITE_SCANSTAT_* */ + void *pOut /* Result written here */ +); + +/* +** CAPI3REF: Zero Scan-Status Counters +** METHOD: sqlite3_stmt +** +** ^Zero all [sqlite3_stmt_scanstatus()] related event counters. +** +** This API is only available if the library is built with pre-processor +** symbol [SQLITE_ENABLE_STMT_SCANSTATUS] defined. +*/ +SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*); + +/* +** CAPI3REF: Flush caches to disk mid-transaction +** METHOD: sqlite3 +** +** ^If a write-transaction is open on [database connection] D when the +** [sqlite3_db_cacheflush(D)] interface invoked, any dirty +** pages in the pager-cache that are not currently in use are written out +** to disk. A dirty page may be in use if a database cursor created by an +** active SQL statement is reading from it, or if it is page 1 of a database +** file (page 1 is always "in use"). ^The [sqlite3_db_cacheflush(D)] +** interface flushes caches for all schemas - "main", "temp", and +** any [attached] databases. +** +** ^If this function needs to obtain extra database locks before dirty pages +** can be flushed to disk, it does so. ^If those locks cannot be obtained +** immediately and there is a busy-handler callback configured, it is invoked +** in the usual manner. ^If the required lock still cannot be obtained, then +** the database is skipped and an attempt made to flush any dirty pages +** belonging to the next (if any) database. ^If any databases are skipped +** because locks cannot be obtained, but no other error occurs, this +** function returns SQLITE_BUSY. +** +** ^If any other error occurs while flushing dirty pages to disk (for +** example an IO error or out-of-memory condition), then processing is +** abandoned and an SQLite [error code] is returned to the caller immediately. +** +** ^Otherwise, if no error occurs, [sqlite3_db_cacheflush()] returns SQLITE_OK. +** +** ^This function does not set the database handle error code or message +** returned by the [sqlite3_errcode()] and [sqlite3_errmsg()] functions. +*/ +SQLITE_API int sqlite3_db_cacheflush(sqlite3*); + +/* +** CAPI3REF: The pre-update hook. +** METHOD: sqlite3 +** +** ^These interfaces are only available if SQLite is compiled using the +** [SQLITE_ENABLE_PREUPDATE_HOOK] compile-time option. +** +** ^The [sqlite3_preupdate_hook()] interface registers a callback function +** that is invoked prior to each [INSERT], [UPDATE], and [DELETE] operation +** on a database table. +** ^At most one preupdate hook may be registered at a time on a single +** [database connection]; each call to [sqlite3_preupdate_hook()] overrides +** the previous setting. +** ^The preupdate hook is disabled by invoking [sqlite3_preupdate_hook()] +** with a NULL pointer as the second parameter. +** ^The third parameter to [sqlite3_preupdate_hook()] is passed through as +** the first parameter to callbacks. +** +** ^The preupdate hook only fires for changes to real database tables; the +** preupdate hook is not invoked for changes to [virtual tables] or to +** system tables like sqlite_sequence or sqlite_stat1. +** +** ^The second parameter to the preupdate callback is a pointer to +** the [database connection] that registered the preupdate hook. +** ^The third parameter to the preupdate callback is one of the constants +** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to identify the +** kind of update operation that is about to occur. +** ^(The fourth parameter to the preupdate callback is the name of the +** database within the database connection that is being modified. This +** will be "main" for the main database or "temp" for TEMP tables or +** the name given after the AS keyword in the [ATTACH] statement for attached +** databases.)^ +** ^The fifth parameter to the preupdate callback is the name of the +** table that is being modified. +** +** For an UPDATE or DELETE operation on a [rowid table], the sixth +** parameter passed to the preupdate callback is the initial [rowid] of the +** row being modified or deleted. For an INSERT operation on a rowid table, +** or any operation on a WITHOUT ROWID table, the value of the sixth +** parameter is undefined. For an INSERT or UPDATE on a rowid table the +** seventh parameter is the final rowid value of the row being inserted +** or updated. The value of the seventh parameter passed to the callback +** function is not defined for operations on WITHOUT ROWID tables, or for +** DELETE operations on rowid tables. +** +** The [sqlite3_preupdate_old()], [sqlite3_preupdate_new()], +** [sqlite3_preupdate_count()], and [sqlite3_preupdate_depth()] interfaces +** provide additional information about a preupdate event. These routines +** may only be called from within a preupdate callback. Invoking any of +** these routines from outside of a preupdate callback or with a +** [database connection] pointer that is different from the one supplied +** to the preupdate callback results in undefined and probably undesirable +** behavior. +** +** ^The [sqlite3_preupdate_count(D)] interface returns the number of columns +** in the row that is being inserted, updated, or deleted. +** +** ^The [sqlite3_preupdate_old(D,N,P)] interface writes into P a pointer to +** a [protected sqlite3_value] that contains the value of the Nth column of +** the table row before it is updated. The N parameter must be between 0 +** and one less than the number of columns or the behavior will be +** undefined. This must only be used within SQLITE_UPDATE and SQLITE_DELETE +** preupdate callbacks; if it is used by an SQLITE_INSERT callback then the +** behavior is undefined. The [sqlite3_value] that P points to +** will be destroyed when the preupdate callback returns. +** +** ^The [sqlite3_preupdate_new(D,N,P)] interface writes into P a pointer to +** a [protected sqlite3_value] that contains the value of the Nth column of +** the table row after it is updated. The N parameter must be between 0 +** and one less than the number of columns or the behavior will be +** undefined. This must only be used within SQLITE_INSERT and SQLITE_UPDATE +** preupdate callbacks; if it is used by an SQLITE_DELETE callback then the +** behavior is undefined. The [sqlite3_value] that P points to +** will be destroyed when the preupdate callback returns. +** +** ^The [sqlite3_preupdate_depth(D)] interface returns 0 if the preupdate +** callback was invoked as a result of a direct insert, update, or delete +** operation; or 1 for inserts, updates, or deletes invoked by top-level +** triggers; or 2 for changes resulting from triggers called by top-level +** triggers; and so forth. +** +** When the [sqlite3_blob_write()] API is used to update a blob column, +** the pre-update hook is invoked with SQLITE_DELETE. This is because the +** in this case the new values are not available. In this case, when a +** callback made with op==SQLITE_DELETE is actuall a write using the +** sqlite3_blob_write() API, the [sqlite3_preupdate_blobwrite()] returns +** the index of the column being written. In other cases, where the +** pre-update hook is being invoked for some other reason, including a +** regular DELETE, sqlite3_preupdate_blobwrite() returns -1. +** +** See also: [sqlite3_update_hook()] +*/ +#if defined(SQLITE_ENABLE_PREUPDATE_HOOK) +SQLITE_API void *sqlite3_preupdate_hook( + sqlite3 *db, + void(*xPreUpdate)( + void *pCtx, /* Copy of third arg to preupdate_hook() */ + sqlite3 *db, /* Database handle */ + int op, /* SQLITE_UPDATE, DELETE or INSERT */ + char const *zDb, /* Database name */ + char const *zName, /* Table name */ + sqlite3_int64 iKey1, /* Rowid of row about to be deleted/updated */ + sqlite3_int64 iKey2 /* New rowid value (for a rowid UPDATE) */ + ), + void* +); +SQLITE_API int sqlite3_preupdate_old(sqlite3 *, int, sqlite3_value **); +SQLITE_API int sqlite3_preupdate_count(sqlite3 *); +SQLITE_API int sqlite3_preupdate_depth(sqlite3 *); +SQLITE_API int sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **); +SQLITE_API int sqlite3_preupdate_blobwrite(sqlite3 *); +#endif + +/* +** CAPI3REF: Low-level system error code +** METHOD: sqlite3 +** +** ^Attempt to return the underlying operating system error code or error +** number that caused the most recent I/O error or failure to open a file. +** The return value is OS-dependent. For example, on unix systems, after +** [sqlite3_open_v2()] returns [SQLITE_CANTOPEN], this interface could be +** called to get back the underlying "errno" that caused the problem, such +** as ENOSPC, EAUTH, EISDIR, and so forth. +*/ +SQLITE_API int sqlite3_system_errno(sqlite3*); + +/* +** CAPI3REF: Database Snapshot +** KEYWORDS: {snapshot} {sqlite3_snapshot} +** +** An instance of the snapshot object records the state of a [WAL mode] +** database for some specific point in history. +** +** In [WAL mode], multiple [database connections] that are open on the +** same database file can each be reading a different historical version +** of the database file. When a [database connection] begins a read +** transaction, that connection sees an unchanging copy of the database +** as it existed for the point in time when the transaction first started. +** Subsequent changes to the database from other connections are not seen +** by the reader until a new read transaction is started. +** +** The sqlite3_snapshot object records state information about an historical +** version of the database file so that it is possible to later open a new read +** transaction that sees that historical version of the database rather than +** the most recent version. +*/ +typedef struct sqlite3_snapshot { + unsigned char hidden[48]; +} sqlite3_snapshot; + +/* +** CAPI3REF: Record A Database Snapshot +** CONSTRUCTOR: sqlite3_snapshot +** +** ^The [sqlite3_snapshot_get(D,S,P)] interface attempts to make a +** new [sqlite3_snapshot] object that records the current state of +** schema S in database connection D. ^On success, the +** [sqlite3_snapshot_get(D,S,P)] interface writes a pointer to the newly +** created [sqlite3_snapshot] object into *P and returns SQLITE_OK. +** If there is not already a read-transaction open on schema S when +** this function is called, one is opened automatically. +** +** The following must be true for this function to succeed. If any of +** the following statements are false when sqlite3_snapshot_get() is +** called, SQLITE_ERROR is returned. The final value of *P is undefined +** in this case. +** +**
      +**
    • The database handle must not be in [autocommit mode]. +** +**
    • Schema S of [database connection] D must be a [WAL mode] database. +** +**
    • There must not be a write transaction open on schema S of database +** connection D. +** +**
    • One or more transactions must have been written to the current wal +** file since it was created on disk (by any connection). This means +** that a snapshot cannot be taken on a wal mode database with no wal +** file immediately after it is first opened. At least one transaction +** must be written to it first. +**
    +** +** This function may also return SQLITE_NOMEM. If it is called with the +** database handle in autocommit mode but fails for some other reason, +** whether or not a read transaction is opened on schema S is undefined. +** +** The [sqlite3_snapshot] object returned from a successful call to +** [sqlite3_snapshot_get()] must be freed using [sqlite3_snapshot_free()] +** to avoid a memory leak. +** +** The [sqlite3_snapshot_get()] interface is only available when the +** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used. +*/ +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get( + sqlite3 *db, + const char *zSchema, + sqlite3_snapshot **ppSnapshot +); + +/* +** CAPI3REF: Start a read transaction on an historical snapshot +** METHOD: sqlite3_snapshot +** +** ^The [sqlite3_snapshot_open(D,S,P)] interface either starts a new read +** transaction or upgrades an existing one for schema S of +** [database connection] D such that the read transaction refers to +** historical [snapshot] P, rather than the most recent change to the +** database. ^The [sqlite3_snapshot_open()] interface returns SQLITE_OK +** on success or an appropriate [error code] if it fails. +** +** ^In order to succeed, the database connection must not be in +** [autocommit mode] when [sqlite3_snapshot_open(D,S,P)] is called. If there +** is already a read transaction open on schema S, then the database handle +** must have no active statements (SELECT statements that have been passed +** to sqlite3_step() but not sqlite3_reset() or sqlite3_finalize()). +** SQLITE_ERROR is returned if either of these conditions is violated, or +** if schema S does not exist, or if the snapshot object is invalid. +** +** ^A call to sqlite3_snapshot_open() will fail to open if the specified +** snapshot has been overwritten by a [checkpoint]. In this case +** SQLITE_ERROR_SNAPSHOT is returned. +** +** If there is already a read transaction open when this function is +** invoked, then the same read transaction remains open (on the same +** database snapshot) if SQLITE_ERROR, SQLITE_BUSY or SQLITE_ERROR_SNAPSHOT +** is returned. If another error code - for example SQLITE_PROTOCOL or an +** SQLITE_IOERR error code - is returned, then the final state of the +** read transaction is undefined. If SQLITE_OK is returned, then the +** read transaction is now open on database snapshot P. +** +** ^(A call to [sqlite3_snapshot_open(D,S,P)] will fail if the +** database connection D does not know that the database file for +** schema S is in [WAL mode]. A database connection might not know +** that the database file is in [WAL mode] if there has been no prior +** I/O on that database connection, or if the database entered [WAL mode] +** after the most recent I/O on the database connection.)^ +** (Hint: Run "[PRAGMA application_id]" against a newly opened +** database connection in order to make it ready to use snapshots.) +** +** The [sqlite3_snapshot_open()] interface is only available when the +** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used. +*/ +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_open( + sqlite3 *db, + const char *zSchema, + sqlite3_snapshot *pSnapshot +); + +/* +** CAPI3REF: Destroy a snapshot +** DESTRUCTOR: sqlite3_snapshot +** +** ^The [sqlite3_snapshot_free(P)] interface destroys [sqlite3_snapshot] P. +** The application must eventually free every [sqlite3_snapshot] object +** using this routine to avoid a memory leak. +** +** The [sqlite3_snapshot_free()] interface is only available when the +** [SQLITE_ENABLE_SNAPSHOT] compile-time option is used. +*/ +SQLITE_API SQLITE_EXPERIMENTAL void sqlite3_snapshot_free(sqlite3_snapshot*); + +/* +** CAPI3REF: Compare the ages of two snapshot handles. +** METHOD: sqlite3_snapshot +** +** The sqlite3_snapshot_cmp(P1, P2) interface is used to compare the ages +** of two valid snapshot handles. +** +** If the two snapshot handles are not associated with the same database +** file, the result of the comparison is undefined. +** +** Additionally, the result of the comparison is only valid if both of the +** snapshot handles were obtained by calling sqlite3_snapshot_get() since the +** last time the wal file was deleted. The wal file is deleted when the +** database is changed back to rollback mode or when the number of database +** clients drops to zero. If either snapshot handle was obtained before the +** wal file was last deleted, the value returned by this function +** is undefined. +** +** Otherwise, this API returns a negative value if P1 refers to an older +** snapshot than P2, zero if the two handles refer to the same database +** snapshot, and a positive value if P1 is a newer snapshot than P2. +** +** This interface is only available if SQLite is compiled with the +** [SQLITE_ENABLE_SNAPSHOT] option. +*/ +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp( + sqlite3_snapshot *p1, + sqlite3_snapshot *p2 +); + +/* +** CAPI3REF: Recover snapshots from a wal file +** METHOD: sqlite3_snapshot +** +** If a [WAL file] remains on disk after all database connections close +** (either through the use of the [SQLITE_FCNTL_PERSIST_WAL] [file control] +** or because the last process to have the database opened exited without +** calling [sqlite3_close()]) and a new connection is subsequently opened +** on that database and [WAL file], the [sqlite3_snapshot_open()] interface +** will only be able to open the last transaction added to the WAL file +** even though the WAL file contains other valid transactions. +** +** This function attempts to scan the WAL file associated with database zDb +** of database handle db and make all valid snapshots available to +** sqlite3_snapshot_open(). It is an error if there is already a read +** transaction open on the database, or if the database is not a WAL mode +** database. +** +** SQLITE_OK is returned if successful, or an SQLite error code otherwise. +** +** This interface is only available if SQLite is compiled with the +** [SQLITE_ENABLE_SNAPSHOT] option. +*/ +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const char *zDb); + +/* +** CAPI3REF: Serialize a database +** +** The sqlite3_serialize(D,S,P,F) interface returns a pointer to memory +** that is a serialization of the S database on [database connection] D. +** If P is not a NULL pointer, then the size of the database in bytes +** is written into *P. +** +** For an ordinary on-disk database file, the serialization is just a +** copy of the disk file. For an in-memory database or a "TEMP" database, +** the serialization is the same sequence of bytes which would be written +** to disk if that database where backed up to disk. +** +** The usual case is that sqlite3_serialize() copies the serialization of +** the database into memory obtained from [sqlite3_malloc64()] and returns +** a pointer to that memory. The caller is responsible for freeing the +** returned value to avoid a memory leak. However, if the F argument +** contains the SQLITE_SERIALIZE_NOCOPY bit, then no memory allocations +** are made, and the sqlite3_serialize() function will return a pointer +** to the contiguous memory representation of the database that SQLite +** is currently using for that database, or NULL if the no such contiguous +** memory representation of the database exists. A contiguous memory +** representation of the database will usually only exist if there has +** been a prior call to [sqlite3_deserialize(D,S,...)] with the same +** values of D and S. +** The size of the database is written into *P even if the +** SQLITE_SERIALIZE_NOCOPY bit is set but no contiguous copy +** of the database exists. +** +** A call to sqlite3_serialize(D,S,P,F) might return NULL even if the +** SQLITE_SERIALIZE_NOCOPY bit is omitted from argument F if a memory +** allocation error occurs. +** +** This interface is omitted if SQLite is compiled with the +** [SQLITE_OMIT_DESERIALIZE] option. +*/ +SQLITE_API unsigned char *sqlite3_serialize( + sqlite3 *db, /* The database connection */ + const char *zSchema, /* Which DB to serialize. ex: "main", "temp", ... */ + sqlite3_int64 *piSize, /* Write size of the DB here, if not NULL */ + unsigned int mFlags /* Zero or more SQLITE_SERIALIZE_* flags */ +); + +/* +** CAPI3REF: Flags for sqlite3_serialize +** +** Zero or more of the following constants can be OR-ed together for +** the F argument to [sqlite3_serialize(D,S,P,F)]. +** +** SQLITE_SERIALIZE_NOCOPY means that [sqlite3_serialize()] will return +** a pointer to contiguous in-memory database that it is currently using, +** without making a copy of the database. If SQLite is not currently using +** a contiguous in-memory database, then this option causes +** [sqlite3_serialize()] to return a NULL pointer. SQLite will only be +** using a contiguous in-memory database if it has been initialized by a +** prior call to [sqlite3_deserialize()]. +*/ +#define SQLITE_SERIALIZE_NOCOPY 0x001 /* Do no memory allocations */ + +/* +** CAPI3REF: Deserialize a database +** +** The sqlite3_deserialize(D,S,P,N,M,F) interface causes the +** [database connection] D to disconnect from database S and then +** reopen S as an in-memory database based on the serialization contained +** in P. The serialized database P is N bytes in size. M is the size of +** the buffer P, which might be larger than N. If M is larger than N, and +** the SQLITE_DESERIALIZE_READONLY bit is not set in F, then SQLite is +** permitted to add content to the in-memory database as long as the total +** size does not exceed M bytes. +** +** If the SQLITE_DESERIALIZE_FREEONCLOSE bit is set in F, then SQLite will +** invoke sqlite3_free() on the serialization buffer when the database +** connection closes. If the SQLITE_DESERIALIZE_RESIZEABLE bit is set, then +** SQLite will try to increase the buffer size using sqlite3_realloc64() +** if writes on the database cause it to grow larger than M bytes. +** +** The sqlite3_deserialize() interface will fail with SQLITE_BUSY if the +** database is currently in a read transaction or is involved in a backup +** operation. +** +** It is not possible to deserialized into the TEMP database. If the +** S argument to sqlite3_deserialize(D,S,P,N,M,F) is "temp" then the +** function returns SQLITE_ERROR. +** +** If sqlite3_deserialize(D,S,P,N,M,F) fails for any reason and if the +** SQLITE_DESERIALIZE_FREEONCLOSE bit is set in argument F, then +** [sqlite3_free()] is invoked on argument P prior to returning. +** +** This interface is omitted if SQLite is compiled with the +** [SQLITE_OMIT_DESERIALIZE] option. +*/ +SQLITE_API int sqlite3_deserialize( + sqlite3 *db, /* The database connection */ + const char *zSchema, /* Which DB to reopen with the deserialization */ + unsigned char *pData, /* The serialized database content */ + sqlite3_int64 szDb, /* Number bytes in the deserialization */ + sqlite3_int64 szBuf, /* Total size of buffer pData[] */ + unsigned mFlags /* Zero or more SQLITE_DESERIALIZE_* flags */ +); + +/* +** CAPI3REF: Flags for sqlite3_deserialize() +** +** The following are allowed values for 6th argument (the F argument) to +** the [sqlite3_deserialize(D,S,P,N,M,F)] interface. +** +** The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization +** in the P argument is held in memory obtained from [sqlite3_malloc64()] +** and that SQLite should take ownership of this memory and automatically +** free it when it has finished using it. Without this flag, the caller +** is responsible for freeing any dynamically allocated memory. +** +** The SQLITE_DESERIALIZE_RESIZEABLE flag means that SQLite is allowed to +** grow the size of the database using calls to [sqlite3_realloc64()]. This +** flag should only be used if SQLITE_DESERIALIZE_FREEONCLOSE is also used. +** Without this flag, the deserialized database cannot increase in size beyond +** the number of bytes specified by the M parameter. +** +** The SQLITE_DESERIALIZE_READONLY flag means that the deserialized database +** should be treated as read-only. +*/ +#define SQLITE_DESERIALIZE_FREEONCLOSE 1 /* Call sqlite3_free() on close */ +#define SQLITE_DESERIALIZE_RESIZEABLE 2 /* Resize using sqlite3_realloc64() */ +#define SQLITE_DESERIALIZE_READONLY 4 /* Database is read-only */ + +/* +** Undo the hack that converts floating point types to integer for +** builds on processors without floating point support. +*/ +#ifdef SQLITE_OMIT_FLOATING_POINT +# undef double +#endif + +#ifdef __cplusplus +} /* End of the 'extern "C"' block */ +#endif +#endif /* SQLITE3_H */ + +/******** Begin file sqlite3rtree.h *********/ +/* +** 2010 August 30 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +*/ + +#ifndef _SQLITE3RTREE_H_ +#define _SQLITE3RTREE_H_ + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry; +typedef struct sqlite3_rtree_query_info sqlite3_rtree_query_info; + +/* The double-precision datatype used by RTree depends on the +** SQLITE_RTREE_INT_ONLY compile-time option. +*/ +#ifdef SQLITE_RTREE_INT_ONLY + typedef sqlite3_int64 sqlite3_rtree_dbl; +#else + typedef double sqlite3_rtree_dbl; +#endif + +/* +** Register a geometry callback named zGeom that can be used as part of an +** R-Tree geometry query as follows: +** +** SELECT ... FROM WHERE MATCH $zGeom(... params ...) +*/ +SQLITE_API int sqlite3_rtree_geometry_callback( + sqlite3 *db, + const char *zGeom, + int (*xGeom)(sqlite3_rtree_geometry*, int, sqlite3_rtree_dbl*,int*), + void *pContext +); + + +/* +** A pointer to a structure of the following type is passed as the first +** argument to callbacks registered using rtree_geometry_callback(). +*/ +struct sqlite3_rtree_geometry { + void *pContext; /* Copy of pContext passed to s_r_g_c() */ + int nParam; /* Size of array aParam[] */ + sqlite3_rtree_dbl *aParam; /* Parameters passed to SQL geom function */ + void *pUser; /* Callback implementation user data */ + void (*xDelUser)(void *); /* Called by SQLite to clean up pUser */ +}; + +/* +** Register a 2nd-generation geometry callback named zScore that can be +** used as part of an R-Tree geometry query as follows: +** +** SELECT ... FROM WHERE MATCH $zQueryFunc(... params ...) +*/ +SQLITE_API int sqlite3_rtree_query_callback( + sqlite3 *db, + const char *zQueryFunc, + int (*xQueryFunc)(sqlite3_rtree_query_info*), + void *pContext, + void (*xDestructor)(void*) +); + + +/* +** A pointer to a structure of the following type is passed as the +** argument to scored geometry callback registered using +** sqlite3_rtree_query_callback(). +** +** Note that the first 5 fields of this structure are identical to +** sqlite3_rtree_geometry. This structure is a subclass of +** sqlite3_rtree_geometry. +*/ +struct sqlite3_rtree_query_info { + void *pContext; /* pContext from when function registered */ + int nParam; /* Number of function parameters */ + sqlite3_rtree_dbl *aParam; /* value of function parameters */ + void *pUser; /* callback can use this, if desired */ + void (*xDelUser)(void*); /* function to free pUser */ + sqlite3_rtree_dbl *aCoord; /* Coordinates of node or entry to check */ + unsigned int *anQueue; /* Number of pending entries in the queue */ + int nCoord; /* Number of coordinates */ + int iLevel; /* Level of current node or entry */ + int mxLevel; /* The largest iLevel value in the tree */ + sqlite3_int64 iRowid; /* Rowid for current entry */ + sqlite3_rtree_dbl rParentScore; /* Score of parent node */ + int eParentWithin; /* Visibility of parent node */ + int eWithin; /* OUT: Visibility */ + sqlite3_rtree_dbl rScore; /* OUT: Write the score here */ + /* The following fields are only available in 3.8.11 and later */ + sqlite3_value **apSqlParam; /* Original SQL values of parameters */ +}; + +/* +** Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +*/ +#define NOT_WITHIN 0 /* Object completely outside of query region */ +#define PARTLY_WITHIN 1 /* Object partially overlaps query region */ +#define FULLY_WITHIN 2 /* Object fully contained within query region */ + + +#ifdef __cplusplus +} /* end of the 'extern "C"' block */ +#endif + +#endif /* ifndef _SQLITE3RTREE_H_ */ + +/******** End of sqlite3rtree.h *********/ +/******** Begin file sqlite3session.h *********/ + +#if !defined(__SQLITESESSION_H_) && defined(SQLITE_ENABLE_SESSION) +#define __SQLITESESSION_H_ 1 + +/* +** Make sure we can call this stuff from C++. +*/ +#ifdef __cplusplus +extern "C" { +#endif + + +/* +** CAPI3REF: Session Object Handle +** +** An instance of this object is a [session] that can be used to +** record changes to a database. +*/ +typedef struct sqlite3_session sqlite3_session; + +/* +** CAPI3REF: Changeset Iterator Handle +** +** An instance of this object acts as a cursor for iterating +** over the elements of a [changeset] or [patchset]. +*/ +typedef struct sqlite3_changeset_iter sqlite3_changeset_iter; + +/* +** CAPI3REF: Create A New Session Object +** CONSTRUCTOR: sqlite3_session +** +** Create a new session object attached to database handle db. If successful, +** a pointer to the new object is written to *ppSession and SQLITE_OK is +** returned. If an error occurs, *ppSession is set to NULL and an SQLite +** error code (e.g. SQLITE_NOMEM) is returned. +** +** It is possible to create multiple session objects attached to a single +** database handle. +** +** Session objects created using this function should be deleted using the +** [sqlite3session_delete()] function before the database handle that they +** are attached to is itself closed. If the database handle is closed before +** the session object is deleted, then the results of calling any session +** module function, including [sqlite3session_delete()] on the session object +** are undefined. +** +** Because the session module uses the [sqlite3_preupdate_hook()] API, it +** is not possible for an application to register a pre-update hook on a +** database handle that has one or more session objects attached. Nor is +** it possible to create a session object attached to a database handle for +** which a pre-update hook is already defined. The results of attempting +** either of these things are undefined. +** +** The session object will be used to create changesets for tables in +** database zDb, where zDb is either "main", or "temp", or the name of an +** attached database. It is not an error if database zDb is not attached +** to the database when the session object is created. +*/ +SQLITE_API int sqlite3session_create( + sqlite3 *db, /* Database handle */ + const char *zDb, /* Name of db (e.g. "main") */ + sqlite3_session **ppSession /* OUT: New session object */ +); + +/* +** CAPI3REF: Delete A Session Object +** DESTRUCTOR: sqlite3_session +** +** Delete a session object previously allocated using +** [sqlite3session_create()]. Once a session object has been deleted, the +** results of attempting to use pSession with any other session module +** function are undefined. +** +** Session objects must be deleted before the database handle to which they +** are attached is closed. Refer to the documentation for +** [sqlite3session_create()] for details. +*/ +SQLITE_API void sqlite3session_delete(sqlite3_session *pSession); + +/* +** CAPIREF: Conigure a Session Object +** METHOD: sqlite3_session +** +** This method is used to configure a session object after it has been +** created. At present the only valid value for the second parameter is +** [SQLITE_SESSION_OBJCONFIG_SIZE]. +** +** Arguments for sqlite3session_object_config() +** +** The following values may passed as the the 4th parameter to +** sqlite3session_object_config(). +** +**
    SQLITE_SESSION_OBJCONFIG_SIZE
    +** This option is used to set, clear or query the flag that enables +** the [sqlite3session_changeset_size()] API. Because it imposes some +** computational overhead, this API is disabled by default. Argument +** pArg must point to a value of type (int). If the value is initially +** 0, then the sqlite3session_changeset_size() API is disabled. If it +** is greater than 0, then the same API is enabled. Or, if the initial +** value is less than zero, no change is made. In all cases the (int) +** variable is set to 1 if the sqlite3session_changeset_size() API is +** enabled following the current call, or 0 otherwise. +** +** It is an error (SQLITE_MISUSE) to attempt to modify this setting after +** the first table has been attached to the session object. +*/ +SQLITE_API int sqlite3session_object_config(sqlite3_session*, int op, void *pArg); + +/* +*/ +#define SQLITE_SESSION_OBJCONFIG_SIZE 1 + +/* +** CAPI3REF: Enable Or Disable A Session Object +** METHOD: sqlite3_session +** +** Enable or disable the recording of changes by a session object. When +** enabled, a session object records changes made to the database. When +** disabled - it does not. A newly created session object is enabled. +** Refer to the documentation for [sqlite3session_changeset()] for further +** details regarding how enabling and disabling a session object affects +** the eventual changesets. +** +** Passing zero to this function disables the session. Passing a value +** greater than zero enables it. Passing a value less than zero is a +** no-op, and may be used to query the current state of the session. +** +** The return value indicates the final state of the session object: 0 if +** the session is disabled, or 1 if it is enabled. +*/ +SQLITE_API int sqlite3session_enable(sqlite3_session *pSession, int bEnable); + +/* +** CAPI3REF: Set Or Clear the Indirect Change Flag +** METHOD: sqlite3_session +** +** Each change recorded by a session object is marked as either direct or +** indirect. A change is marked as indirect if either: +** +**
      +**
    • The session object "indirect" flag is set when the change is +** made, or +**
    • The change is made by an SQL trigger or foreign key action +** instead of directly as a result of a users SQL statement. +**
    +** +** If a single row is affected by more than one operation within a session, +** then the change is considered indirect if all operations meet the criteria +** for an indirect change above, or direct otherwise. +** +** This function is used to set, clear or query the session object indirect +** flag. If the second argument passed to this function is zero, then the +** indirect flag is cleared. If it is greater than zero, the indirect flag +** is set. Passing a value less than zero does not modify the current value +** of the indirect flag, and may be used to query the current state of the +** indirect flag for the specified session object. +** +** The return value indicates the final state of the indirect flag: 0 if +** it is clear, or 1 if it is set. +*/ +SQLITE_API int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect); + +/* +** CAPI3REF: Attach A Table To A Session Object +** METHOD: sqlite3_session +** +** If argument zTab is not NULL, then it is the name of a table to attach +** to the session object passed as the first argument. All subsequent changes +** made to the table while the session object is enabled will be recorded. See +** documentation for [sqlite3session_changeset()] for further details. +** +** Or, if argument zTab is NULL, then changes are recorded for all tables +** in the database. If additional tables are added to the database (by +** executing "CREATE TABLE" statements) after this call is made, changes for +** the new tables are also recorded. +** +** Changes can only be recorded for tables that have a PRIMARY KEY explicitly +** defined as part of their CREATE TABLE statement. It does not matter if the +** PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) or not. The PRIMARY +** KEY may consist of a single column, or may be a composite key. +** +** It is not an error if the named table does not exist in the database. Nor +** is it an error if the named table does not have a PRIMARY KEY. However, +** no changes will be recorded in either of these scenarios. +** +** Changes are not recorded for individual rows that have NULL values stored +** in one or more of their PRIMARY KEY columns. +** +** SQLITE_OK is returned if the call completes without error. Or, if an error +** occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +** +**

    Special sqlite_stat1 Handling

    +** +** As of SQLite version 3.22.0, the "sqlite_stat1" table is an exception to +** some of the rules above. In SQLite, the schema of sqlite_stat1 is: +**
    +**        CREATE TABLE sqlite_stat1(tbl,idx,stat)
    +**  
    +** +** Even though sqlite_stat1 does not have a PRIMARY KEY, changes are +** recorded for it as if the PRIMARY KEY is (tbl,idx). Additionally, changes +** are recorded for rows for which (idx IS NULL) is true. However, for such +** rows a zero-length blob (SQL value X'') is stored in the changeset or +** patchset instead of a NULL value. This allows such changesets to be +** manipulated by legacy implementations of sqlite3changeset_invert(), +** concat() and similar. +** +** The sqlite3changeset_apply() function automatically converts the +** zero-length blob back to a NULL value when updating the sqlite_stat1 +** table. However, if the application calls sqlite3changeset_new(), +** sqlite3changeset_old() or sqlite3changeset_conflict on a changeset +** iterator directly (including on a changeset iterator passed to a +** conflict-handler callback) then the X'' value is returned. The application +** must translate X'' to NULL itself if required. +** +** Legacy (older than 3.22.0) versions of the sessions module cannot capture +** changes made to the sqlite_stat1 table. Legacy versions of the +** sqlite3changeset_apply() function silently ignore any modifications to the +** sqlite_stat1 table that are part of a changeset or patchset. +*/ +SQLITE_API int sqlite3session_attach( + sqlite3_session *pSession, /* Session object */ + const char *zTab /* Table name */ +); + +/* +** CAPI3REF: Set a table filter on a Session Object. +** METHOD: sqlite3_session +** +** The second argument (xFilter) is the "filter callback". For changes to rows +** in tables that are not attached to the Session object, the filter is called +** to determine whether changes to the table's rows should be tracked or not. +** If xFilter returns 0, changes are not tracked. Note that once a table is +** attached, xFilter will not be called again. +*/ +SQLITE_API void sqlite3session_table_filter( + sqlite3_session *pSession, /* Session object */ + int(*xFilter)( + void *pCtx, /* Copy of third arg to _filter_table() */ + const char *zTab /* Table name */ + ), + void *pCtx /* First argument passed to xFilter */ +); + +/* +** CAPI3REF: Generate A Changeset From A Session Object +** METHOD: sqlite3_session +** +** Obtain a changeset containing changes to the tables attached to the +** session object passed as the first argument. If successful, +** set *ppChangeset to point to a buffer containing the changeset +** and *pnChangeset to the size of the changeset in bytes before returning +** SQLITE_OK. If an error occurs, set both *ppChangeset and *pnChangeset to +** zero and return an SQLite error code. +** +** A changeset consists of zero or more INSERT, UPDATE and/or DELETE changes, +** each representing a change to a single row of an attached table. An INSERT +** change contains the values of each field of a new database row. A DELETE +** contains the original values of each field of a deleted database row. An +** UPDATE change contains the original values of each field of an updated +** database row along with the updated values for each updated non-primary-key +** column. It is not possible for an UPDATE change to represent a change that +** modifies the values of primary key columns. If such a change is made, it +** is represented in a changeset as a DELETE followed by an INSERT. +** +** Changes are not recorded for rows that have NULL values stored in one or +** more of their PRIMARY KEY columns. If such a row is inserted or deleted, +** no corresponding change is present in the changesets returned by this +** function. If an existing row with one or more NULL values stored in +** PRIMARY KEY columns is updated so that all PRIMARY KEY columns are non-NULL, +** only an INSERT is appears in the changeset. Similarly, if an existing row +** with non-NULL PRIMARY KEY values is updated so that one or more of its +** PRIMARY KEY columns are set to NULL, the resulting changeset contains a +** DELETE change only. +** +** The contents of a changeset may be traversed using an iterator created +** using the [sqlite3changeset_start()] API. A changeset may be applied to +** a database with a compatible schema using the [sqlite3changeset_apply()] +** API. +** +** Within a changeset generated by this function, all changes related to a +** single table are grouped together. In other words, when iterating through +** a changeset or when applying a changeset to a database, all changes related +** to a single table are processed before moving on to the next table. Tables +** are sorted in the same order in which they were attached (or auto-attached) +** to the sqlite3_session object. The order in which the changes related to +** a single table are stored is undefined. +** +** Following a successful call to this function, it is the responsibility of +** the caller to eventually free the buffer that *ppChangeset points to using +** [sqlite3_free()]. +** +**

    Changeset Generation

    +** +** Once a table has been attached to a session object, the session object +** records the primary key values of all new rows inserted into the table. +** It also records the original primary key and other column values of any +** deleted or updated rows. For each unique primary key value, data is only +** recorded once - the first time a row with said primary key is inserted, +** updated or deleted in the lifetime of the session. +** +** There is one exception to the previous paragraph: when a row is inserted, +** updated or deleted, if one or more of its primary key columns contain a +** NULL value, no record of the change is made. +** +** The session object therefore accumulates two types of records - those +** that consist of primary key values only (created when the user inserts +** a new record) and those that consist of the primary key values and the +** original values of other table columns (created when the users deletes +** or updates a record). +** +** When this function is called, the requested changeset is created using +** both the accumulated records and the current contents of the database +** file. Specifically: +** +**
      +**
    • For each record generated by an insert, the database is queried +** for a row with a matching primary key. If one is found, an INSERT +** change is added to the changeset. If no such row is found, no change +** is added to the changeset. +** +**
    • For each record generated by an update or delete, the database is +** queried for a row with a matching primary key. If such a row is +** found and one or more of the non-primary key fields have been +** modified from their original values, an UPDATE change is added to +** the changeset. Or, if no such row is found in the table, a DELETE +** change is added to the changeset. If there is a row with a matching +** primary key in the database, but all fields contain their original +** values, no change is added to the changeset. +**
    +** +** This means, amongst other things, that if a row is inserted and then later +** deleted while a session object is active, neither the insert nor the delete +** will be present in the changeset. Or if a row is deleted and then later a +** row with the same primary key values inserted while a session object is +** active, the resulting changeset will contain an UPDATE change instead of +** a DELETE and an INSERT. +** +** When a session object is disabled (see the [sqlite3session_enable()] API), +** it does not accumulate records when rows are inserted, updated or deleted. +** This may appear to have some counter-intuitive effects if a single row +** is written to more than once during a session. For example, if a row +** is inserted while a session object is enabled, then later deleted while +** the same session object is disabled, no INSERT record will appear in the +** changeset, even though the delete took place while the session was disabled. +** Or, if one field of a row is updated while a session is disabled, and +** another field of the same row is updated while the session is enabled, the +** resulting changeset will contain an UPDATE change that updates both fields. +*/ +SQLITE_API int sqlite3session_changeset( + sqlite3_session *pSession, /* Session object */ + int *pnChangeset, /* OUT: Size of buffer at *ppChangeset */ + void **ppChangeset /* OUT: Buffer containing changeset */ +); + +/* +** CAPI3REF: Return An Upper-limit For The Size Of The Changeset +** METHOD: sqlite3_session +** +** By default, this function always returns 0. For it to return +** a useful result, the sqlite3_session object must have been configured +** to enable this API using sqlite3session_object_config() with the +** SQLITE_SESSION_OBJCONFIG_SIZE verb. +** +** When enabled, this function returns an upper limit, in bytes, for the size +** of the changeset that might be produced if sqlite3session_changeset() were +** called. The final changeset size might be equal to or smaller than the +** size in bytes returned by this function. +*/ +SQLITE_API sqlite3_int64 sqlite3session_changeset_size(sqlite3_session *pSession); + +/* +** CAPI3REF: Load The Difference Between Tables Into A Session +** METHOD: sqlite3_session +** +** If it is not already attached to the session object passed as the first +** argument, this function attaches table zTbl in the same manner as the +** [sqlite3session_attach()] function. If zTbl does not exist, or if it +** does not have a primary key, this function is a no-op (but does not return +** an error). +** +** Argument zFromDb must be the name of a database ("main", "temp" etc.) +** attached to the same database handle as the session object that contains +** a table compatible with the table attached to the session by this function. +** A table is considered compatible if it: +** +**
      +**
    • Has the same name, +**
    • Has the same set of columns declared in the same order, and +**
    • Has the same PRIMARY KEY definition. +**
    +** +** If the tables are not compatible, SQLITE_SCHEMA is returned. If the tables +** are compatible but do not have any PRIMARY KEY columns, it is not an error +** but no changes are added to the session object. As with other session +** APIs, tables without PRIMARY KEYs are simply ignored. +** +** This function adds a set of changes to the session object that could be +** used to update the table in database zFrom (call this the "from-table") +** so that its content is the same as the table attached to the session +** object (call this the "to-table"). Specifically: +** +**
      +**
    • For each row (primary key) that exists in the to-table but not in +** the from-table, an INSERT record is added to the session object. +** +**
    • For each row (primary key) that exists in the to-table but not in +** the from-table, a DELETE record is added to the session object. +** +**
    • For each row (primary key) that exists in both tables, but features +** different non-PK values in each, an UPDATE record is added to the +** session. +**
    +** +** To clarify, if this function is called and then a changeset constructed +** using [sqlite3session_changeset()], then after applying that changeset to +** database zFrom the contents of the two compatible tables would be +** identical. +** +** It an error if database zFrom does not exist or does not contain the +** required compatible table. +** +** If the operation is successful, SQLITE_OK is returned. Otherwise, an SQLite +** error code. In this case, if argument pzErrMsg is not NULL, *pzErrMsg +** may be set to point to a buffer containing an English language error +** message. It is the responsibility of the caller to free this buffer using +** sqlite3_free(). +*/ +SQLITE_API int sqlite3session_diff( + sqlite3_session *pSession, + const char *zFromDb, + const char *zTbl, + char **pzErrMsg +); + + +/* +** CAPI3REF: Generate A Patchset From A Session Object +** METHOD: sqlite3_session +** +** The differences between a patchset and a changeset are that: +** +**
      +**
    • DELETE records consist of the primary key fields only. The +** original values of other fields are omitted. +**
    • The original values of any modified fields are omitted from +** UPDATE records. +**
    +** +** A patchset blob may be used with up to date versions of all +** sqlite3changeset_xxx API functions except for sqlite3changeset_invert(), +** which returns SQLITE_CORRUPT if it is passed a patchset. Similarly, +** attempting to use a patchset blob with old versions of the +** sqlite3changeset_xxx APIs also provokes an SQLITE_CORRUPT error. +** +** Because the non-primary key "old.*" fields are omitted, no +** SQLITE_CHANGESET_DATA conflicts can be detected or reported if a patchset +** is passed to the sqlite3changeset_apply() API. Other conflict types work +** in the same way as for changesets. +** +** Changes within a patchset are ordered in the same way as for changesets +** generated by the sqlite3session_changeset() function (i.e. all changes for +** a single table are grouped together, tables appear in the order in which +** they were attached to the session object). +*/ +SQLITE_API int sqlite3session_patchset( + sqlite3_session *pSession, /* Session object */ + int *pnPatchset, /* OUT: Size of buffer at *ppPatchset */ + void **ppPatchset /* OUT: Buffer containing patchset */ +); + +/* +** CAPI3REF: Test if a changeset has recorded any changes. +** +** Return non-zero if no changes to attached tables have been recorded by +** the session object passed as the first argument. Otherwise, if one or +** more changes have been recorded, return zero. +** +** Even if this function returns zero, it is possible that calling +** [sqlite3session_changeset()] on the session handle may still return a +** changeset that contains no changes. This can happen when a row in +** an attached table is modified and then later on the original values +** are restored. However, if this function returns non-zero, then it is +** guaranteed that a call to sqlite3session_changeset() will return a +** changeset containing zero changes. +*/ +SQLITE_API int sqlite3session_isempty(sqlite3_session *pSession); + +/* +** CAPI3REF: Query for the amount of heap memory used by a session object. +** +** This API returns the total amount of heap memory in bytes currently +** used by the session object passed as the only argument. +*/ +SQLITE_API sqlite3_int64 sqlite3session_memory_used(sqlite3_session *pSession); + +/* +** CAPI3REF: Create An Iterator To Traverse A Changeset +** CONSTRUCTOR: sqlite3_changeset_iter +** +** Create an iterator used to iterate through the contents of a changeset. +** If successful, *pp is set to point to the iterator handle and SQLITE_OK +** is returned. Otherwise, if an error occurs, *pp is set to zero and an +** SQLite error code is returned. +** +** The following functions can be used to advance and query a changeset +** iterator created by this function: +** +**
      +**
    • [sqlite3changeset_next()] +**
    • [sqlite3changeset_op()] +**
    • [sqlite3changeset_new()] +**
    • [sqlite3changeset_old()] +**
    +** +** It is the responsibility of the caller to eventually destroy the iterator +** by passing it to [sqlite3changeset_finalize()]. The buffer containing the +** changeset (pChangeset) must remain valid until after the iterator is +** destroyed. +** +** Assuming the changeset blob was created by one of the +** [sqlite3session_changeset()], [sqlite3changeset_concat()] or +** [sqlite3changeset_invert()] functions, all changes within the changeset +** that apply to a single table are grouped together. This means that when +** an application iterates through a changeset using an iterator created by +** this function, all changes that relate to a single table are visited +** consecutively. There is no chance that the iterator will visit a change +** the applies to table X, then one for table Y, and then later on visit +** another change for table X. +** +** The behavior of sqlite3changeset_start_v2() and its streaming equivalent +** may be modified by passing a combination of +** [SQLITE_CHANGESETSTART_INVERT | supported flags] as the 4th parameter. +** +** Note that the sqlite3changeset_start_v2() API is still experimental +** and therefore subject to change. +*/ +SQLITE_API int sqlite3changeset_start( + sqlite3_changeset_iter **pp, /* OUT: New changeset iterator handle */ + int nChangeset, /* Size of changeset blob in bytes */ + void *pChangeset /* Pointer to blob containing changeset */ +); +SQLITE_API int sqlite3changeset_start_v2( + sqlite3_changeset_iter **pp, /* OUT: New changeset iterator handle */ + int nChangeset, /* Size of changeset blob in bytes */ + void *pChangeset, /* Pointer to blob containing changeset */ + int flags /* SESSION_CHANGESETSTART_* flags */ +); + +/* +** CAPI3REF: Flags for sqlite3changeset_start_v2 +** +** The following flags may passed via the 4th parameter to +** [sqlite3changeset_start_v2] and [sqlite3changeset_start_v2_strm]: +** +**
    SQLITE_CHANGESETAPPLY_INVERT
    +** Invert the changeset while iterating through it. This is equivalent to +** inverting a changeset using sqlite3changeset_invert() before applying it. +** It is an error to specify this flag with a patchset. +*/ +#define SQLITE_CHANGESETSTART_INVERT 0x0002 + + +/* +** CAPI3REF: Advance A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** This function may only be used with iterators created by the function +** [sqlite3changeset_start()]. If it is called on an iterator passed to +** a conflict-handler callback by [sqlite3changeset_apply()], SQLITE_MISUSE +** is returned and the call has no effect. +** +** Immediately after an iterator is created by sqlite3changeset_start(), it +** does not point to any change in the changeset. Assuming the changeset +** is not empty, the first call to this function advances the iterator to +** point to the first change in the changeset. Each subsequent call advances +** the iterator to point to the next change in the changeset (if any). If +** no error occurs and the iterator points to a valid change after a call +** to sqlite3changeset_next() has advanced it, SQLITE_ROW is returned. +** Otherwise, if all changes in the changeset have already been visited, +** SQLITE_DONE is returned. +** +** If an error occurs, an SQLite error code is returned. Possible error +** codes include SQLITE_CORRUPT (if the changeset buffer is corrupt) or +** SQLITE_NOMEM. +*/ +SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter); + +/* +** CAPI3REF: Obtain The Current Operation From A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** The pIter argument passed to this function may either be an iterator +** passed to a conflict-handler by [sqlite3changeset_apply()], or an iterator +** created by [sqlite3changeset_start()]. In the latter case, the most recent +** call to [sqlite3changeset_next()] must have returned [SQLITE_ROW]. If this +** is not the case, this function returns [SQLITE_MISUSE]. +** +** Arguments pOp, pnCol and pzTab may not be NULL. Upon return, three +** outputs are set through these pointers: +** +** *pOp is set to one of [SQLITE_INSERT], [SQLITE_DELETE] or [SQLITE_UPDATE], +** depending on the type of change that the iterator currently points to; +** +** *pnCol is set to the number of columns in the table affected by the change; and +** +** *pzTab is set to point to a nul-terminated utf-8 encoded string containing +** the name of the table affected by the current change. The buffer remains +** valid until either sqlite3changeset_next() is called on the iterator +** or until the conflict-handler function returns. +** +** If pbIndirect is not NULL, then *pbIndirect is set to true (1) if the change +** is an indirect change, or false (0) otherwise. See the documentation for +** [sqlite3session_indirect()] for a description of direct and indirect +** changes. +** +** If no error occurs, SQLITE_OK is returned. If an error does occur, an +** SQLite error code is returned. The values of the output variables may not +** be trusted in this case. +*/ +SQLITE_API int sqlite3changeset_op( + sqlite3_changeset_iter *pIter, /* Iterator object */ + const char **pzTab, /* OUT: Pointer to table name */ + int *pnCol, /* OUT: Number of columns in table */ + int *pOp, /* OUT: SQLITE_INSERT, DELETE or UPDATE */ + int *pbIndirect /* OUT: True for an 'indirect' change */ +); + +/* +** CAPI3REF: Obtain The Primary Key Definition Of A Table +** METHOD: sqlite3_changeset_iter +** +** For each modified table, a changeset includes the following: +** +**
      +**
    • The number of columns in the table, and +**
    • Which of those columns make up the tables PRIMARY KEY. +**
    +** +** This function is used to find which columns comprise the PRIMARY KEY of +** the table modified by the change that iterator pIter currently points to. +** If successful, *pabPK is set to point to an array of nCol entries, where +** nCol is the number of columns in the table. Elements of *pabPK are set to +** 0x01 if the corresponding column is part of the tables primary key, or +** 0x00 if it is not. +** +** If argument pnCol is not NULL, then *pnCol is set to the number of columns +** in the table. +** +** If this function is called when the iterator does not point to a valid +** entry, SQLITE_MISUSE is returned and the output variables zeroed. Otherwise, +** SQLITE_OK is returned and the output variables populated as described +** above. +*/ +SQLITE_API int sqlite3changeset_pk( + sqlite3_changeset_iter *pIter, /* Iterator object */ + unsigned char **pabPK, /* OUT: Array of boolean - true for PK cols */ + int *pnCol /* OUT: Number of entries in output array */ +); + +/* +** CAPI3REF: Obtain old.* Values From A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** The pIter argument passed to this function may either be an iterator +** passed to a conflict-handler by [sqlite3changeset_apply()], or an iterator +** created by [sqlite3changeset_start()]. In the latter case, the most recent +** call to [sqlite3changeset_next()] must have returned SQLITE_ROW. +** Furthermore, it may only be called if the type of change that the iterator +** currently points to is either [SQLITE_DELETE] or [SQLITE_UPDATE]. Otherwise, +** this function returns [SQLITE_MISUSE] and sets *ppValue to NULL. +** +** Argument iVal must be greater than or equal to 0, and less than the number +** of columns in the table affected by the current change. Otherwise, +** [SQLITE_RANGE] is returned and *ppValue is set to NULL. +** +** If successful, this function sets *ppValue to point to a protected +** sqlite3_value object containing the iVal'th value from the vector of +** original row values stored as part of the UPDATE or DELETE change and +** returns SQLITE_OK. The name of the function comes from the fact that this +** is similar to the "old.*" columns available to update or delete triggers. +** +** If some other error occurs (e.g. an OOM condition), an SQLite error code +** is returned and *ppValue is set to NULL. +*/ +SQLITE_API int sqlite3changeset_old( + sqlite3_changeset_iter *pIter, /* Changeset iterator */ + int iVal, /* Column number */ + sqlite3_value **ppValue /* OUT: Old value (or NULL pointer) */ +); + +/* +** CAPI3REF: Obtain new.* Values From A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** The pIter argument passed to this function may either be an iterator +** passed to a conflict-handler by [sqlite3changeset_apply()], or an iterator +** created by [sqlite3changeset_start()]. In the latter case, the most recent +** call to [sqlite3changeset_next()] must have returned SQLITE_ROW. +** Furthermore, it may only be called if the type of change that the iterator +** currently points to is either [SQLITE_UPDATE] or [SQLITE_INSERT]. Otherwise, +** this function returns [SQLITE_MISUSE] and sets *ppValue to NULL. +** +** Argument iVal must be greater than or equal to 0, and less than the number +** of columns in the table affected by the current change. Otherwise, +** [SQLITE_RANGE] is returned and *ppValue is set to NULL. +** +** If successful, this function sets *ppValue to point to a protected +** sqlite3_value object containing the iVal'th value from the vector of +** new row values stored as part of the UPDATE or INSERT change and +** returns SQLITE_OK. If the change is an UPDATE and does not include +** a new value for the requested column, *ppValue is set to NULL and +** SQLITE_OK returned. The name of the function comes from the fact that +** this is similar to the "new.*" columns available to update or delete +** triggers. +** +** If some other error occurs (e.g. an OOM condition), an SQLite error code +** is returned and *ppValue is set to NULL. +*/ +SQLITE_API int sqlite3changeset_new( + sqlite3_changeset_iter *pIter, /* Changeset iterator */ + int iVal, /* Column number */ + sqlite3_value **ppValue /* OUT: New value (or NULL pointer) */ +); + +/* +** CAPI3REF: Obtain Conflicting Row Values From A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** This function should only be used with iterator objects passed to a +** conflict-handler callback by [sqlite3changeset_apply()] with either +** [SQLITE_CHANGESET_DATA] or [SQLITE_CHANGESET_CONFLICT]. If this function +** is called on any other iterator, [SQLITE_MISUSE] is returned and *ppValue +** is set to NULL. +** +** Argument iVal must be greater than or equal to 0, and less than the number +** of columns in the table affected by the current change. Otherwise, +** [SQLITE_RANGE] is returned and *ppValue is set to NULL. +** +** If successful, this function sets *ppValue to point to a protected +** sqlite3_value object containing the iVal'th value from the +** "conflicting row" associated with the current conflict-handler callback +** and returns SQLITE_OK. +** +** If some other error occurs (e.g. an OOM condition), an SQLite error code +** is returned and *ppValue is set to NULL. +*/ +SQLITE_API int sqlite3changeset_conflict( + sqlite3_changeset_iter *pIter, /* Changeset iterator */ + int iVal, /* Column number */ + sqlite3_value **ppValue /* OUT: Value from conflicting row */ +); + +/* +** CAPI3REF: Determine The Number Of Foreign Key Constraint Violations +** METHOD: sqlite3_changeset_iter +** +** This function may only be called with an iterator passed to an +** SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +** it sets the output variable to the total number of known foreign key +** violations in the destination database and returns SQLITE_OK. +** +** In all other cases this function returns SQLITE_MISUSE. +*/ +SQLITE_API int sqlite3changeset_fk_conflicts( + sqlite3_changeset_iter *pIter, /* Changeset iterator */ + int *pnOut /* OUT: Number of FK violations */ +); + + +/* +** CAPI3REF: Finalize A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** This function is used to finalize an iterator allocated with +** [sqlite3changeset_start()]. +** +** This function should only be called on iterators created using the +** [sqlite3changeset_start()] function. If an application calls this +** function with an iterator passed to a conflict-handler by +** [sqlite3changeset_apply()], [SQLITE_MISUSE] is immediately returned and the +** call has no effect. +** +** If an error was encountered within a call to an sqlite3changeset_xxx() +** function (for example an [SQLITE_CORRUPT] in [sqlite3changeset_next()] or an +** [SQLITE_NOMEM] in [sqlite3changeset_new()]) then an error code corresponding +** to that error is returned by this function. Otherwise, SQLITE_OK is +** returned. This is to allow the following pattern (pseudo-code): +** +**
    +**   sqlite3changeset_start();
    +**   while( SQLITE_ROW==sqlite3changeset_next() ){
    +**     // Do something with change.
    +**   }
    +**   rc = sqlite3changeset_finalize();
    +**   if( rc!=SQLITE_OK ){
    +**     // An error has occurred
    +**   }
    +** 
    +*/ +SQLITE_API int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter); + +/* +** CAPI3REF: Invert A Changeset +** +** This function is used to "invert" a changeset object. Applying an inverted +** changeset to a database reverses the effects of applying the uninverted +** changeset. Specifically: +** +**
      +**
    • Each DELETE change is changed to an INSERT, and +**
    • Each INSERT change is changed to a DELETE, and +**
    • For each UPDATE change, the old.* and new.* values are exchanged. +**
    +** +** This function does not change the order in which changes appear within +** the changeset. It merely reverses the sense of each individual change. +** +** If successful, a pointer to a buffer containing the inverted changeset +** is stored in *ppOut, the size of the same buffer is stored in *pnOut, and +** SQLITE_OK is returned. If an error occurs, both *pnOut and *ppOut are +** zeroed and an SQLite error code returned. +** +** It is the responsibility of the caller to eventually call sqlite3_free() +** on the *ppOut pointer to free the buffer allocation following a successful +** call to this function. +** +** WARNING/TODO: This function currently assumes that the input is a valid +** changeset. If it is not, the results are undefined. +*/ +SQLITE_API int sqlite3changeset_invert( + int nIn, const void *pIn, /* Input changeset */ + int *pnOut, void **ppOut /* OUT: Inverse of input */ +); + +/* +** CAPI3REF: Concatenate Two Changeset Objects +** +** This function is used to concatenate two changesets, A and B, into a +** single changeset. The result is a changeset equivalent to applying +** changeset A followed by changeset B. +** +** This function combines the two input changesets using an +** sqlite3_changegroup object. Calling it produces similar results as the +** following code fragment: +** +**
    +**   sqlite3_changegroup *pGrp;
    +**   rc = sqlite3_changegroup_new(&pGrp);
    +**   if( rc==SQLITE_OK ) rc = sqlite3changegroup_add(pGrp, nA, pA);
    +**   if( rc==SQLITE_OK ) rc = sqlite3changegroup_add(pGrp, nB, pB);
    +**   if( rc==SQLITE_OK ){
    +**     rc = sqlite3changegroup_output(pGrp, pnOut, ppOut);
    +**   }else{
    +**     *ppOut = 0;
    +**     *pnOut = 0;
    +**   }
    +** 
    +** +** Refer to the sqlite3_changegroup documentation below for details. +*/ +SQLITE_API int sqlite3changeset_concat( + int nA, /* Number of bytes in buffer pA */ + void *pA, /* Pointer to buffer containing changeset A */ + int nB, /* Number of bytes in buffer pB */ + void *pB, /* Pointer to buffer containing changeset B */ + int *pnOut, /* OUT: Number of bytes in output changeset */ + void **ppOut /* OUT: Buffer containing output changeset */ +); + + +/* +** CAPI3REF: Changegroup Handle +** +** A changegroup is an object used to combine two or more +** [changesets] or [patchsets] +*/ +typedef struct sqlite3_changegroup sqlite3_changegroup; + +/* +** CAPI3REF: Create A New Changegroup Object +** CONSTRUCTOR: sqlite3_changegroup +** +** An sqlite3_changegroup object is used to combine two or more changesets +** (or patchsets) into a single changeset (or patchset). A single changegroup +** object may combine changesets or patchsets, but not both. The output is +** always in the same format as the input. +** +** If successful, this function returns SQLITE_OK and populates (*pp) with +** a pointer to a new sqlite3_changegroup object before returning. The caller +** should eventually free the returned object using a call to +** sqlite3changegroup_delete(). If an error occurs, an SQLite error code +** (i.e. SQLITE_NOMEM) is returned and *pp is set to NULL. +** +** The usual usage pattern for an sqlite3_changegroup object is as follows: +** +**
      +**
    • It is created using a call to sqlite3changegroup_new(). +** +**
    • Zero or more changesets (or patchsets) are added to the object +** by calling sqlite3changegroup_add(). +** +**
    • The result of combining all input changesets together is obtained +** by the application via a call to sqlite3changegroup_output(). +** +**
    • The object is deleted using a call to sqlite3changegroup_delete(). +**
    +** +** Any number of calls to add() and output() may be made between the calls to +** new() and delete(), and in any order. +** +** As well as the regular sqlite3changegroup_add() and +** sqlite3changegroup_output() functions, also available are the streaming +** versions sqlite3changegroup_add_strm() and sqlite3changegroup_output_strm(). +*/ +SQLITE_API int sqlite3changegroup_new(sqlite3_changegroup **pp); + +/* +** CAPI3REF: Add A Changeset To A Changegroup +** METHOD: sqlite3_changegroup +** +** Add all changes within the changeset (or patchset) in buffer pData (size +** nData bytes) to the changegroup. +** +** If the buffer contains a patchset, then all prior calls to this function +** on the same changegroup object must also have specified patchsets. Or, if +** the buffer contains a changeset, so must have the earlier calls to this +** function. Otherwise, SQLITE_ERROR is returned and no changes are added +** to the changegroup. +** +** Rows within the changeset and changegroup are identified by the values in +** their PRIMARY KEY columns. A change in the changeset is considered to +** apply to the same row as a change already present in the changegroup if +** the two rows have the same primary key. +** +** Changes to rows that do not already appear in the changegroup are +** simply copied into it. Or, if both the new changeset and the changegroup +** contain changes that apply to a single row, the final contents of the +** changegroup depends on the type of each change, as follows: +** +** +** +** +**
    Existing Change New Change Output Change +**
    INSERT INSERT +** The new change is ignored. This case does not occur if the new +** changeset was recorded immediately after the changesets already +** added to the changegroup. +**
    INSERT UPDATE +** The INSERT change remains in the changegroup. The values in the +** INSERT change are modified as if the row was inserted by the +** existing change and then updated according to the new change. +**
    INSERT DELETE +** The existing INSERT is removed from the changegroup. The DELETE is +** not added. +**
    UPDATE INSERT +** The new change is ignored. This case does not occur if the new +** changeset was recorded immediately after the changesets already +** added to the changegroup. +**
    UPDATE UPDATE +** The existing UPDATE remains within the changegroup. It is amended +** so that the accompanying values are as if the row was updated once +** by the existing change and then again by the new change. +**
    UPDATE DELETE +** The existing UPDATE is replaced by the new DELETE within the +** changegroup. +**
    DELETE INSERT +** If one or more of the column values in the row inserted by the +** new change differ from those in the row deleted by the existing +** change, the existing DELETE is replaced by an UPDATE within the +** changegroup. Otherwise, if the inserted row is exactly the same +** as the deleted row, the existing DELETE is simply discarded. +**
    DELETE UPDATE +** The new change is ignored. This case does not occur if the new +** changeset was recorded immediately after the changesets already +** added to the changegroup. +**
    DELETE DELETE +** The new change is ignored. This case does not occur if the new +** changeset was recorded immediately after the changesets already +** added to the changegroup. +**
    +** +** If the new changeset contains changes to a table that is already present +** in the changegroup, then the number of columns and the position of the +** primary key columns for the table must be consistent. If this is not the +** case, this function fails with SQLITE_SCHEMA. If the input changeset +** appears to be corrupt and the corruption is detected, SQLITE_CORRUPT is +** returned. Or, if an out-of-memory condition occurs during processing, this +** function returns SQLITE_NOMEM. In all cases, if an error occurs the state +** of the final contents of the changegroup is undefined. +** +** If no error occurs, SQLITE_OK is returned. +*/ +SQLITE_API int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData); + +/* +** CAPI3REF: Obtain A Composite Changeset From A Changegroup +** METHOD: sqlite3_changegroup +** +** Obtain a buffer containing a changeset (or patchset) representing the +** current contents of the changegroup. If the inputs to the changegroup +** were themselves changesets, the output is a changeset. Or, if the +** inputs were patchsets, the output is also a patchset. +** +** As with the output of the sqlite3session_changeset() and +** sqlite3session_patchset() functions, all changes related to a single +** table are grouped together in the output of this function. Tables appear +** in the same order as for the very first changeset added to the changegroup. +** If the second or subsequent changesets added to the changegroup contain +** changes for tables that do not appear in the first changeset, they are +** appended onto the end of the output changeset, again in the order in +** which they are first encountered. +** +** If an error occurs, an SQLite error code is returned and the output +** variables (*pnData) and (*ppData) are set to 0. Otherwise, SQLITE_OK +** is returned and the output variables are set to the size of and a +** pointer to the output buffer, respectively. In this case it is the +** responsibility of the caller to eventually free the buffer using a +** call to sqlite3_free(). +*/ +SQLITE_API int sqlite3changegroup_output( + sqlite3_changegroup*, + int *pnData, /* OUT: Size of output buffer in bytes */ + void **ppData /* OUT: Pointer to output buffer */ +); + +/* +** CAPI3REF: Delete A Changegroup Object +** DESTRUCTOR: sqlite3_changegroup +*/ +SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*); + +/* +** CAPI3REF: Apply A Changeset To A Database +** +** Apply a changeset or patchset to a database. These functions attempt to +** update the "main" database attached to handle db with the changes found in +** the changeset passed via the second and third arguments. +** +** The fourth argument (xFilter) passed to these functions is the "filter +** callback". If it is not NULL, then for each table affected by at least one +** change in the changeset, the filter callback is invoked with +** the table name as the second argument, and a copy of the context pointer +** passed as the sixth argument as the first. If the "filter callback" +** returns zero, then no attempt is made to apply any changes to the table. +** Otherwise, if the return value is non-zero or the xFilter argument to +** is NULL, all changes related to the table are attempted. +** +** For each table that is not excluded by the filter callback, this function +** tests that the target database contains a compatible table. A table is +** considered compatible if all of the following are true: +** +**
      +**
    • The table has the same name as the name recorded in the +** changeset, and +**
    • The table has at least as many columns as recorded in the +** changeset, and +**
    • The table has primary key columns in the same position as +** recorded in the changeset. +**
    +** +** If there is no compatible table, it is not an error, but none of the +** changes associated with the table are applied. A warning message is issued +** via the sqlite3_log() mechanism with the error code SQLITE_SCHEMA. At most +** one such warning is issued for each table in the changeset. +** +** For each change for which there is a compatible table, an attempt is made +** to modify the table contents according to the UPDATE, INSERT or DELETE +** change. If a change cannot be applied cleanly, the conflict handler +** function passed as the fifth argument to sqlite3changeset_apply() may be +** invoked. A description of exactly when the conflict handler is invoked for +** each type of change is below. +** +** Unlike the xFilter argument, xConflict may not be passed NULL. The results +** of passing anything other than a valid function pointer as the xConflict +** argument are undefined. +** +** Each time the conflict handler function is invoked, it must return one +** of [SQLITE_CHANGESET_OMIT], [SQLITE_CHANGESET_ABORT] or +** [SQLITE_CHANGESET_REPLACE]. SQLITE_CHANGESET_REPLACE may only be returned +** if the second argument passed to the conflict handler is either +** SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If the conflict-handler +** returns an illegal value, any changes already made are rolled back and +** the call to sqlite3changeset_apply() returns SQLITE_MISUSE. Different +** actions are taken by sqlite3changeset_apply() depending on the value +** returned by each invocation of the conflict-handler function. Refer to +** the documentation for the three +** [SQLITE_CHANGESET_OMIT|available return values] for details. +** +**
    +**
    DELETE Changes
    +** For each DELETE change, the function checks if the target database +** contains a row with the same primary key value (or values) as the +** original row values stored in the changeset. If it does, and the values +** stored in all non-primary key columns also match the values stored in +** the changeset the row is deleted from the target database. +** +** If a row with matching primary key values is found, but one or more of +** the non-primary key fields contains a value different from the original +** row value stored in the changeset, the conflict-handler function is +** invoked with [SQLITE_CHANGESET_DATA] as the second argument. If the +** database table has more columns than are recorded in the changeset, +** only the values of those non-primary key fields are compared against +** the current database contents - any trailing database table columns +** are ignored. +** +** If no row with matching primary key values is found in the database, +** the conflict-handler function is invoked with [SQLITE_CHANGESET_NOTFOUND] +** passed as the second argument. +** +** If the DELETE operation is attempted, but SQLite returns SQLITE_CONSTRAINT +** (which can only happen if a foreign key constraint is violated), the +** conflict-handler function is invoked with [SQLITE_CHANGESET_CONSTRAINT] +** passed as the second argument. This includes the case where the DELETE +** operation is attempted because an earlier call to the conflict handler +** function returned [SQLITE_CHANGESET_REPLACE]. +** +**
    INSERT Changes
    +** For each INSERT change, an attempt is made to insert the new row into +** the database. If the changeset row contains fewer fields than the +** database table, the trailing fields are populated with their default +** values. +** +** If the attempt to insert the row fails because the database already +** contains a row with the same primary key values, the conflict handler +** function is invoked with the second argument set to +** [SQLITE_CHANGESET_CONFLICT]. +** +** If the attempt to insert the row fails because of some other constraint +** violation (e.g. NOT NULL or UNIQUE), the conflict handler function is +** invoked with the second argument set to [SQLITE_CHANGESET_CONSTRAINT]. +** This includes the case where the INSERT operation is re-attempted because +** an earlier call to the conflict handler function returned +** [SQLITE_CHANGESET_REPLACE]. +** +**
    UPDATE Changes
    +** For each UPDATE change, the function checks if the target database +** contains a row with the same primary key value (or values) as the +** original row values stored in the changeset. If it does, and the values +** stored in all modified non-primary key columns also match the values +** stored in the changeset the row is updated within the target database. +** +** If a row with matching primary key values is found, but one or more of +** the modified non-primary key fields contains a value different from an +** original row value stored in the changeset, the conflict-handler function +** is invoked with [SQLITE_CHANGESET_DATA] as the second argument. Since +** UPDATE changes only contain values for non-primary key fields that are +** to be modified, only those fields need to match the original values to +** avoid the SQLITE_CHANGESET_DATA conflict-handler callback. +** +** If no row with matching primary key values is found in the database, +** the conflict-handler function is invoked with [SQLITE_CHANGESET_NOTFOUND] +** passed as the second argument. +** +** If the UPDATE operation is attempted, but SQLite returns +** SQLITE_CONSTRAINT, the conflict-handler function is invoked with +** [SQLITE_CHANGESET_CONSTRAINT] passed as the second argument. +** This includes the case where the UPDATE operation is attempted after +** an earlier call to the conflict handler function returned +** [SQLITE_CHANGESET_REPLACE]. +**
    +** +** It is safe to execute SQL statements, including those that write to the +** table that the callback related to, from within the xConflict callback. +** This can be used to further customize the application's conflict +** resolution strategy. +** +** All changes made by these functions are enclosed in a savepoint transaction. +** If any other error (aside from a constraint failure when attempting to +** write to the target database) occurs, then the savepoint transaction is +** rolled back, restoring the target database to its original state, and an +** SQLite error code returned. +** +** If the output parameters (ppRebase) and (pnRebase) are non-NULL and +** the input is a changeset (not a patchset), then sqlite3changeset_apply_v2() +** may set (*ppRebase) to point to a "rebase" that may be used with the +** sqlite3_rebaser APIs buffer before returning. In this case (*pnRebase) +** is set to the size of the buffer in bytes. It is the responsibility of the +** caller to eventually free any such buffer using sqlite3_free(). The buffer +** is only allocated and populated if one or more conflicts were encountered +** while applying the patchset. See comments surrounding the sqlite3_rebaser +** APIs for further details. +** +** The behavior of sqlite3changeset_apply_v2() and its streaming equivalent +** may be modified by passing a combination of +** [SQLITE_CHANGESETAPPLY_NOSAVEPOINT | supported flags] as the 9th parameter. +** +** Note that the sqlite3changeset_apply_v2() API is still experimental +** and therefore subject to change. +*/ +SQLITE_API int sqlite3changeset_apply( + sqlite3 *db, /* Apply change to "main" db of this handle */ + int nChangeset, /* Size of changeset in bytes */ + void *pChangeset, /* Changeset blob */ + int(*xFilter)( + void *pCtx, /* Copy of sixth arg to _apply() */ + const char *zTab /* Table name */ + ), + int(*xConflict)( + void *pCtx, /* Copy of sixth arg to _apply() */ + int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ + sqlite3_changeset_iter *p /* Handle describing change and conflict */ + ), + void *pCtx /* First argument passed to xConflict */ +); +SQLITE_API int sqlite3changeset_apply_v2( + sqlite3 *db, /* Apply change to "main" db of this handle */ + int nChangeset, /* Size of changeset in bytes */ + void *pChangeset, /* Changeset blob */ + int(*xFilter)( + void *pCtx, /* Copy of sixth arg to _apply() */ + const char *zTab /* Table name */ + ), + int(*xConflict)( + void *pCtx, /* Copy of sixth arg to _apply() */ + int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ + sqlite3_changeset_iter *p /* Handle describing change and conflict */ + ), + void *pCtx, /* First argument passed to xConflict */ + void **ppRebase, int *pnRebase, /* OUT: Rebase data */ + int flags /* SESSION_CHANGESETAPPLY_* flags */ +); + +/* +** CAPI3REF: Flags for sqlite3changeset_apply_v2 +** +** The following flags may passed via the 9th parameter to +** [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +** +**
    +**
    SQLITE_CHANGESETAPPLY_NOSAVEPOINT
    +** Usually, the sessions module encloses all operations performed by +** a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +** SAVEPOINT is committed if the changeset or patchset is successfully +** applied, or rolled back if an error occurs. Specifying this flag +** causes the sessions module to omit this savepoint. In this case, if the +** caller has an open transaction or savepoint when apply_v2() is called, +** it may revert the partially applied changeset by rolling it back. +** +**
    SQLITE_CHANGESETAPPLY_INVERT
    +** Invert the changeset before applying it. This is equivalent to inverting +** a changeset using sqlite3changeset_invert() before applying it. It is +** an error to specify this flag with a patchset. +*/ +#define SQLITE_CHANGESETAPPLY_NOSAVEPOINT 0x0001 +#define SQLITE_CHANGESETAPPLY_INVERT 0x0002 + +/* +** CAPI3REF: Constants Passed To The Conflict Handler +** +** Values that may be passed as the second argument to a conflict-handler. +** +**
    +**
    SQLITE_CHANGESET_DATA
    +** The conflict handler is invoked with CHANGESET_DATA as the second argument +** when processing a DELETE or UPDATE change if a row with the required +** PRIMARY KEY fields is present in the database, but one or more other +** (non primary-key) fields modified by the update do not contain the +** expected "before" values. +** +** The conflicting row, in this case, is the database row with the matching +** primary key. +** +**
    SQLITE_CHANGESET_NOTFOUND
    +** The conflict handler is invoked with CHANGESET_NOTFOUND as the second +** argument when processing a DELETE or UPDATE change if a row with the +** required PRIMARY KEY fields is not present in the database. +** +** There is no conflicting row in this case. The results of invoking the +** sqlite3changeset_conflict() API are undefined. +** +**
    SQLITE_CHANGESET_CONFLICT
    +** CHANGESET_CONFLICT is passed as the second argument to the conflict +** handler while processing an INSERT change if the operation would result +** in duplicate primary key values. +** +** The conflicting row in this case is the database row with the matching +** primary key. +** +**
    SQLITE_CHANGESET_FOREIGN_KEY
    +** If foreign key handling is enabled, and applying a changeset leaves the +** database in a state containing foreign key violations, the conflict +** handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +** exactly once before the changeset is committed. If the conflict handler +** returns CHANGESET_OMIT, the changes, including those that caused the +** foreign key constraint violation, are committed. Or, if it returns +** CHANGESET_ABORT, the changeset is rolled back. +** +** No current or conflicting row information is provided. The only function +** it is possible to call on the supplied sqlite3_changeset_iter handle +** is sqlite3changeset_fk_conflicts(). +** +**
    SQLITE_CHANGESET_CONSTRAINT
    +** If any other constraint violation occurs while applying a change (i.e. +** a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +** invoked with CHANGESET_CONSTRAINT as the second argument. +** +** There is no conflicting row in this case. The results of invoking the +** sqlite3changeset_conflict() API are undefined. +** +**
    +*/ +#define SQLITE_CHANGESET_DATA 1 +#define SQLITE_CHANGESET_NOTFOUND 2 +#define SQLITE_CHANGESET_CONFLICT 3 +#define SQLITE_CHANGESET_CONSTRAINT 4 +#define SQLITE_CHANGESET_FOREIGN_KEY 5 + +/* +** CAPI3REF: Constants Returned By The Conflict Handler +** +** A conflict handler callback must return one of the following three values. +** +**
    +**
    SQLITE_CHANGESET_OMIT
    +** If a conflict handler returns this value no special action is taken. The +** change that caused the conflict is not applied. The session module +** continues to the next change in the changeset. +** +**
    SQLITE_CHANGESET_REPLACE
    +** This value may only be returned if the second argument to the conflict +** handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +** is not the case, any changes applied so far are rolled back and the +** call to sqlite3changeset_apply() returns SQLITE_MISUSE. +** +** If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +** handler, then the conflicting row is either updated or deleted, depending +** on the type of change. +** +** If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +** handler, then the conflicting row is removed from the database and a +** second attempt to apply the change is made. If this second attempt fails, +** the original row is restored to the database before continuing. +** +**
    SQLITE_CHANGESET_ABORT
    +** If this value is returned, any changes applied so far are rolled back +** and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +**
    +*/ +#define SQLITE_CHANGESET_OMIT 0 +#define SQLITE_CHANGESET_REPLACE 1 +#define SQLITE_CHANGESET_ABORT 2 + +/* +** CAPI3REF: Rebasing changesets +** EXPERIMENTAL +** +** Suppose there is a site hosting a database in state S0. And that +** modifications are made that move that database to state S1 and a +** changeset recorded (the "local" changeset). Then, a changeset based +** on S0 is received from another site (the "remote" changeset) and +** applied to the database. The database is then in state +** (S1+"remote"), where the exact state depends on any conflict +** resolution decisions (OMIT or REPLACE) made while applying "remote". +** Rebasing a changeset is to update it to take those conflict +** resolution decisions into account, so that the same conflicts +** do not have to be resolved elsewhere in the network. +** +** For example, if both the local and remote changesets contain an +** INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +** +** local: INSERT INTO t1 VALUES(1, 'v1'); +** remote: INSERT INTO t1 VALUES(1, 'v2'); +** +** and the conflict resolution is REPLACE, then the INSERT change is +** removed from the local changeset (it was overridden). Or, if the +** conflict resolution was "OMIT", then the local changeset is modified +** to instead contain: +** +** UPDATE t1 SET b = 'v2' WHERE a=1; +** +** Changes within the local changeset are rebased as follows: +** +**
    +**
    Local INSERT
    +** This may only conflict with a remote INSERT. If the conflict +** resolution was OMIT, then add an UPDATE change to the rebased +** changeset. Or, if the conflict resolution was REPLACE, add +** nothing to the rebased changeset. +** +**
    Local DELETE
    +** This may conflict with a remote UPDATE or DELETE. In both cases the +** only possible resolution is OMIT. If the remote operation was a +** DELETE, then add no change to the rebased changeset. If the remote +** operation was an UPDATE, then the old.* fields of change are updated +** to reflect the new.* values in the UPDATE. +** +**
    Local UPDATE
    +** This may conflict with a remote UPDATE or DELETE. If it conflicts +** with a DELETE, and the conflict resolution was OMIT, then the update +** is changed into an INSERT. Any undefined values in the new.* record +** from the update change are filled in using the old.* values from +** the conflicting DELETE. Or, if the conflict resolution was REPLACE, +** the UPDATE change is simply omitted from the rebased changeset. +** +** If conflict is with a remote UPDATE and the resolution is OMIT, then +** the old.* values are rebased using the new.* values in the remote +** change. Or, if the resolution is REPLACE, then the change is copied +** into the rebased changeset with updates to columns also updated by +** the conflicting remote UPDATE removed. If this means no columns would +** be updated, the change is omitted. +**
    +** +** A local change may be rebased against multiple remote changes +** simultaneously. If a single key is modified by multiple remote +** changesets, they are combined as follows before the local changeset +** is rebased: +** +**
      +**
    • If there has been one or more REPLACE resolutions on a +** key, it is rebased according to a REPLACE. +** +**
    • If there have been no REPLACE resolutions on a key, then +** the local changeset is rebased according to the most recent +** of the OMIT resolutions. +**
    +** +** Note that conflict resolutions from multiple remote changesets are +** combined on a per-field basis, not per-row. This means that in the +** case of multiple remote UPDATE operations, some fields of a single +** local change may be rebased for REPLACE while others are rebased for +** OMIT. +** +** In order to rebase a local changeset, the remote changeset must first +** be applied to the local database using sqlite3changeset_apply_v2() and +** the buffer of rebase information captured. Then: +** +**
      +**
    1. An sqlite3_rebaser object is created by calling +** sqlite3rebaser_create(). +**
    2. The new object is configured with the rebase buffer obtained from +** sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +** If the local changeset is to be rebased against multiple remote +** changesets, then sqlite3rebaser_configure() should be called +** multiple times, in the same order that the multiple +** sqlite3changeset_apply_v2() calls were made. +**
    3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +**
    4. The sqlite3_rebaser object is deleted by calling +** sqlite3rebaser_delete(). +**
    +*/ +typedef struct sqlite3_rebaser sqlite3_rebaser; + +/* +** CAPI3REF: Create a changeset rebaser object. +** EXPERIMENTAL +** +** Allocate a new changeset rebaser object. If successful, set (*ppNew) to +** point to the new object and return SQLITE_OK. Otherwise, if an error +** occurs, return an SQLite error code (e.g. SQLITE_NOMEM) and set (*ppNew) +** to NULL. +*/ +SQLITE_API int sqlite3rebaser_create(sqlite3_rebaser **ppNew); + +/* +** CAPI3REF: Configure a changeset rebaser object. +** EXPERIMENTAL +** +** Configure the changeset rebaser object to rebase changesets according +** to the conflict resolutions described by buffer pRebase (size nRebase +** bytes), which must have been obtained from a previous call to +** sqlite3changeset_apply_v2(). +*/ +SQLITE_API int sqlite3rebaser_configure( + sqlite3_rebaser*, + int nRebase, const void *pRebase +); + +/* +** CAPI3REF: Rebase a changeset +** EXPERIMENTAL +** +** Argument pIn must point to a buffer containing a changeset nIn bytes +** in size. This function allocates and populates a buffer with a copy +** of the changeset rebased according to the configuration of the +** rebaser object passed as the first argument. If successful, (*ppOut) +** is set to point to the new buffer containing the rebased changeset and +** (*pnOut) to its size in bytes and SQLITE_OK returned. It is the +** responsibility of the caller to eventually free the new buffer using +** sqlite3_free(). Otherwise, if an error occurs, (*ppOut) and (*pnOut) +** are set to zero and an SQLite error code returned. +*/ +SQLITE_API int sqlite3rebaser_rebase( + sqlite3_rebaser*, + int nIn, const void *pIn, + int *pnOut, void **ppOut +); + +/* +** CAPI3REF: Delete a changeset rebaser object. +** EXPERIMENTAL +** +** Delete the changeset rebaser object and all associated resources. There +** should be one call to this function for each successful invocation +** of sqlite3rebaser_create(). +*/ +SQLITE_API void sqlite3rebaser_delete(sqlite3_rebaser *p); + +/* +** CAPI3REF: Streaming Versions of API functions. +** +** The six streaming API xxx_strm() functions serve similar purposes to the +** corresponding non-streaming API functions: +** +** +** +**
    Streaming functionNon-streaming equivalent
    sqlite3changeset_apply_strm[sqlite3changeset_apply] +**
    sqlite3changeset_apply_strm_v2[sqlite3changeset_apply_v2] +**
    sqlite3changeset_concat_strm[sqlite3changeset_concat] +**
    sqlite3changeset_invert_strm[sqlite3changeset_invert] +**
    sqlite3changeset_start_strm[sqlite3changeset_start] +**
    sqlite3session_changeset_strm[sqlite3session_changeset] +**
    sqlite3session_patchset_strm[sqlite3session_patchset] +**
    +** +** Non-streaming functions that accept changesets (or patchsets) as input +** require that the entire changeset be stored in a single buffer in memory. +** Similarly, those that return a changeset or patchset do so by returning +** a pointer to a single large buffer allocated using sqlite3_malloc(). +** Normally this is convenient. However, if an application running in a +** low-memory environment is required to handle very large changesets, the +** large contiguous memory allocations required can become onerous. +** +** In order to avoid this problem, instead of a single large buffer, input +** is passed to a streaming API functions by way of a callback function that +** the sessions module invokes to incrementally request input data as it is +** required. In all cases, a pair of API function parameters such as +** +**
    +**        int nChangeset,
    +**        void *pChangeset,
    +**  
    +** +** Is replaced by: +** +**
    +**        int (*xInput)(void *pIn, void *pData, int *pnData),
    +**        void *pIn,
    +**  
    +** +** Each time the xInput callback is invoked by the sessions module, the first +** argument passed is a copy of the supplied pIn context pointer. The second +** argument, pData, points to a buffer (*pnData) bytes in size. Assuming no +** error occurs the xInput method should copy up to (*pnData) bytes of data +** into the buffer and set (*pnData) to the actual number of bytes copied +** before returning SQLITE_OK. If the input is completely exhausted, (*pnData) +** should be set to zero to indicate this. Or, if an error occurs, an SQLite +** error code should be returned. In all cases, if an xInput callback returns +** an error, all processing is abandoned and the streaming API function +** returns a copy of the error code to the caller. +** +** In the case of sqlite3changeset_start_strm(), the xInput callback may be +** invoked by the sessions module at any point during the lifetime of the +** iterator. If such an xInput callback returns an error, the iterator enters +** an error state, whereby all subsequent calls to iterator functions +** immediately fail with the same error code as returned by xInput. +** +** Similarly, streaming API functions that return changesets (or patchsets) +** return them in chunks by way of a callback function instead of via a +** pointer to a single large buffer. In this case, a pair of parameters such +** as: +** +**
    +**        int *pnChangeset,
    +**        void **ppChangeset,
    +**  
    +** +** Is replaced by: +** +**
    +**        int (*xOutput)(void *pOut, const void *pData, int nData),
    +**        void *pOut
    +**  
    +** +** The xOutput callback is invoked zero or more times to return data to +** the application. The first parameter passed to each call is a copy of the +** pOut pointer supplied by the application. The second parameter, pData, +** points to a buffer nData bytes in size containing the chunk of output +** data being returned. If the xOutput callback successfully processes the +** supplied data, it should return SQLITE_OK to indicate success. Otherwise, +** it should return some other SQLite error code. In this case processing +** is immediately abandoned and the streaming API function returns a copy +** of the xOutput error code to the application. +** +** The sessions module never invokes an xOutput callback with the third +** parameter set to a value less than or equal to zero. Other than this, +** no guarantees are made as to the size of the chunks of data returned. +*/ +SQLITE_API int sqlite3changeset_apply_strm( + sqlite3 *db, /* Apply change to "main" db of this handle */ + int (*xInput)(void *pIn, void *pData, int *pnData), /* Input function */ + void *pIn, /* First arg for xInput */ + int(*xFilter)( + void *pCtx, /* Copy of sixth arg to _apply() */ + const char *zTab /* Table name */ + ), + int(*xConflict)( + void *pCtx, /* Copy of sixth arg to _apply() */ + int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ + sqlite3_changeset_iter *p /* Handle describing change and conflict */ + ), + void *pCtx /* First argument passed to xConflict */ +); +SQLITE_API int sqlite3changeset_apply_v2_strm( + sqlite3 *db, /* Apply change to "main" db of this handle */ + int (*xInput)(void *pIn, void *pData, int *pnData), /* Input function */ + void *pIn, /* First arg for xInput */ + int(*xFilter)( + void *pCtx, /* Copy of sixth arg to _apply() */ + const char *zTab /* Table name */ + ), + int(*xConflict)( + void *pCtx, /* Copy of sixth arg to _apply() */ + int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ + sqlite3_changeset_iter *p /* Handle describing change and conflict */ + ), + void *pCtx, /* First argument passed to xConflict */ + void **ppRebase, int *pnRebase, + int flags +); +SQLITE_API int sqlite3changeset_concat_strm( + int (*xInputA)(void *pIn, void *pData, int *pnData), + void *pInA, + int (*xInputB)(void *pIn, void *pData, int *pnData), + void *pInB, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); +SQLITE_API int sqlite3changeset_invert_strm( + int (*xInput)(void *pIn, void *pData, int *pnData), + void *pIn, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); +SQLITE_API int sqlite3changeset_start_strm( + sqlite3_changeset_iter **pp, + int (*xInput)(void *pIn, void *pData, int *pnData), + void *pIn +); +SQLITE_API int sqlite3changeset_start_v2_strm( + sqlite3_changeset_iter **pp, + int (*xInput)(void *pIn, void *pData, int *pnData), + void *pIn, + int flags +); +SQLITE_API int sqlite3session_changeset_strm( + sqlite3_session *pSession, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); +SQLITE_API int sqlite3session_patchset_strm( + sqlite3_session *pSession, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); +SQLITE_API int sqlite3changegroup_add_strm(sqlite3_changegroup*, + int (*xInput)(void *pIn, void *pData, int *pnData), + void *pIn +); +SQLITE_API int sqlite3changegroup_output_strm(sqlite3_changegroup*, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); +SQLITE_API int sqlite3rebaser_rebase_strm( + sqlite3_rebaser *pRebaser, + int (*xInput)(void *pIn, void *pData, int *pnData), + void *pIn, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); + +/* +** CAPI3REF: Configure global parameters +** +** The sqlite3session_config() interface is used to make global configuration +** changes to the sessions module in order to tune it to the specific needs +** of the application. +** +** The sqlite3session_config() interface is not threadsafe. If it is invoked +** while any other thread is inside any other sessions method then the +** results are undefined. Furthermore, if it is invoked after any sessions +** related objects have been created, the results are also undefined. +** +** The first argument to the sqlite3session_config() function must be one +** of the SQLITE_SESSION_CONFIG_XXX constants defined below. The +** interpretation of the (void*) value passed as the second parameter and +** the effect of calling this function depends on the value of the first +** parameter. +** +**
    +**
    SQLITE_SESSION_CONFIG_STRMSIZE
    +** By default, the sessions module streaming interfaces attempt to input +** and output data in approximately 1 KiB chunks. This operand may be used +** to set and query the value of this configuration setting. The pointer +** passed as the second argument must point to a value of type (int). +** If this value is greater than 0, it is used as the new streaming data +** chunk size for both input and output. Before returning, the (int) value +** pointed to by pArg is set to the final value of the streaming interface +** chunk size. +**
    +** +** This function returns SQLITE_OK if successful, or an SQLite error code +** otherwise. +*/ +SQLITE_API int sqlite3session_config(int op, void *pArg); + +/* +** CAPI3REF: Values for sqlite3session_config(). +*/ +#define SQLITE_SESSION_CONFIG_STRMSIZE 1 + +/* +** Make sure we can call this stuff from C++. +*/ +#ifdef __cplusplus +} +#endif + +#endif /* !defined(__SQLITESESSION_H_) && defined(SQLITE_ENABLE_SESSION) */ + +/******** End of sqlite3session.h *********/ +/******** Begin file fts5.h *********/ +/* +** 2014 May 31 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +****************************************************************************** +** +** Interfaces to extend FTS5. Using the interfaces defined in this file, +** FTS5 may be extended with: +** +** * custom tokenizers, and +** * custom auxiliary functions. +*/ + + +#ifndef _FTS5_H +#define _FTS5_H + + +#ifdef __cplusplus +extern "C" { +#endif + +/************************************************************************* +** CUSTOM AUXILIARY FUNCTIONS +** +** Virtual table implementations may overload SQL functions by implementing +** the sqlite3_module.xFindFunction() method. +*/ + +typedef struct Fts5ExtensionApi Fts5ExtensionApi; +typedef struct Fts5Context Fts5Context; +typedef struct Fts5PhraseIter Fts5PhraseIter; + +typedef void (*fts5_extension_function)( + const Fts5ExtensionApi *pApi, /* API offered by current FTS version */ + Fts5Context *pFts, /* First arg to pass to pApi functions */ + sqlite3_context *pCtx, /* Context for returning result/error */ + int nVal, /* Number of values in apVal[] array */ + sqlite3_value **apVal /* Array of trailing arguments */ +); + +struct Fts5PhraseIter { + const unsigned char *a; + const unsigned char *b; +}; + +/* +** EXTENSION API FUNCTIONS +** +** xUserData(pFts): +** Return a copy of the context pointer the extension function was +** registered with. +** +** xColumnTotalSize(pFts, iCol, pnToken): +** If parameter iCol is less than zero, set output variable *pnToken +** to the total number of tokens in the FTS5 table. Or, if iCol is +** non-negative but less than the number of columns in the table, return +** the total number of tokens in column iCol, considering all rows in +** the FTS5 table. +** +** If parameter iCol is greater than or equal to the number of columns +** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g. +** an OOM condition or IO error), an appropriate SQLite error code is +** returned. +** +** xColumnCount(pFts): +** Return the number of columns in the table. +** +** xColumnSize(pFts, iCol, pnToken): +** If parameter iCol is less than zero, set output variable *pnToken +** to the total number of tokens in the current row. Or, if iCol is +** non-negative but less than the number of columns in the table, set +** *pnToken to the number of tokens in column iCol of the current row. +** +** If parameter iCol is greater than or equal to the number of columns +** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g. +** an OOM condition or IO error), an appropriate SQLite error code is +** returned. +** +** This function may be quite inefficient if used with an FTS5 table +** created with the "columnsize=0" option. +** +** xColumnText: +** This function attempts to retrieve the text of column iCol of the +** current document. If successful, (*pz) is set to point to a buffer +** containing the text in utf-8 encoding, (*pn) is set to the size in bytes +** (not characters) of the buffer and SQLITE_OK is returned. Otherwise, +** if an error occurs, an SQLite error code is returned and the final values +** of (*pz) and (*pn) are undefined. +** +** xPhraseCount: +** Returns the number of phrases in the current query expression. +** +** xPhraseSize: +** Returns the number of tokens in phrase iPhrase of the query. Phrases +** are numbered starting from zero. +** +** xInstCount: +** Set *pnInst to the total number of occurrences of all phrases within +** the query within the current row. Return SQLITE_OK if successful, or +** an error code (i.e. SQLITE_NOMEM) if an error occurs. +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. If the FTS5 table is created +** with either "detail=none" or "detail=column" and "content=" option +** (i.e. if it is a contentless table), then this API always returns 0. +** +** xInst: +** Query for the details of phrase match iIdx within the current row. +** Phrase matches are numbered starting from zero, so the iIdx argument +** should be greater than or equal to zero and smaller than the value +** output by xInstCount(). +** +** Usually, output parameter *piPhrase is set to the phrase number, *piCol +** to the column in which it occurs and *piOff the token offset of the +** first token of the phrase. Returns SQLITE_OK if successful, or an error +** code (i.e. SQLITE_NOMEM) if an error occurs. +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. +** +** xRowid: +** Returns the rowid of the current row. +** +** xTokenize: +** Tokenize text using the tokenizer belonging to the FTS5 table. +** +** xQueryPhrase(pFts5, iPhrase, pUserData, xCallback): +** This API function is used to query the FTS table for phrase iPhrase +** of the current query. Specifically, a query equivalent to: +** +** ... FROM ftstable WHERE ftstable MATCH $p ORDER BY rowid +** +** with $p set to a phrase equivalent to the phrase iPhrase of the +** current query is executed. Any column filter that applies to +** phrase iPhrase of the current query is included in $p. For each +** row visited, the callback function passed as the fourth argument +** is invoked. The context and API objects passed to the callback +** function may be used to access the properties of each matched row. +** Invoking Api.xUserData() returns a copy of the pointer passed as +** the third argument to pUserData. +** +** If the callback function returns any value other than SQLITE_OK, the +** query is abandoned and the xQueryPhrase function returns immediately. +** If the returned value is SQLITE_DONE, xQueryPhrase returns SQLITE_OK. +** Otherwise, the error code is propagated upwards. +** +** If the query runs to completion without incident, SQLITE_OK is returned. +** Or, if some error occurs before the query completes or is aborted by +** the callback, an SQLite error code is returned. +** +** +** xSetAuxdata(pFts5, pAux, xDelete) +** +** Save the pointer passed as the second argument as the extension function's +** "auxiliary data". The pointer may then be retrieved by the current or any +** future invocation of the same fts5 extension function made as part of +** the same MATCH query using the xGetAuxdata() API. +** +** Each extension function is allocated a single auxiliary data slot for +** each FTS query (MATCH expression). If the extension function is invoked +** more than once for a single FTS query, then all invocations share a +** single auxiliary data context. +** +** If there is already an auxiliary data pointer when this function is +** invoked, then it is replaced by the new pointer. If an xDelete callback +** was specified along with the original pointer, it is invoked at this +** point. +** +** The xDelete callback, if one is specified, is also invoked on the +** auxiliary data pointer after the FTS5 query has finished. +** +** If an error (e.g. an OOM condition) occurs within this function, +** the auxiliary data is set to NULL and an error code returned. If the +** xDelete parameter was not NULL, it is invoked on the auxiliary data +** pointer before returning. +** +** +** xGetAuxdata(pFts5, bClear) +** +** Returns the current auxiliary data pointer for the fts5 extension +** function. See the xSetAuxdata() method for details. +** +** If the bClear argument is non-zero, then the auxiliary data is cleared +** (set to NULL) before this function returns. In this case the xDelete, +** if any, is not invoked. +** +** +** xRowCount(pFts5, pnRow) +** +** This function is used to retrieve the total number of rows in the table. +** In other words, the same value that would be returned by: +** +** SELECT count(*) FROM ftstable; +** +** xPhraseFirst() +** This function is used, along with type Fts5PhraseIter and the xPhraseNext +** method, to iterate through all instances of a single query phrase within +** the current row. This is the same information as is accessible via the +** xInstCount/xInst APIs. While the xInstCount/xInst APIs are more convenient +** to use, this API may be faster under some circumstances. To iterate +** through instances of phrase iPhrase, use the following code: +** +** Fts5PhraseIter iter; +** int iCol, iOff; +** for(pApi->xPhraseFirst(pFts, iPhrase, &iter, &iCol, &iOff); +** iCol>=0; +** pApi->xPhraseNext(pFts, &iter, &iCol, &iOff) +** ){ +** // An instance of phrase iPhrase at offset iOff of column iCol +** } +** +** The Fts5PhraseIter structure is defined above. Applications should not +** modify this structure directly - it should only be used as shown above +** with the xPhraseFirst() and xPhraseNext() API methods (and by +** xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below). +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. If the FTS5 table is created +** with either "detail=none" or "detail=column" and "content=" option +** (i.e. if it is a contentless table), then this API always iterates +** through an empty set (all calls to xPhraseFirst() set iCol to -1). +** +** xPhraseNext() +** See xPhraseFirst above. +** +** xPhraseFirstColumn() +** This function and xPhraseNextColumn() are similar to the xPhraseFirst() +** and xPhraseNext() APIs described above. The difference is that instead +** of iterating through all instances of a phrase in the current row, these +** APIs are used to iterate through the set of columns in the current row +** that contain one or more instances of a specified phrase. For example: +** +** Fts5PhraseIter iter; +** int iCol; +** for(pApi->xPhraseFirstColumn(pFts, iPhrase, &iter, &iCol); +** iCol>=0; +** pApi->xPhraseNextColumn(pFts, &iter, &iCol) +** ){ +** // Column iCol contains at least one instance of phrase iPhrase +** } +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" option. If the FTS5 table is created with either +** "detail=none" "content=" option (i.e. if it is a contentless table), +** then this API always iterates through an empty set (all calls to +** xPhraseFirstColumn() set iCol to -1). +** +** The information accessed using this API and its companion +** xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext +** (or xInst/xInstCount). The chief advantage of this API is that it is +** significantly more efficient than those alternatives when used with +** "detail=column" tables. +** +** xPhraseNextColumn() +** See xPhraseFirstColumn above. +*/ +struct Fts5ExtensionApi { + int iVersion; /* Currently always set to 3 */ + + void *(*xUserData)(Fts5Context*); + + int (*xColumnCount)(Fts5Context*); + int (*xRowCount)(Fts5Context*, sqlite3_int64 *pnRow); + int (*xColumnTotalSize)(Fts5Context*, int iCol, sqlite3_int64 *pnToken); + + int (*xTokenize)(Fts5Context*, + const char *pText, int nText, /* Text to tokenize */ + void *pCtx, /* Context passed to xToken() */ + int (*xToken)(void*, int, const char*, int, int, int) /* Callback */ + ); + + int (*xPhraseCount)(Fts5Context*); + int (*xPhraseSize)(Fts5Context*, int iPhrase); + + int (*xInstCount)(Fts5Context*, int *pnInst); + int (*xInst)(Fts5Context*, int iIdx, int *piPhrase, int *piCol, int *piOff); + + sqlite3_int64 (*xRowid)(Fts5Context*); + int (*xColumnText)(Fts5Context*, int iCol, const char **pz, int *pn); + int (*xColumnSize)(Fts5Context*, int iCol, int *pnToken); + + int (*xQueryPhrase)(Fts5Context*, int iPhrase, void *pUserData, + int(*)(const Fts5ExtensionApi*,Fts5Context*,void*) + ); + int (*xSetAuxdata)(Fts5Context*, void *pAux, void(*xDelete)(void*)); + void *(*xGetAuxdata)(Fts5Context*, int bClear); + + int (*xPhraseFirst)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*, int*); + void (*xPhraseNext)(Fts5Context*, Fts5PhraseIter*, int *piCol, int *piOff); + + int (*xPhraseFirstColumn)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*); + void (*xPhraseNextColumn)(Fts5Context*, Fts5PhraseIter*, int *piCol); +}; + +/* +** CUSTOM AUXILIARY FUNCTIONS +*************************************************************************/ + +/************************************************************************* +** CUSTOM TOKENIZERS +** +** Applications may also register custom tokenizer types. A tokenizer +** is registered by providing fts5 with a populated instance of the +** following structure. All structure methods must be defined, setting +** any member of the fts5_tokenizer struct to NULL leads to undefined +** behaviour. The structure methods are expected to function as follows: +** +** xCreate: +** This function is used to allocate and initialize a tokenizer instance. +** A tokenizer instance is required to actually tokenize text. +** +** The first argument passed to this function is a copy of the (void*) +** pointer provided by the application when the fts5_tokenizer object +** was registered with FTS5 (the third argument to xCreateTokenizer()). +** The second and third arguments are an array of nul-terminated strings +** containing the tokenizer arguments, if any, specified following the +** tokenizer name as part of the CREATE VIRTUAL TABLE statement used +** to create the FTS5 table. +** +** The final argument is an output variable. If successful, (*ppOut) +** should be set to point to the new tokenizer handle and SQLITE_OK +** returned. If an error occurs, some value other than SQLITE_OK should +** be returned. In this case, fts5 assumes that the final value of *ppOut +** is undefined. +** +** xDelete: +** This function is invoked to delete a tokenizer handle previously +** allocated using xCreate(). Fts5 guarantees that this function will +** be invoked exactly once for each successful call to xCreate(). +** +** xTokenize: +** This function is expected to tokenize the nText byte string indicated +** by argument pText. pText may or may not be nul-terminated. The first +** argument passed to this function is a pointer to an Fts5Tokenizer object +** returned by an earlier call to xCreate(). +** +** The second argument indicates the reason that FTS5 is requesting +** tokenization of the supplied text. This is always one of the following +** four values: +** +**
    • FTS5_TOKENIZE_DOCUMENT - A document is being inserted into +** or removed from the FTS table. The tokenizer is being invoked to +** determine the set of tokens to add to (or delete from) the +** FTS index. +** +**
    • FTS5_TOKENIZE_QUERY - A MATCH query is being executed +** against the FTS index. The tokenizer is being called to tokenize +** a bareword or quoted string specified as part of the query. +** +**
    • (FTS5_TOKENIZE_QUERY | FTS5_TOKENIZE_PREFIX) - Same as +** FTS5_TOKENIZE_QUERY, except that the bareword or quoted string is +** followed by a "*" character, indicating that the last token +** returned by the tokenizer will be treated as a token prefix. +** +**
    • FTS5_TOKENIZE_AUX - The tokenizer is being invoked to +** satisfy an fts5_api.xTokenize() request made by an auxiliary +** function. Or an fts5_api.xColumnSize() request made by the same +** on a columnsize=0 database. +**
    +** +** For each token in the input string, the supplied callback xToken() must +** be invoked. The first argument to it should be a copy of the pointer +** passed as the second argument to xTokenize(). The third and fourth +** arguments are a pointer to a buffer containing the token text, and the +** size of the token in bytes. The 4th and 5th arguments are the byte offsets +** of the first byte of and first byte immediately following the text from +** which the token is derived within the input. +** +** The second argument passed to the xToken() callback ("tflags") should +** normally be set to 0. The exception is if the tokenizer supports +** synonyms. In this case see the discussion below for details. +** +** FTS5 assumes the xToken() callback is invoked for each token in the +** order that they occur within the input text. +** +** If an xToken() callback returns any value other than SQLITE_OK, then +** the tokenization should be abandoned and the xTokenize() method should +** immediately return a copy of the xToken() return value. Or, if the +** input buffer is exhausted, xTokenize() should return SQLITE_OK. Finally, +** if an error occurs with the xTokenize() implementation itself, it +** may abandon the tokenization and return any error code other than +** SQLITE_OK or SQLITE_DONE. +** +** SYNONYM SUPPORT +** +** Custom tokenizers may also support synonyms. Consider a case in which a +** user wishes to query for a phrase such as "first place". Using the +** built-in tokenizers, the FTS5 query 'first + place' will match instances +** of "first place" within the document set, but not alternative forms +** such as "1st place". In some applications, it would be better to match +** all instances of "first place" or "1st place" regardless of which form +** the user specified in the MATCH query text. +** +** There are several ways to approach this in FTS5: +** +**
    1. By mapping all synonyms to a single token. In this case, using +** the above example, this means that the tokenizer returns the +** same token for inputs "first" and "1st". Say that token is in +** fact "first", so that when the user inserts the document "I won +** 1st place" entries are added to the index for tokens "i", "won", +** "first" and "place". If the user then queries for '1st + place', +** the tokenizer substitutes "first" for "1st" and the query works +** as expected. +** +**
    2. By querying the index for all synonyms of each query term +** separately. In this case, when tokenizing query text, the +** tokenizer may provide multiple synonyms for a single term +** within the document. FTS5 then queries the index for each +** synonym individually. For example, faced with the query: +** +** +** ... MATCH 'first place' +** +** the tokenizer offers both "1st" and "first" as synonyms for the +** first token in the MATCH query and FTS5 effectively runs a query +** similar to: +** +** +** ... MATCH '(first OR 1st) place' +** +** except that, for the purposes of auxiliary functions, the query +** still appears to contain just two phrases - "(first OR 1st)" +** being treated as a single phrase. +** +**
    3. By adding multiple synonyms for a single term to the FTS index. +** Using this method, when tokenizing document text, the tokenizer +** provides multiple synonyms for each token. So that when a +** document such as "I won first place" is tokenized, entries are +** added to the FTS index for "i", "won", "first", "1st" and +** "place". +** +** This way, even if the tokenizer does not provide synonyms +** when tokenizing query text (it should not - to do so would be +** inefficient), it doesn't matter if the user queries for +** 'first + place' or '1st + place', as there are entries in the +** FTS index corresponding to both forms of the first token. +**
    +** +** Whether it is parsing document or query text, any call to xToken that +** specifies a tflags argument with the FTS5_TOKEN_COLOCATED bit +** is considered to supply a synonym for the previous token. For example, +** when parsing the document "I won first place", a tokenizer that supports +** synonyms would call xToken() 5 times, as follows: +** +** +** xToken(pCtx, 0, "i", 1, 0, 1); +** xToken(pCtx, 0, "won", 3, 2, 5); +** xToken(pCtx, 0, "first", 5, 6, 11); +** xToken(pCtx, FTS5_TOKEN_COLOCATED, "1st", 3, 6, 11); +** xToken(pCtx, 0, "place", 5, 12, 17); +** +** +** It is an error to specify the FTS5_TOKEN_COLOCATED flag the first time +** xToken() is called. Multiple synonyms may be specified for a single token +** by making multiple calls to xToken(FTS5_TOKEN_COLOCATED) in sequence. +** There is no limit to the number of synonyms that may be provided for a +** single token. +** +** In many cases, method (1) above is the best approach. It does not add +** extra data to the FTS index or require FTS5 to query for multiple terms, +** so it is efficient in terms of disk space and query speed. However, it +** does not support prefix queries very well. If, as suggested above, the +** token "first" is substituted for "1st" by the tokenizer, then the query: +** +** +** ... MATCH '1s*' +** +** will not match documents that contain the token "1st" (as the tokenizer +** will probably not map "1s" to any prefix of "first"). +** +** For full prefix support, method (3) may be preferred. In this case, +** because the index contains entries for both "first" and "1st", prefix +** queries such as 'fi*' or '1s*' will match correctly. However, because +** extra entries are added to the FTS index, this method uses more space +** within the database. +** +** Method (2) offers a midpoint between (1) and (3). Using this method, +** a query such as '1s*' will match documents that contain the literal +** token "1st", but not "first" (assuming the tokenizer is not able to +** provide synonyms for prefixes). However, a non-prefix query like '1st' +** will match against "1st" and "first". This method does not require +** extra disk space, as no extra entries are added to the FTS index. +** On the other hand, it may require more CPU cycles to run MATCH queries, +** as separate queries of the FTS index are required for each synonym. +** +** When using methods (2) or (3), it is important that the tokenizer only +** provide synonyms when tokenizing document text (method (2)) or query +** text (method (3)), not both. Doing so will not cause any errors, but is +** inefficient. +*/ +typedef struct Fts5Tokenizer Fts5Tokenizer; +typedef struct fts5_tokenizer fts5_tokenizer; +struct fts5_tokenizer { + int (*xCreate)(void*, const char **azArg, int nArg, Fts5Tokenizer **ppOut); + void (*xDelete)(Fts5Tokenizer*); + int (*xTokenize)(Fts5Tokenizer*, + void *pCtx, + int flags, /* Mask of FTS5_TOKENIZE_* flags */ + const char *pText, int nText, + int (*xToken)( + void *pCtx, /* Copy of 2nd argument to xTokenize() */ + int tflags, /* Mask of FTS5_TOKEN_* flags */ + const char *pToken, /* Pointer to buffer containing token */ + int nToken, /* Size of token in bytes */ + int iStart, /* Byte offset of token within input text */ + int iEnd /* Byte offset of end of token within input text */ + ) + ); +}; + +/* Flags that may be passed as the third argument to xTokenize() */ +#define FTS5_TOKENIZE_QUERY 0x0001 +#define FTS5_TOKENIZE_PREFIX 0x0002 +#define FTS5_TOKENIZE_DOCUMENT 0x0004 +#define FTS5_TOKENIZE_AUX 0x0008 + +/* Flags that may be passed by the tokenizer implementation back to FTS5 +** as the third argument to the supplied xToken callback. */ +#define FTS5_TOKEN_COLOCATED 0x0001 /* Same position as prev. token */ + +/* +** END OF CUSTOM TOKENIZERS +*************************************************************************/ + +/************************************************************************* +** FTS5 EXTENSION REGISTRATION API +*/ +typedef struct fts5_api fts5_api; +struct fts5_api { + int iVersion; /* Currently always set to 2 */ + + /* Create a new tokenizer */ + int (*xCreateTokenizer)( + fts5_api *pApi, + const char *zName, + void *pContext, + fts5_tokenizer *pTokenizer, + void (*xDestroy)(void*) + ); + + /* Find an existing tokenizer */ + int (*xFindTokenizer)( + fts5_api *pApi, + const char *zName, + void **ppContext, + fts5_tokenizer *pTokenizer + ); + + /* Create a new auxiliary function */ + int (*xCreateFunction)( + fts5_api *pApi, + const char *zName, + void *pContext, + fts5_extension_function xFunction, + void (*xDestroy)(void*) + ); +}; + +/* +** END OF REGISTRATION API +*************************************************************************/ + +#ifdef __cplusplus +} /* end of the 'extern "C"' block */ +#endif + +#endif /* _FTS5_H */ + +/******** End of fts5.h *********/ diff --git a/sqlite3.lib b/sqlite3.lib new file mode 100644 index 0000000000000000000000000000000000000000..7e73c3d1bf6b654a675f23102e9f616c6e120a91 GIT binary patch literal 79668 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 literal 0 HcmV?d00001