gitlab.com/CoiaPrant/sqlite3@v1.19.1/internal/mptest/main_freebsd_amd64.go (about)

     1  // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o internal/mptest/main_freebsd_amd64.go -trace-translation-units testdata/mptest.c -Itestdata/sqlite-amalgamation-3390300 -l gitlab.com/CoiaPrant/sqlite3/lib -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
     2  
     3  package main
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  
    11  	"modernc.org/libc"
    12  	"modernc.org/libc/sys/types"
    13  	"gitlab.com/CoiaPrant/sqlite3/lib"
    14  )
    15  
    16  var _ = math.Pi
    17  var _ reflect.Kind
    18  var _ atomic.Value
    19  var _ unsafe.Pointer
    20  var _ *libc.TLS
    21  var _ types.Size_t
    22  
    23  func main() { libc.Start(main1) }
    24  
    25  const (
    26  	BIG_ENDIAN                            = 4321
    27  	BUFSIZ                                = 1024
    28  	BYTE_ORDER                            = 1234
    29  	CLOSE_RANGE_CLOEXEC                   = 4
    30  	DEFAULT_TIMEOUT                       = 1000000
    31  	E2BIG                                 = 7
    32  	EACCES                                = 13
    33  	EADDRINUSE                            = 48
    34  	EADDRNOTAVAIL                         = 49
    35  	EAFNOSUPPORT                          = 47
    36  	EAGAIN                                = 35
    37  	EALREADY                              = 37
    38  	EAUTH                                 = 80
    39  	EBADF                                 = 9
    40  	EBADMSG                               = 89
    41  	EBADRPC                               = 72
    42  	EBUSY                                 = 16
    43  	ECANCELED                             = 85
    44  	ECAPMODE                              = 94
    45  	ECHILD                                = 10
    46  	ECONNABORTED                          = 53
    47  	ECONNREFUSED                          = 61
    48  	ECONNRESET                            = 54
    49  	EDEADLK                               = 11
    50  	EDESTADDRREQ                          = 39
    51  	EDOM                                  = 33
    52  	EDOOFUS                               = 88
    53  	EDQUOT                                = 69
    54  	EEXIST                                = 17
    55  	EFAULT                                = 14
    56  	EFBIG                                 = 27
    57  	EFTYPE                                = 79
    58  	EHOSTDOWN                             = 64
    59  	EHOSTUNREACH                          = 65
    60  	EIDRM                                 = 82
    61  	EILSEQ                                = 86
    62  	EINPROGRESS                           = 36
    63  	EINTEGRITY                            = 97
    64  	EINTR                                 = 4
    65  	EINVAL                                = 22
    66  	EIO                                   = 5
    67  	EISCONN                               = 56
    68  	EISDIR                                = 21
    69  	ELAST                                 = 97
    70  	ELOOP                                 = 62
    71  	EMFILE                                = 24
    72  	EMLINK                                = 31
    73  	EMSGSIZE                              = 40
    74  	EMULTIHOP                             = 90
    75  	ENAMETOOLONG                          = 63
    76  	ENEEDAUTH                             = 81
    77  	ENETDOWN                              = 50
    78  	ENETRESET                             = 52
    79  	ENETUNREACH                           = 51
    80  	ENFILE                                = 23
    81  	ENOATTR                               = 87
    82  	ENOBUFS                               = 55
    83  	ENODEV                                = 19
    84  	ENOENT                                = 2
    85  	ENOEXEC                               = 8
    86  	ENOLCK                                = 77
    87  	ENOLINK                               = 91
    88  	ENOMEM                                = 12
    89  	ENOMSG                                = 83
    90  	ENOPROTOOPT                           = 42
    91  	ENOSPC                                = 28
    92  	ENOSYS                                = 78
    93  	ENOTBLK                               = 15
    94  	ENOTCAPABLE                           = 93
    95  	ENOTCONN                              = 57
    96  	ENOTDIR                               = 20
    97  	ENOTEMPTY                             = 66
    98  	ENOTRECOVERABLE                       = 95
    99  	ENOTSOCK                              = 38
   100  	ENOTSUP                               = 45
   101  	ENOTTY                                = 25
   102  	ENXIO                                 = 6
   103  	EOF                                   = -1
   104  	EOPNOTSUPP                            = 45
   105  	EOVERFLOW                             = 84
   106  	EOWNERDEAD                            = 96
   107  	EPERM                                 = 1
   108  	EPFNOSUPPORT                          = 46
   109  	EPIPE                                 = 32
   110  	EPROCLIM                              = 67
   111  	EPROCUNAVAIL                          = 76
   112  	EPROGMISMATCH                         = 75
   113  	EPROGUNAVAIL                          = 74
   114  	EPROTO                                = 92
   115  	EPROTONOSUPPORT                       = 43
   116  	EPROTOTYPE                            = 41
   117  	ERANGE                                = 34
   118  	EREMOTE                               = 71
   119  	EROFS                                 = 30
   120  	ERPCMISMATCH                          = 73
   121  	ESHUTDOWN                             = 58
   122  	ESOCKTNOSUPPORT                       = 44
   123  	ESPIPE                                = 29
   124  	ESRCH                                 = 3
   125  	ESTALE                                = 70
   126  	ETIMEDOUT                             = 60
   127  	ETOOMANYREFS                          = 59
   128  	ETXTBSY                               = 26
   129  	EUSERS                                = 68
   130  	EWOULDBLOCK                           = 35
   131  	EXDEV                                 = 18
   132  	EXIT_FAILURE                          = 1
   133  	EXIT_SUCCESS                          = 0
   134  	FD_SETSIZE                            = 1024
   135  	FILENAME_MAX                          = 1024
   136  	FOPEN_MAX                             = 20
   137  	FTS5_TOKENIZE_AUX                     = 0x0008
   138  	FTS5_TOKENIZE_DOCUMENT                = 0x0004
   139  	FTS5_TOKENIZE_PREFIX                  = 0x0002
   140  	FTS5_TOKENIZE_QUERY                   = 0x0001
   141  	FTS5_TOKEN_COLOCATED                  = 0x0001
   142  	FULLY_WITHIN                          = 2
   143  	F_LOCK                                = 1
   144  	F_OK                                  = 0
   145  	F_TEST                                = 3
   146  	F_TLOCK                               = 2
   147  	F_ULOCK                               = 0
   148  	HAVE_USLEEP                           = 1
   149  	LITTLE_ENDIAN                         = 1234
   150  	L_INCR                                = 1
   151  	L_SET                                 = 0
   152  	L_XTND                                = 2
   153  	L_ctermid                             = 1024
   154  	L_cuserid                             = 17
   155  	L_tmpnam                              = 1024
   156  	MX_ARG                                = 2
   157  	NDEBUG                                = 1
   158  	NOT_WITHIN                            = 0
   159  	PARTLY_WITHIN                         = 1
   160  	PDP_ENDIAN                            = 3412
   161  	P_tmpdir                              = "/tmp/"
   162  	RAND_MAX                              = 0x7fffffff
   163  	RFCENVG                               = 2048
   164  	RFCFDG                                = 4096
   165  	RFCNAMEG                              = 1024
   166  	RFENVG                                = 2
   167  	RFFDG                                 = 4
   168  	RFFLAGS                               = 2416930932
   169  	RFHIGHPID                             = 262144
   170  	RFKERNELONLY                          = 268828672
   171  	RFLINUXTHPN                           = 65536
   172  	RFMEM                                 = 32
   173  	RFNAMEG                               = 1
   174  	RFNOTEG                               = 8
   175  	RFNOWAIT                              = 64
   176  	RFPPWAIT                              = 2147483648
   177  	RFPROC                                = 16
   178  	RFPROCDESC                            = 268435456
   179  	RFSIGSHARE                            = 16384
   180  	RFSPAWN                               = 2147483648
   181  	RFSTOPPED                             = 131072
   182  	RFTHREAD                              = 8192
   183  	RFTSIGMASK                            = 0xFF
   184  	RFTSIGSHIFT                           = 20
   185  	RFTSIGZMB                             = 524288
   186  	R_OK                                  = 0x04
   187  	SEEK_CUR                              = 1
   188  	SEEK_DATA                             = 3
   189  	SEEK_END                              = 2
   190  	SEEK_HOLE                             = 4
   191  	SEEK_SET                              = 0
   192  	SQLITE3_H                             = 0
   193  	SQLITE3_TEXT                          = 3
   194  	SQLITE_ABORT                          = 4
   195  	SQLITE_ABORT_ROLLBACK                 = 516
   196  	SQLITE_ACCESS_EXISTS                  = 0
   197  	SQLITE_ACCESS_READ                    = 2
   198  	SQLITE_ACCESS_READWRITE               = 1
   199  	SQLITE_ALTER_TABLE                    = 26
   200  	SQLITE_ANALYZE                        = 28
   201  	SQLITE_ANY                            = 5
   202  	SQLITE_API                            = 0
   203  	SQLITE_APICALL                        = 0
   204  	SQLITE_ATTACH                         = 24
   205  	SQLITE_AUTH                           = 23
   206  	SQLITE_AUTH_USER                      = 279
   207  	SQLITE_BLOB                           = 4
   208  	SQLITE_BUSY                           = 5
   209  	SQLITE_BUSY_RECOVERY                  = 261
   210  	SQLITE_BUSY_SNAPSHOT                  = 517
   211  	SQLITE_BUSY_TIMEOUT                   = 773
   212  	SQLITE_CALLBACK                       = 0
   213  	SQLITE_CANTOPEN                       = 14
   214  	SQLITE_CANTOPEN_CONVPATH              = 1038
   215  	SQLITE_CANTOPEN_DIRTYWAL              = 1294
   216  	SQLITE_CANTOPEN_FULLPATH              = 782
   217  	SQLITE_CANTOPEN_ISDIR                 = 526
   218  	SQLITE_CANTOPEN_NOTEMPDIR             = 270
   219  	SQLITE_CANTOPEN_SYMLINK               = 1550
   220  	SQLITE_CDECL                          = 0
   221  	SQLITE_CHANGESETAPPLY_INVERT          = 0x0002
   222  	SQLITE_CHANGESETAPPLY_NOSAVEPOINT     = 0x0001
   223  	SQLITE_CHANGESETSTART_INVERT          = 0x0002
   224  	SQLITE_CHANGESET_ABORT                = 2
   225  	SQLITE_CHANGESET_CONFLICT             = 3
   226  	SQLITE_CHANGESET_CONSTRAINT           = 4
   227  	SQLITE_CHANGESET_DATA                 = 1
   228  	SQLITE_CHANGESET_FOREIGN_KEY          = 5
   229  	SQLITE_CHANGESET_NOTFOUND             = 2
   230  	SQLITE_CHANGESET_OMIT                 = 0
   231  	SQLITE_CHANGESET_REPLACE              = 1
   232  	SQLITE_CHECKPOINT_FULL                = 1
   233  	SQLITE_CHECKPOINT_PASSIVE             = 0
   234  	SQLITE_CHECKPOINT_RESTART             = 2
   235  	SQLITE_CHECKPOINT_TRUNCATE            = 3
   236  	SQLITE_CONFIG_COVERING_INDEX_SCAN     = 20
   237  	SQLITE_CONFIG_GETMALLOC               = 5
   238  	SQLITE_CONFIG_GETMUTEX                = 11
   239  	SQLITE_CONFIG_GETPCACHE               = 15
   240  	SQLITE_CONFIG_GETPCACHE2              = 19
   241  	SQLITE_CONFIG_HEAP                    = 8
   242  	SQLITE_CONFIG_LOG                     = 16
   243  	SQLITE_CONFIG_LOOKASIDE               = 13
   244  	SQLITE_CONFIG_MALLOC                  = 4
   245  	SQLITE_CONFIG_MEMDB_MAXSIZE           = 29
   246  	SQLITE_CONFIG_MEMSTATUS               = 9
   247  	SQLITE_CONFIG_MMAP_SIZE               = 22
   248  	SQLITE_CONFIG_MULTITHREAD             = 2
   249  	SQLITE_CONFIG_MUTEX                   = 10
   250  	SQLITE_CONFIG_PAGECACHE               = 7
   251  	SQLITE_CONFIG_PCACHE                  = 14
   252  	SQLITE_CONFIG_PCACHE2                 = 18
   253  	SQLITE_CONFIG_PCACHE_HDRSZ            = 24
   254  	SQLITE_CONFIG_PMASZ                   = 25
   255  	SQLITE_CONFIG_SCRATCH                 = 6
   256  	SQLITE_CONFIG_SERIALIZED              = 3
   257  	SQLITE_CONFIG_SINGLETHREAD            = 1
   258  	SQLITE_CONFIG_SMALL_MALLOC            = 27
   259  	SQLITE_CONFIG_SORTERREF_SIZE          = 28
   260  	SQLITE_CONFIG_SQLLOG                  = 21
   261  	SQLITE_CONFIG_STMTJRNL_SPILL          = 26
   262  	SQLITE_CONFIG_URI                     = 17
   263  	SQLITE_CONFIG_WIN32_HEAPSIZE          = 23
   264  	SQLITE_CONSTRAINT                     = 19
   265  	SQLITE_CONSTRAINT_CHECK               = 275
   266  	SQLITE_CONSTRAINT_COMMITHOOK          = 531
   267  	SQLITE_CONSTRAINT_DATATYPE            = 3091
   268  	SQLITE_CONSTRAINT_FOREIGNKEY          = 787
   269  	SQLITE_CONSTRAINT_FUNCTION            = 1043
   270  	SQLITE_CONSTRAINT_NOTNULL             = 1299
   271  	SQLITE_CONSTRAINT_PINNED              = 2835
   272  	SQLITE_CONSTRAINT_PRIMARYKEY          = 1555
   273  	SQLITE_CONSTRAINT_ROWID               = 2579
   274  	SQLITE_CONSTRAINT_TRIGGER             = 1811
   275  	SQLITE_CONSTRAINT_UNIQUE              = 2067
   276  	SQLITE_CONSTRAINT_VTAB                = 2323
   277  	SQLITE_COPY                           = 0
   278  	SQLITE_CORE                           = 1
   279  	SQLITE_CORRUPT                        = 11
   280  	SQLITE_CORRUPT_INDEX                  = 779
   281  	SQLITE_CORRUPT_SEQUENCE               = 523
   282  	SQLITE_CORRUPT_VTAB                   = 267
   283  	SQLITE_CREATE_INDEX                   = 1
   284  	SQLITE_CREATE_TABLE                   = 2
   285  	SQLITE_CREATE_TEMP_INDEX              = 3
   286  	SQLITE_CREATE_TEMP_TABLE              = 4
   287  	SQLITE_CREATE_TEMP_TRIGGER            = 5
   288  	SQLITE_CREATE_TEMP_VIEW               = 6
   289  	SQLITE_CREATE_TRIGGER                 = 7
   290  	SQLITE_CREATE_VIEW                    = 8
   291  	SQLITE_CREATE_VTABLE                  = 29
   292  	SQLITE_DBCONFIG_DEFENSIVE             = 1010
   293  	SQLITE_DBCONFIG_DQS_DDL               = 1014
   294  	SQLITE_DBCONFIG_DQS_DML               = 1013
   295  	SQLITE_DBCONFIG_ENABLE_FKEY           = 1002
   296  	SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004
   297  	SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005
   298  	SQLITE_DBCONFIG_ENABLE_QPSG           = 1007
   299  	SQLITE_DBCONFIG_ENABLE_TRIGGER        = 1003
   300  	SQLITE_DBCONFIG_ENABLE_VIEW           = 1015
   301  	SQLITE_DBCONFIG_LEGACY_ALTER_TABLE    = 1012
   302  	SQLITE_DBCONFIG_LEGACY_FILE_FORMAT    = 1016
   303  	SQLITE_DBCONFIG_LOOKASIDE             = 1001
   304  	SQLITE_DBCONFIG_MAINDBNAME            = 1000
   305  	SQLITE_DBCONFIG_MAX                   = 1017
   306  	SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE      = 1006
   307  	SQLITE_DBCONFIG_RESET_DATABASE        = 1009
   308  	SQLITE_DBCONFIG_TRIGGER_EQP           = 1008
   309  	SQLITE_DBCONFIG_TRUSTED_SCHEMA        = 1017
   310  	SQLITE_DBCONFIG_WRITABLE_SCHEMA       = 1011
   311  	SQLITE_DBSTATUS_CACHE_HIT             = 7
   312  	SQLITE_DBSTATUS_CACHE_MISS            = 8
   313  	SQLITE_DBSTATUS_CACHE_SPILL           = 12
   314  	SQLITE_DBSTATUS_CACHE_USED            = 1
   315  	SQLITE_DBSTATUS_CACHE_USED_SHARED     = 11
   316  	SQLITE_DBSTATUS_CACHE_WRITE           = 9
   317  	SQLITE_DBSTATUS_DEFERRED_FKS          = 10
   318  	SQLITE_DBSTATUS_LOOKASIDE_HIT         = 4
   319  	SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL   = 6
   320  	SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE   = 5
   321  	SQLITE_DBSTATUS_LOOKASIDE_USED        = 0
   322  	SQLITE_DBSTATUS_MAX                   = 12
   323  	SQLITE_DBSTATUS_SCHEMA_USED           = 2
   324  	SQLITE_DBSTATUS_STMT_USED             = 3
   325  	SQLITE_DELETE                         = 9
   326  	SQLITE_DENY                           = 1
   327  	SQLITE_DEPRECATED                     = 0
   328  	SQLITE_DESERIALIZE_FREEONCLOSE        = 1
   329  	SQLITE_DESERIALIZE_READONLY           = 4
   330  	SQLITE_DESERIALIZE_RESIZEABLE         = 2
   331  	SQLITE_DETACH                         = 25
   332  	SQLITE_DETERMINISTIC                  = 0x000000800
   333  	SQLITE_DIRECTONLY                     = 0x000080000
   334  	SQLITE_DONE                           = 101
   335  	SQLITE_DROP_INDEX                     = 10
   336  	SQLITE_DROP_TABLE                     = 11
   337  	SQLITE_DROP_TEMP_INDEX                = 12
   338  	SQLITE_DROP_TEMP_TABLE                = 13
   339  	SQLITE_DROP_TEMP_TRIGGER              = 14
   340  	SQLITE_DROP_TEMP_VIEW                 = 15
   341  	SQLITE_DROP_TRIGGER                   = 16
   342  	SQLITE_DROP_VIEW                      = 17
   343  	SQLITE_DROP_VTABLE                    = 30
   344  	SQLITE_EMPTY                          = 16
   345  	SQLITE_ENABLE_COLUMN_METADATA         = 1
   346  	SQLITE_ENABLE_FTS5                    = 1
   347  	SQLITE_ENABLE_GEOPOLY                 = 1
   348  	SQLITE_ENABLE_MATH_FUNCTIONS          = 1
   349  	SQLITE_ENABLE_MEMORY_MANAGEMENT       = 1
   350  	SQLITE_ENABLE_OFFSET_SQL_FUNC         = 1
   351  	SQLITE_ENABLE_PREUPDATE_HOOK          = 1
   352  	SQLITE_ENABLE_RBU                     = 1
   353  	SQLITE_ENABLE_RTREE                   = 1
   354  	SQLITE_ENABLE_SESSION                 = 1
   355  	SQLITE_ENABLE_SNAPSHOT                = 1
   356  	SQLITE_ENABLE_STAT4                   = 1
   357  	SQLITE_ENABLE_UNLOCK_NOTIFY           = 1
   358  	SQLITE_ERROR                          = 1
   359  	SQLITE_ERROR_MISSING_COLLSEQ          = 257
   360  	SQLITE_ERROR_RETRY                    = 513
   361  	SQLITE_ERROR_SNAPSHOT                 = 769
   362  	SQLITE_EXPERIMENTAL                   = 0
   363  	SQLITE_FAIL                           = 3
   364  	SQLITE_FCNTL_BEGIN_ATOMIC_WRITE       = 31
   365  	SQLITE_FCNTL_BUSYHANDLER              = 15
   366  	SQLITE_FCNTL_CHUNK_SIZE               = 6
   367  	SQLITE_FCNTL_CKPT_DONE                = 37
   368  	SQLITE_FCNTL_CKPT_START               = 39
   369  	SQLITE_FCNTL_CKSM_FILE                = 41
   370  	SQLITE_FCNTL_COMMIT_ATOMIC_WRITE      = 32
   371  	SQLITE_FCNTL_COMMIT_PHASETWO          = 22
   372  	SQLITE_FCNTL_DATA_VERSION             = 35
   373  	SQLITE_FCNTL_EXTERNAL_READER          = 40
   374  	SQLITE_FCNTL_FILE_POINTER             = 7
   375  	SQLITE_FCNTL_GET_LOCKPROXYFILE        = 2
   376  	SQLITE_FCNTL_HAS_MOVED                = 20
   377  	SQLITE_FCNTL_JOURNAL_POINTER          = 28
   378  	SQLITE_FCNTL_LAST_ERRNO               = 4
   379  	SQLITE_FCNTL_LOCKSTATE                = 1
   380  	SQLITE_FCNTL_LOCK_TIMEOUT             = 34
   381  	SQLITE_FCNTL_MMAP_SIZE                = 18
   382  	SQLITE_FCNTL_OVERWRITE                = 11
   383  	SQLITE_FCNTL_PDB                      = 30
   384  	SQLITE_FCNTL_PERSIST_WAL              = 10
   385  	SQLITE_FCNTL_POWERSAFE_OVERWRITE      = 13
   386  	SQLITE_FCNTL_PRAGMA                   = 14
   387  	SQLITE_FCNTL_RBU                      = 26
   388  	SQLITE_FCNTL_RESERVE_BYTES            = 38
   389  	SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE    = 33
   390  	SQLITE_FCNTL_SET_LOCKPROXYFILE        = 3
   391  	SQLITE_FCNTL_SIZE_HINT                = 5
   392  	SQLITE_FCNTL_SIZE_LIMIT               = 36
   393  	SQLITE_FCNTL_SYNC                     = 21
   394  	SQLITE_FCNTL_SYNC_OMITTED             = 8
   395  	SQLITE_FCNTL_TEMPFILENAME             = 16
   396  	SQLITE_FCNTL_TRACE                    = 19
   397  	SQLITE_FCNTL_VFSNAME                  = 12
   398  	SQLITE_FCNTL_VFS_POINTER              = 27
   399  	SQLITE_FCNTL_WAL_BLOCK                = 24
   400  	SQLITE_FCNTL_WIN32_AV_RETRY           = 9
   401  	SQLITE_FCNTL_WIN32_GET_HANDLE         = 29
   402  	SQLITE_FCNTL_WIN32_SET_HANDLE         = 23
   403  	SQLITE_FCNTL_ZIPVFS                   = 25
   404  	SQLITE_FLOAT                          = 2
   405  	SQLITE_FORMAT                         = 24
   406  	SQLITE_FULL                           = 13
   407  	SQLITE_FUNCTION                       = 31
   408  	SQLITE_GET_LOCKPROXYFILE              = 2
   409  	SQLITE_IGNORE                         = 2
   410  	SQLITE_INDEX_CONSTRAINT_EQ            = 2
   411  	SQLITE_INDEX_CONSTRAINT_FUNCTION      = 150
   412  	SQLITE_INDEX_CONSTRAINT_GE            = 32
   413  	SQLITE_INDEX_CONSTRAINT_GLOB          = 66
   414  	SQLITE_INDEX_CONSTRAINT_GT            = 4
   415  	SQLITE_INDEX_CONSTRAINT_IS            = 72
   416  	SQLITE_INDEX_CONSTRAINT_ISNOT         = 69
   417  	SQLITE_INDEX_CONSTRAINT_ISNOTNULL     = 70
   418  	SQLITE_INDEX_CONSTRAINT_ISNULL        = 71
   419  	SQLITE_INDEX_CONSTRAINT_LE            = 8
   420  	SQLITE_INDEX_CONSTRAINT_LIKE          = 65
   421  	SQLITE_INDEX_CONSTRAINT_LIMIT         = 73
   422  	SQLITE_INDEX_CONSTRAINT_LT            = 16
   423  	SQLITE_INDEX_CONSTRAINT_MATCH         = 64
   424  	SQLITE_INDEX_CONSTRAINT_NE            = 68
   425  	SQLITE_INDEX_CONSTRAINT_OFFSET        = 74
   426  	SQLITE_INDEX_CONSTRAINT_REGEXP        = 67
   427  	SQLITE_INDEX_SCAN_UNIQUE              = 1
   428  	SQLITE_INNOCUOUS                      = 0x000200000
   429  	SQLITE_INSERT                         = 18
   430  	SQLITE_INTEGER                        = 1
   431  	SQLITE_INTERNAL                       = 2
   432  	SQLITE_INTERRUPT                      = 9
   433  	SQLITE_IOCAP_ATOMIC                   = 0x00000001
   434  	SQLITE_IOCAP_ATOMIC16K                = 0x00000040
   435  	SQLITE_IOCAP_ATOMIC1K                 = 0x00000004
   436  	SQLITE_IOCAP_ATOMIC2K                 = 0x00000008
   437  	SQLITE_IOCAP_ATOMIC32K                = 0x00000080
   438  	SQLITE_IOCAP_ATOMIC4K                 = 0x00000010
   439  	SQLITE_IOCAP_ATOMIC512                = 0x00000002
   440  	SQLITE_IOCAP_ATOMIC64K                = 0x00000100
   441  	SQLITE_IOCAP_ATOMIC8K                 = 0x00000020
   442  	SQLITE_IOCAP_BATCH_ATOMIC             = 0x00004000
   443  	SQLITE_IOCAP_IMMUTABLE                = 0x00002000
   444  	SQLITE_IOCAP_POWERSAFE_OVERWRITE      = 0x00001000
   445  	SQLITE_IOCAP_SAFE_APPEND              = 0x00000200
   446  	SQLITE_IOCAP_SEQUENTIAL               = 0x00000400
   447  	SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN    = 0x00000800
   448  	SQLITE_IOERR                          = 10
   449  	SQLITE_IOERR_ACCESS                   = 3338
   450  	SQLITE_IOERR_AUTH                     = 7178
   451  	SQLITE_IOERR_BEGIN_ATOMIC             = 7434
   452  	SQLITE_IOERR_BLOCKED                  = 2826
   453  	SQLITE_IOERR_CHECKRESERVEDLOCK        = 3594
   454  	SQLITE_IOERR_CLOSE                    = 4106
   455  	SQLITE_IOERR_COMMIT_ATOMIC            = 7690
   456  	SQLITE_IOERR_CONVPATH                 = 6666
   457  	SQLITE_IOERR_CORRUPTFS                = 8458
   458  	SQLITE_IOERR_DATA                     = 8202
   459  	SQLITE_IOERR_DELETE                   = 2570
   460  	SQLITE_IOERR_DELETE_NOENT             = 5898
   461  	SQLITE_IOERR_DIR_CLOSE                = 4362
   462  	SQLITE_IOERR_DIR_FSYNC                = 1290
   463  	SQLITE_IOERR_FSTAT                    = 1802
   464  	SQLITE_IOERR_FSYNC                    = 1034
   465  	SQLITE_IOERR_GETTEMPPATH              = 6410
   466  	SQLITE_IOERR_LOCK                     = 3850
   467  	SQLITE_IOERR_MMAP                     = 6154
   468  	SQLITE_IOERR_NOMEM                    = 3082
   469  	SQLITE_IOERR_RDLOCK                   = 2314
   470  	SQLITE_IOERR_READ                     = 266
   471  	SQLITE_IOERR_ROLLBACK_ATOMIC          = 7946
   472  	SQLITE_IOERR_SEEK                     = 5642
   473  	SQLITE_IOERR_SHMLOCK                  = 5130
   474  	SQLITE_IOERR_SHMMAP                   = 5386
   475  	SQLITE_IOERR_SHMOPEN                  = 4618
   476  	SQLITE_IOERR_SHMSIZE                  = 4874
   477  	SQLITE_IOERR_SHORT_READ               = 522
   478  	SQLITE_IOERR_TRUNCATE                 = 1546
   479  	SQLITE_IOERR_UNLOCK                   = 2058
   480  	SQLITE_IOERR_VNODE                    = 6922
   481  	SQLITE_IOERR_WRITE                    = 778
   482  	SQLITE_LAST_ERRNO                     = 4
   483  	SQLITE_LIKE_DOESNT_MATCH_BLOBS        = 1
   484  	SQLITE_LIMIT_ATTACHED                 = 7
   485  	SQLITE_LIMIT_COLUMN                   = 2
   486  	SQLITE_LIMIT_COMPOUND_SELECT          = 4
   487  	SQLITE_LIMIT_EXPR_DEPTH               = 3
   488  	SQLITE_LIMIT_FUNCTION_ARG             = 6
   489  	SQLITE_LIMIT_LENGTH                   = 0
   490  	SQLITE_LIMIT_LIKE_PATTERN_LENGTH      = 8
   491  	SQLITE_LIMIT_SQL_LENGTH               = 1
   492  	SQLITE_LIMIT_TRIGGER_DEPTH            = 10
   493  	SQLITE_LIMIT_VARIABLE_NUMBER          = 9
   494  	SQLITE_LIMIT_VDBE_OP                  = 5
   495  	SQLITE_LIMIT_WORKER_THREADS           = 11
   496  	SQLITE_LOCKED                         = 6
   497  	SQLITE_LOCKED_SHAREDCACHE             = 262
   498  	SQLITE_LOCKED_VTAB                    = 518
   499  	SQLITE_LOCK_EXCLUSIVE                 = 4
   500  	SQLITE_LOCK_NONE                      = 0
   501  	SQLITE_LOCK_PENDING                   = 3
   502  	SQLITE_LOCK_RESERVED                  = 2
   503  	SQLITE_LOCK_SHARED                    = 1
   504  	SQLITE_MISMATCH                       = 20
   505  	SQLITE_MISUSE                         = 21
   506  	SQLITE_MUTEX_APPDEF                   = 1
   507  	SQLITE_MUTEX_FAST                     = 0
   508  	SQLITE_MUTEX_NOOP                     = 1
   509  	SQLITE_MUTEX_RECURSIVE                = 1
   510  	SQLITE_MUTEX_STATIC_APP1              = 8
   511  	SQLITE_MUTEX_STATIC_APP2              = 9
   512  	SQLITE_MUTEX_STATIC_APP3              = 10
   513  	SQLITE_MUTEX_STATIC_LRU               = 6
   514  	SQLITE_MUTEX_STATIC_LRU2              = 7
   515  	SQLITE_MUTEX_STATIC_MAIN              = 2
   516  	SQLITE_MUTEX_STATIC_MASTER            = 2
   517  	SQLITE_MUTEX_STATIC_MEM               = 3
   518  	SQLITE_MUTEX_STATIC_MEM2              = 4
   519  	SQLITE_MUTEX_STATIC_OPEN              = 4
   520  	SQLITE_MUTEX_STATIC_PMEM              = 7
   521  	SQLITE_MUTEX_STATIC_PRNG              = 5
   522  	SQLITE_MUTEX_STATIC_VFS1              = 11
   523  	SQLITE_MUTEX_STATIC_VFS2              = 12
   524  	SQLITE_MUTEX_STATIC_VFS3              = 13
   525  	SQLITE_NOLFS                          = 22
   526  	SQLITE_NOMEM                          = 7
   527  	SQLITE_NOTADB                         = 26
   528  	SQLITE_NOTFOUND                       = 12
   529  	SQLITE_NOTICE                         = 27
   530  	SQLITE_NOTICE_RECOVER_ROLLBACK        = 539
   531  	SQLITE_NOTICE_RECOVER_WAL             = 283
   532  	SQLITE_NULL                           = 5
   533  	SQLITE_OK                             = 0
   534  	SQLITE_OK_LOAD_PERMANENTLY            = 256
   535  	SQLITE_OK_SYMLINK                     = 512
   536  	SQLITE_OPEN_AUTOPROXY                 = 0x00000020
   537  	SQLITE_OPEN_CREATE                    = 0x00000004
   538  	SQLITE_OPEN_DELETEONCLOSE             = 0x00000008
   539  	SQLITE_OPEN_EXCLUSIVE                 = 0x00000010
   540  	SQLITE_OPEN_EXRESCODE                 = 0x02000000
   541  	SQLITE_OPEN_FULLMUTEX                 = 0x00010000
   542  	SQLITE_OPEN_MAIN_DB                   = 0x00000100
   543  	SQLITE_OPEN_MAIN_JOURNAL              = 0x00000800
   544  	SQLITE_OPEN_MASTER_JOURNAL            = 0x00004000
   545  	SQLITE_OPEN_MEMORY                    = 0x00000080
   546  	SQLITE_OPEN_NOFOLLOW                  = 0x01000000
   547  	SQLITE_OPEN_NOMUTEX                   = 0x00008000
   548  	SQLITE_OPEN_PRIVATECACHE              = 0x00040000
   549  	SQLITE_OPEN_READONLY                  = 0x00000001
   550  	SQLITE_OPEN_READWRITE                 = 0x00000002
   551  	SQLITE_OPEN_SHAREDCACHE               = 0x00020000
   552  	SQLITE_OPEN_SUBJOURNAL                = 0x00002000
   553  	SQLITE_OPEN_SUPER_JOURNAL             = 0x00004000
   554  	SQLITE_OPEN_TEMP_DB                   = 0x00000200
   555  	SQLITE_OPEN_TEMP_JOURNAL              = 0x00001000
   556  	SQLITE_OPEN_TRANSIENT_DB              = 0x00000400
   557  	SQLITE_OPEN_URI                       = 0x00000040
   558  	SQLITE_OPEN_WAL                       = 0x00080000
   559  	SQLITE_OS_UNIX                        = 1
   560  	SQLITE_PERM                           = 3
   561  	SQLITE_PRAGMA                         = 19
   562  	SQLITE_PREPARE_NORMALIZE              = 0x02
   563  	SQLITE_PREPARE_NO_VTAB                = 0x04
   564  	SQLITE_PREPARE_PERSISTENT             = 0x01
   565  	SQLITE_PROTOCOL                       = 15
   566  	SQLITE_RANGE                          = 25
   567  	SQLITE_READ                           = 20
   568  	SQLITE_READONLY                       = 8
   569  	SQLITE_READONLY_CANTINIT              = 1288
   570  	SQLITE_READONLY_CANTLOCK              = 520
   571  	SQLITE_READONLY_DBMOVED               = 1032
   572  	SQLITE_READONLY_DIRECTORY             = 1544
   573  	SQLITE_READONLY_RECOVERY              = 264
   574  	SQLITE_READONLY_ROLLBACK              = 776
   575  	SQLITE_RECURSIVE                      = 33
   576  	SQLITE_REINDEX                        = 27
   577  	SQLITE_REPLACE                        = 5
   578  	SQLITE_ROLLBACK                       = 1
   579  	SQLITE_ROW                            = 100
   580  	SQLITE_SAVEPOINT                      = 32
   581  	SQLITE_SCANSTAT_EST                   = 2
   582  	SQLITE_SCANSTAT_EXPLAIN               = 4
   583  	SQLITE_SCANSTAT_NAME                  = 3
   584  	SQLITE_SCANSTAT_NLOOP                 = 0
   585  	SQLITE_SCANSTAT_NVISIT                = 1
   586  	SQLITE_SCANSTAT_SELECTID              = 5
   587  	SQLITE_SCHEMA                         = 17
   588  	SQLITE_SELECT                         = 21
   589  	SQLITE_SERIALIZE_NOCOPY               = 0x001
   590  	SQLITE_SESSION_CONFIG_STRMSIZE        = 1
   591  	SQLITE_SESSION_OBJCONFIG_SIZE         = 1
   592  	SQLITE_SET_LOCKPROXYFILE              = 3
   593  	SQLITE_SHM_EXCLUSIVE                  = 8
   594  	SQLITE_SHM_LOCK                       = 2
   595  	SQLITE_SHM_NLOCK                      = 8
   596  	SQLITE_SHM_SHARED                     = 4
   597  	SQLITE_SHM_UNLOCK                     = 1
   598  	SQLITE_SOUNDEX                        = 1
   599  	SQLITE_SOURCE_ID                      = "2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8"
   600  	SQLITE_STATUS_MALLOC_COUNT            = 9
   601  	SQLITE_STATUS_MALLOC_SIZE             = 5
   602  	SQLITE_STATUS_MEMORY_USED             = 0
   603  	SQLITE_STATUS_PAGECACHE_OVERFLOW      = 2
   604  	SQLITE_STATUS_PAGECACHE_SIZE          = 7
   605  	SQLITE_STATUS_PAGECACHE_USED          = 1
   606  	SQLITE_STATUS_PARSER_STACK            = 6
   607  	SQLITE_STATUS_SCRATCH_OVERFLOW        = 4
   608  	SQLITE_STATUS_SCRATCH_SIZE            = 8
   609  	SQLITE_STATUS_SCRATCH_USED            = 3
   610  	SQLITE_STDCALL                        = 0
   611  	SQLITE_STMTSTATUS_AUTOINDEX           = 3
   612  	SQLITE_STMTSTATUS_FILTER_HIT          = 8
   613  	SQLITE_STMTSTATUS_FILTER_MISS         = 7
   614  	SQLITE_STMTSTATUS_FULLSCAN_STEP       = 1
   615  	SQLITE_STMTSTATUS_MEMUSED             = 99
   616  	SQLITE_STMTSTATUS_REPREPARE           = 5
   617  	SQLITE_STMTSTATUS_RUN                 = 6
   618  	SQLITE_STMTSTATUS_SORT                = 2
   619  	SQLITE_STMTSTATUS_VM_STEP             = 4
   620  	SQLITE_SUBTYPE                        = 0x000100000
   621  	SQLITE_SYNC_DATAONLY                  = 0x00010
   622  	SQLITE_SYNC_FULL                      = 0x00003
   623  	SQLITE_SYNC_NORMAL                    = 0x00002
   624  	SQLITE_SYSAPI                         = 0
   625  	SQLITE_TESTCTRL_ALWAYS                = 13
   626  	SQLITE_TESTCTRL_ASSERT                = 12
   627  	SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS   = 10
   628  	SQLITE_TESTCTRL_BITVEC_TEST           = 8
   629  	SQLITE_TESTCTRL_BYTEORDER             = 22
   630  	SQLITE_TESTCTRL_EXPLAIN_STMT          = 19
   631  	SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS   = 29
   632  	SQLITE_TESTCTRL_FAULT_INSTALL         = 9
   633  	SQLITE_TESTCTRL_FIRST                 = 5
   634  	SQLITE_TESTCTRL_IMPOSTER              = 25
   635  	SQLITE_TESTCTRL_INTERNAL_FUNCTIONS    = 17
   636  	SQLITE_TESTCTRL_ISINIT                = 23
   637  	SQLITE_TESTCTRL_ISKEYWORD             = 16
   638  	SQLITE_TESTCTRL_LAST                  = 33
   639  	SQLITE_TESTCTRL_LOCALTIME_FAULT       = 18
   640  	SQLITE_TESTCTRL_LOGEST                = 33
   641  	SQLITE_TESTCTRL_NEVER_CORRUPT         = 20
   642  	SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD  = 19
   643  	SQLITE_TESTCTRL_OPTIMIZATIONS         = 15
   644  	SQLITE_TESTCTRL_PARSER_COVERAGE       = 26
   645  	SQLITE_TESTCTRL_PENDING_BYTE          = 11
   646  	SQLITE_TESTCTRL_PRNG_RESET            = 7
   647  	SQLITE_TESTCTRL_PRNG_RESTORE          = 6
   648  	SQLITE_TESTCTRL_PRNG_SAVE             = 5
   649  	SQLITE_TESTCTRL_PRNG_SEED             = 28
   650  	SQLITE_TESTCTRL_RESERVE               = 14
   651  	SQLITE_TESTCTRL_RESULT_INTREAL        = 27
   652  	SQLITE_TESTCTRL_SCRATCHMALLOC         = 17
   653  	SQLITE_TESTCTRL_SEEK_COUNT            = 30
   654  	SQLITE_TESTCTRL_SORTER_MMAP           = 24
   655  	SQLITE_TESTCTRL_TRACEFLAGS            = 31
   656  	SQLITE_TESTCTRL_TUNE                  = 32
   657  	SQLITE_TESTCTRL_VDBE_COVERAGE         = 21
   658  	SQLITE_TEXT                           = 3
   659  	SQLITE_THREADSAFE                     = 1
   660  	SQLITE_TOOBIG                         = 18
   661  	SQLITE_TRACE_CLOSE                    = 0x08
   662  	SQLITE_TRACE_PROFILE                  = 0x02
   663  	SQLITE_TRACE_ROW                      = 0x04
   664  	SQLITE_TRACE_STMT                     = 0x01
   665  	SQLITE_TRANSACTION                    = 22
   666  	SQLITE_TXN_NONE                       = 0
   667  	SQLITE_TXN_READ                       = 1
   668  	SQLITE_TXN_WRITE                      = 2
   669  	SQLITE_UPDATE                         = 23
   670  	SQLITE_UTF16                          = 4
   671  	SQLITE_UTF16BE                        = 3
   672  	SQLITE_UTF16LE                        = 2
   673  	SQLITE_UTF16_ALIGNED                  = 8
   674  	SQLITE_UTF8                           = 1
   675  	SQLITE_VERSION                        = "3.39.3"
   676  	SQLITE_VERSION_NUMBER                 = 3039003
   677  	SQLITE_VTAB_CONSTRAINT_SUPPORT        = 1
   678  	SQLITE_VTAB_DIRECTONLY                = 3
   679  	SQLITE_VTAB_INNOCUOUS                 = 2
   680  	SQLITE_WARNING                        = 28
   681  	SQLITE_WARNING_AUTOINDEX              = 284
   682  	SQLITE_WIN32_DATA_DIRECTORY_TYPE      = 1
   683  	SQLITE_WIN32_TEMP_DIRECTORY_TYPE      = 2
   684  	STDERR_FILENO                         = 2
   685  	STDIN_FILENO                          = 0
   686  	STDOUT_FILENO                         = 1
   687  	SWAPOFF_FORCE                         = 0x00000001
   688  	TMP_MAX                               = 308915776
   689  	W_OK                                  = 0x02
   690  	X_OK                                  = 0x01
   691  	X_ACCMODE_T_DECLARED                  = 0
   692  	X_ASSERT_H_                           = 0
   693  	X_BIG_ENDIAN                          = 4321
   694  	X_BLKCNT_T_DECLARED                   = 0
   695  	X_BLKSIZE_T_DECLARED                  = 0
   696  	X_BYTE_ORDER                          = 1234
   697  	X_CACHED_RUNES                        = 256
   698  	X_CAP_IOCTL_T_DECLARED                = 0
   699  	X_CAP_RIGHTS_T_DECLARED               = 0
   700  	X_CLOCKID_T_DECLARED                  = 0
   701  	X_CLOCK_T_DECLARED                    = 0
   702  	X_CRMASK                              = -256
   703  	X_CS_PATH                             = 1
   704  	X_CS_POSIX_V6_ILP32_OFF32_CFLAGS      = 2
   705  	X_CS_POSIX_V6_ILP32_OFF32_LDFLAGS     = 3
   706  	X_CS_POSIX_V6_ILP32_OFF32_LIBS        = 4
   707  	X_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS     = 5
   708  	X_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS    = 6
   709  	X_CS_POSIX_V6_ILP32_OFFBIG_LIBS       = 7
   710  	X_CS_POSIX_V6_LP64_OFF64_CFLAGS       = 8
   711  	X_CS_POSIX_V6_LP64_OFF64_LDFLAGS      = 9
   712  	X_CS_POSIX_V6_LP64_OFF64_LIBS         = 10
   713  	X_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS     = 11
   714  	X_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS    = 12
   715  	X_CS_POSIX_V6_LPBIG_OFFBIG_LIBS       = 13
   716  	X_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS   = 14
   717  	X_CTYPE_A                             = 0x00000100
   718  	X_CTYPE_B                             = 0x00020000
   719  	X_CTYPE_C                             = 0x00000200
   720  	X_CTYPE_D                             = 0x00000400
   721  	X_CTYPE_G                             = 0x00000800
   722  	X_CTYPE_H_                            = 0
   723  	X_CTYPE_I                             = 0x00080000
   724  	X_CTYPE_L                             = 0x00001000
   725  	X_CTYPE_N                             = 0x00400000
   726  	X_CTYPE_P                             = 0x00002000
   727  	X_CTYPE_Q                             = 0x00200000
   728  	X_CTYPE_R                             = 0x00040000
   729  	X_CTYPE_S                             = 0x00004000
   730  	X_CTYPE_SW0                           = 0x20000000
   731  	X_CTYPE_SW1                           = 0x40000000
   732  	X_CTYPE_SW2                           = 0x80000000
   733  	X_CTYPE_SW3                           = 0xc0000000
   734  	X_CTYPE_SWM                           = 0xe0000000
   735  	X_CTYPE_SWS                           = 30
   736  	X_CTYPE_T                             = 0x00100000
   737  	X_CTYPE_U                             = 0x00008000
   738  	X_CTYPE_X                             = 0x00010000
   739  	X_DEV_T_DECLARED                      = 0
   740  	X_ERRNO_T_DEFINED                     = 0
   741  	X_FFLAGS_T_DECLARED                   = 0
   742  	X_FILE_OFFSET_BITS                    = 64
   743  	X_FSBLKCNT_T_DECLARED                 = 0
   744  	X_FSTDIO                              = 0
   745  	X_FTRUNCATE_DECLARED                  = 0
   746  	X_FTS5_H                              = 0
   747  	X_GETOPT_DECLARED                     = 0
   748  	X_GID_T_DECLARED                      = 0
   749  	X_ID_T_DECLARED                       = 0
   750  	X_INO_T_DECLARED                      = 0
   751  	X_INT16_T_DECLARED                    = 0
   752  	X_INT32_T_DECLARED                    = 0
   753  	X_INT64_T_DECLARED                    = 0
   754  	X_INT8_T_DECLARED                     = 0
   755  	X_INTMAX_T_DECLARED                   = 0
   756  	X_INTPTR_T_DECLARED                   = 0
   757  	X_IN_ADDR_T_DECLARED                  = 0
   758  	X_IN_PORT_T_DECLARED                  = 0
   759  	X_IOFBF                               = 0
   760  	X_IOLBF                               = 1
   761  	X_IONBF                               = 2
   762  	X_KEY_T_DECLARED                      = 0
   763  	X_LITTLE_ENDIAN                       = 1234
   764  	X_LOCALE_T_DEFINED                    = 0
   765  	X_LP64                                = 1
   766  	X_LSEEK_DECLARED                      = 0
   767  	X_LWPID_T_DECLARED                    = 0
   768  	X_MACHINE_ENDIAN_H_                   = 0
   769  	X_MACHINE_STDARG_H_                   = 0
   770  	X_MACHINE__LIMITS_H_                  = 0
   771  	X_MACHINE__TYPES_H_                   = 0
   772  	X_MKDTEMP_DECLARED                    = 0
   773  	X_MKNOD_DECLARED                      = 0
   774  	X_MKSTEMP_DECLARED                    = 0
   775  	X_MKTEMP_DECLARED                     = 0
   776  	X_MMAP_DECLARED                       = 0
   777  	X_MODE_T_DECLARED                     = 0
   778  	X_MQD_T_DECLARED                      = 0
   779  	X_NLINK_T_DECLARED                    = 0
   780  	X_Nonnull                             = 0
   781  	X_Null_unspecified                    = 0
   782  	X_Nullable                            = 0
   783  	X_OFF64_T_DECLARED                    = 0
   784  	X_OFF_T_DECLARED                      = 0
   785  	X_OPTRESET_DECLARED                   = 0
   786  	X_PC_ACL_EXTENDED                     = 59
   787  	X_PC_ACL_NFS4                         = 64
   788  	X_PC_ACL_PATH_MAX                     = 60
   789  	X_PC_ALLOC_SIZE_MIN                   = 10
   790  	X_PC_ASYNC_IO                         = 53
   791  	X_PC_CAP_PRESENT                      = 61
   792  	X_PC_CHOWN_RESTRICTED                 = 7
   793  	X_PC_FILESIZEBITS                     = 12
   794  	X_PC_INF_PRESENT                      = 62
   795  	X_PC_LINK_MAX                         = 1
   796  	X_PC_MAC_PRESENT                      = 63
   797  	X_PC_MAX_CANON                        = 2
   798  	X_PC_MAX_INPUT                        = 3
   799  	X_PC_MIN_HOLE_SIZE                    = 21
   800  	X_PC_NAME_MAX                         = 4
   801  	X_PC_NO_TRUNC                         = 8
   802  	X_PC_PATH_MAX                         = 5
   803  	X_PC_PIPE_BUF                         = 6
   804  	X_PC_PRIO_IO                          = 54
   805  	X_PC_REC_INCR_XFER_SIZE               = 14
   806  	X_PC_REC_MAX_XFER_SIZE                = 15
   807  	X_PC_REC_MIN_XFER_SIZE                = 16
   808  	X_PC_REC_XFER_ALIGN                   = 17
   809  	X_PC_SYMLINK_MAX                      = 18
   810  	X_PC_SYNC_IO                          = 55
   811  	X_PC_VDISABLE                         = 9
   812  	X_PDP_ENDIAN                          = 3412
   813  	X_PID_T_DECLARED                      = 0
   814  	X_POSIX2_CHAR_TERM                    = 1
   815  	X_POSIX2_C_BIND                       = 200112
   816  	X_POSIX2_C_DEV                        = -1
   817  	X_POSIX2_FORT_DEV                     = -1
   818  	X_POSIX2_FORT_RUN                     = 200112
   819  	X_POSIX2_LOCALEDEF                    = -1
   820  	X_POSIX2_PBS                          = -1
   821  	X_POSIX2_PBS_ACCOUNTING               = -1
   822  	X_POSIX2_PBS_CHECKPOINT               = -1
   823  	X_POSIX2_PBS_LOCATE                   = -1
   824  	X_POSIX2_PBS_MESSAGE                  = -1
   825  	X_POSIX2_PBS_TRACK                    = -1
   826  	X_POSIX2_SW_DEV                       = -1
   827  	X_POSIX2_UPE                          = 200112
   828  	X_POSIX2_VERSION                      = 199212
   829  	X_POSIX_ADVISORY_INFO                 = 200112
   830  	X_POSIX_ASYNCHRONOUS_IO               = 200112
   831  	X_POSIX_BARRIERS                      = 200112
   832  	X_POSIX_CHOWN_RESTRICTED              = 1
   833  	X_POSIX_CLOCK_SELECTION               = -1
   834  	X_POSIX_CPUTIME                       = 200112
   835  	X_POSIX_FSYNC                         = 200112
   836  	X_POSIX_IPV6                          = 0
   837  	X_POSIX_JOB_CONTROL                   = 1
   838  	X_POSIX_MAPPED_FILES                  = 200112
   839  	X_POSIX_MEMLOCK                       = -1
   840  	X_POSIX_MEMLOCK_RANGE                 = 200112
   841  	X_POSIX_MEMORY_PROTECTION             = 200112
   842  	X_POSIX_MESSAGE_PASSING               = 200112
   843  	X_POSIX_MONOTONIC_CLOCK               = 200112
   844  	X_POSIX_NO_TRUNC                      = 1
   845  	X_POSIX_PRIORITIZED_IO                = -1
   846  	X_POSIX_PRIORITY_SCHEDULING           = 0
   847  	X_POSIX_RAW_SOCKETS                   = 200112
   848  	X_POSIX_READER_WRITER_LOCKS           = 200112
   849  	X_POSIX_REALTIME_SIGNALS              = 200112
   850  	X_POSIX_REGEXP                        = 1
   851  	X_POSIX_SEMAPHORES                    = 200112
   852  	X_POSIX_SHARED_MEMORY_OBJECTS         = 200112
   853  	X_POSIX_SHELL                         = 1
   854  	X_POSIX_SPAWN                         = 200112
   855  	X_POSIX_SPIN_LOCKS                    = 200112
   856  	X_POSIX_SPORADIC_SERVER               = -1
   857  	X_POSIX_SYNCHRONIZED_IO               = -1
   858  	X_POSIX_THREADS                       = 200112
   859  	X_POSIX_THREAD_ATTR_STACKADDR         = 200112
   860  	X_POSIX_THREAD_ATTR_STACKSIZE         = 200112
   861  	X_POSIX_THREAD_CPUTIME                = 200112
   862  	X_POSIX_THREAD_PRIORITY_SCHEDULING    = 200112
   863  	X_POSIX_THREAD_PRIO_INHERIT           = 200112
   864  	X_POSIX_THREAD_PRIO_PROTECT           = 200112
   865  	X_POSIX_THREAD_PROCESS_SHARED         = 200112
   866  	X_POSIX_THREAD_SAFE_FUNCTIONS         = -1
   867  	X_POSIX_THREAD_SPORADIC_SERVER        = -1
   868  	X_POSIX_TIMEOUTS                      = 200112
   869  	X_POSIX_TIMERS                        = 200112
   870  	X_POSIX_TRACE                         = -1
   871  	X_POSIX_TRACE_EVENT_FILTER            = -1
   872  	X_POSIX_TRACE_INHERIT                 = -1
   873  	X_POSIX_TRACE_LOG                     = -1
   874  	X_POSIX_TYPED_MEMORY_OBJECTS          = -1
   875  	X_POSIX_VDISABLE                      = 0xff
   876  	X_POSIX_VERSION                       = 200112
   877  	X_PTHREAD_T_DECLARED                  = 0
   878  	X_QUAD_HIGHWORD                       = 1
   879  	X_QUAD_LOWWORD                        = 0
   880  	X_RLIM_T_DECLARED                     = 0
   881  	X_RSIZE_T_DEFINED                     = 0
   882  	X_RUNETYPE_H_                         = 0
   883  	X_RUNE_MAGIC_1                        = "RuneMagi"
   884  	X_RUNE_T_DECLARED                     = 0
   885  	X_SC_2_CHAR_TERM                      = 20
   886  	X_SC_2_C_BIND                         = 18
   887  	X_SC_2_C_DEV                          = 19
   888  	X_SC_2_FORT_DEV                       = 21
   889  	X_SC_2_FORT_RUN                       = 22
   890  	X_SC_2_LOCALEDEF                      = 23
   891  	X_SC_2_PBS                            = 59
   892  	X_SC_2_PBS_ACCOUNTING                 = 60
   893  	X_SC_2_PBS_CHECKPOINT                 = 61
   894  	X_SC_2_PBS_LOCATE                     = 62
   895  	X_SC_2_PBS_MESSAGE                    = 63
   896  	X_SC_2_PBS_TRACK                      = 64
   897  	X_SC_2_SW_DEV                         = 24
   898  	X_SC_2_UPE                            = 25
   899  	X_SC_2_VERSION                        = 17
   900  	X_SC_ADVISORY_INFO                    = 65
   901  	X_SC_AIO_LISTIO_MAX                   = 42
   902  	X_SC_AIO_MAX                          = 43
   903  	X_SC_AIO_PRIO_DELTA_MAX               = 44
   904  	X_SC_ARG_MAX                          = 1
   905  	X_SC_ASYNCHRONOUS_IO                  = 28
   906  	X_SC_ATEXIT_MAX                       = 107
   907  	X_SC_BARRIERS                         = 66
   908  	X_SC_BC_BASE_MAX                      = 9
   909  	X_SC_BC_DIM_MAX                       = 10
   910  	X_SC_BC_SCALE_MAX                     = 11
   911  	X_SC_BC_STRING_MAX                    = 12
   912  	X_SC_CHILD_MAX                        = 2
   913  	X_SC_CLK_TCK                          = 3
   914  	X_SC_CLOCK_SELECTION                  = 67
   915  	X_SC_COLL_WEIGHTS_MAX                 = 13
   916  	X_SC_CPUSET_SIZE                      = 122
   917  	X_SC_CPUTIME                          = 68
   918  	X_SC_DELAYTIMER_MAX                   = 45
   919  	X_SC_EXPR_NEST_MAX                    = 14
   920  	X_SC_FILE_LOCKING                     = 69
   921  	X_SC_FSYNC                            = 38
   922  	X_SC_GETGR_R_SIZE_MAX                 = 70
   923  	X_SC_GETPW_R_SIZE_MAX                 = 71
   924  	X_SC_HOST_NAME_MAX                    = 72
   925  	X_SC_IOV_MAX                          = 56
   926  	X_SC_IPV6                             = 118
   927  	X_SC_JOB_CONTROL                      = 6
   928  	X_SC_LINE_MAX                         = 15
   929  	X_SC_LOGIN_NAME_MAX                   = 73
   930  	X_SC_MAPPED_FILES                     = 29
   931  	X_SC_MEMLOCK                          = 30
   932  	X_SC_MEMLOCK_RANGE                    = 31
   933  	X_SC_MEMORY_PROTECTION                = 32
   934  	X_SC_MESSAGE_PASSING                  = 33
   935  	X_SC_MONOTONIC_CLOCK                  = 74
   936  	X_SC_MQ_OPEN_MAX                      = 46
   937  	X_SC_MQ_PRIO_MAX                      = 75
   938  	X_SC_NGROUPS_MAX                      = 4
   939  	X_SC_NPROCESSORS_CONF                 = 57
   940  	X_SC_NPROCESSORS_ONLN                 = 58
   941  	X_SC_OPEN_MAX                         = 5
   942  	X_SC_PAGESIZE                         = 47
   943  	X_SC_PAGE_SIZE                        = 47
   944  	X_SC_PHYS_PAGES                       = 121
   945  	X_SC_PRIORITIZED_IO                   = 34
   946  	X_SC_PRIORITY_SCHEDULING              = 35
   947  	X_SC_RAW_SOCKETS                      = 119
   948  	X_SC_READER_WRITER_LOCKS              = 76
   949  	X_SC_REALTIME_SIGNALS                 = 36
   950  	X_SC_REGEXP                           = 77
   951  	X_SC_RE_DUP_MAX                       = 16
   952  	X_SC_RTSIG_MAX                        = 48
   953  	X_SC_SAVED_IDS                        = 7
   954  	X_SC_SEMAPHORES                       = 37
   955  	X_SC_SEM_NSEMS_MAX                    = 49
   956  	X_SC_SEM_VALUE_MAX                    = 50
   957  	X_SC_SHARED_MEMORY_OBJECTS            = 39
   958  	X_SC_SHELL                            = 78
   959  	X_SC_SIGQUEUE_MAX                     = 51
   960  	X_SC_SPAWN                            = 79
   961  	X_SC_SPIN_LOCKS                       = 80
   962  	X_SC_SPORADIC_SERVER                  = 81
   963  	X_SC_STREAM_MAX                       = 26
   964  	X_SC_SYMLOOP_MAX                      = 120
   965  	X_SC_SYNCHRONIZED_IO                  = 40
   966  	X_SC_THREADS                          = 96
   967  	X_SC_THREAD_ATTR_STACKADDR            = 82
   968  	X_SC_THREAD_ATTR_STACKSIZE            = 83
   969  	X_SC_THREAD_CPUTIME                   = 84
   970  	X_SC_THREAD_DESTRUCTOR_ITERATIONS     = 85
   971  	X_SC_THREAD_KEYS_MAX                  = 86
   972  	X_SC_THREAD_PRIORITY_SCHEDULING       = 89
   973  	X_SC_THREAD_PRIO_INHERIT              = 87
   974  	X_SC_THREAD_PRIO_PROTECT              = 88
   975  	X_SC_THREAD_PROCESS_SHARED            = 90
   976  	X_SC_THREAD_SAFE_FUNCTIONS            = 91
   977  	X_SC_THREAD_SPORADIC_SERVER           = 92
   978  	X_SC_THREAD_STACK_MIN                 = 93
   979  	X_SC_THREAD_THREADS_MAX               = 94
   980  	X_SC_TIMEOUTS                         = 95
   981  	X_SC_TIMERS                           = 41
   982  	X_SC_TIMER_MAX                        = 52
   983  	X_SC_TRACE                            = 97
   984  	X_SC_TRACE_EVENT_FILTER               = 98
   985  	X_SC_TRACE_INHERIT                    = 99
   986  	X_SC_TRACE_LOG                        = 100
   987  	X_SC_TTY_NAME_MAX                     = 101
   988  	X_SC_TYPED_MEMORY_OBJECTS             = 102
   989  	X_SC_TZNAME_MAX                       = 27
   990  	X_SC_V6_ILP32_OFF32                   = 103
   991  	X_SC_V6_ILP32_OFFBIG                  = 104
   992  	X_SC_V6_LP64_OFF64                    = 105
   993  	X_SC_V6_LPBIG_OFFBIG                  = 106
   994  	X_SC_VERSION                          = 8
   995  	X_SC_XOPEN_CRYPT                      = 108
   996  	X_SC_XOPEN_ENH_I18N                   = 109
   997  	X_SC_XOPEN_LEGACY                     = 110
   998  	X_SC_XOPEN_REALTIME                   = 111
   999  	X_SC_XOPEN_REALTIME_THREADS           = 112
  1000  	X_SC_XOPEN_SHM                        = 113
  1001  	X_SC_XOPEN_STREAMS                    = 114
  1002  	X_SC_XOPEN_UNIX                       = 115
  1003  	X_SC_XOPEN_VERSION                    = 116
  1004  	X_SC_XOPEN_XCU_VERSION                = 117
  1005  	X_SELECT_DECLARED                     = 0
  1006  	X_SIGSET_T_DECLARED                   = 0
  1007  	X_SIG_MAXSIG                          = 128
  1008  	X_SIG_WORDS                           = 4
  1009  	X_SIZE_T_DECLARED                     = 0
  1010  	X_SQLITE3RTREE_H_                     = 0
  1011  	X_SSIZE_T_DECLARED                    = 0
  1012  	X_STDFILE_DECLARED                    = 0
  1013  	X_STDIO_H_                            = 0
  1014  	X_STDLIB_H_                           = 0
  1015  	X_STDSTREAM_DECLARED                  = 0
  1016  	X_STRINGS_H_                          = 0
  1017  	X_STRING_H_                           = 0
  1018  	X_SUSECONDS_T_DECLARED                = 0
  1019  	X_SWAB_DECLARED                       = 0
  1020  	X_SYS_CDEFS_H_                        = 0
  1021  	X_SYS_ERRNO_H_                        = 0
  1022  	X_SYS_SELECT_H_                       = 0
  1023  	X_SYS_TIMESPEC_H_                     = 0
  1024  	X_SYS_TYPES_H_                        = 0
  1025  	X_SYS_UNISTD_H_                       = 0
  1026  	X_SYS__ENDIAN_H_                      = 0
  1027  	X_SYS__PTHREADTYPES_H_                = 0
  1028  	X_SYS__SIGSET_H_                      = 0
  1029  	X_SYS__STDARG_H_                      = 0
  1030  	X_SYS__STDINT_H_                      = 0
  1031  	X_SYS__TIMESPEC_H_                    = 0
  1032  	X_SYS__TIMEVAL_H_                     = 0
  1033  	X_SYS__TYPES_H_                       = 0
  1034  	X_TIMER_T_DECLARED                    = 0
  1035  	X_TIME_T_DECLARED                     = 0
  1036  	X_TRUNCATE_DECLARED                   = 0
  1037  	X_UID_T_DECLARED                      = 0
  1038  	X_UINT16_T_DECLARED                   = 0
  1039  	X_UINT32_T_DECLARED                   = 0
  1040  	X_UINT64_T_DECLARED                   = 0
  1041  	X_UINT8_T_DECLARED                    = 0
  1042  	X_UINTMAX_T_DECLARED                  = 0
  1043  	X_UINTPTR_T_DECLARED                  = 0
  1044  	X_UNISTD_H_                           = 0
  1045  	X_USECONDS_T_DECLARED                 = 0
  1046  	X_V6_ILP32_OFF32                      = -1
  1047  	X_V6_ILP32_OFFBIG                     = 0
  1048  	X_V6_LP64_OFF64                       = 0
  1049  	X_V6_LPBIG_OFFBIG                     = -1
  1050  	X_VA_LIST_DECLARED                    = 0
  1051  	X_WCHAR_T_DECLARED                    = 0
  1052  	X_XLOCALE_CTYPE_H                     = 0
  1053  	X_XLOCALE_RUN_FUNCTIONS_DEFINED       = 1
  1054  	X_XLOCALE_STRING1_H                   = 0
  1055  	X_XLOCALE_STRINGS1_H                  = 0
  1056  	X_XOPEN_CRYPT                         = -1
  1057  	X_XOPEN_ENH_I18N                      = -1
  1058  	X_XOPEN_LEGACY                        = -1
  1059  	X_XOPEN_REALTIME                      = -1
  1060  	X_XOPEN_REALTIME_THREADS              = -1
  1061  	X_XOPEN_SHM                           = 1
  1062  	X_XOPEN_STREAMS                       = -1
  1063  	X_XOPEN_UNIX                          = -1
  1064  	Unix                                  = 1
  1065  )
  1066  
  1067  type ptrdiff_t = int64
  1068  
  1069  type size_t = uint64
  1070  
  1071  type wchar_t = int32
  1072  
  1073  type va_list = uintptr
  1074  
  1075  type sqlite_int64 = int64
  1076  type sqlite_uint64 = uint64
  1077  type sqlite3_int64 = sqlite_int64
  1078  type sqlite3_uint64 = sqlite_uint64
  1079  
  1080  type sqlite3_callback = uintptr
  1081  
  1082  type sqlite3_file1 = struct{ pMethods uintptr }
  1083  
  1084  type sqlite3_file = sqlite3_file1
  1085  type sqlite3_io_methods1 = struct {
  1086  	iVersion               int32
  1087  	_                      [4]byte
  1088  	xClose                 uintptr
  1089  	xRead                  uintptr
  1090  	xWrite                 uintptr
  1091  	xTruncate              uintptr
  1092  	xSync                  uintptr
  1093  	xFileSize              uintptr
  1094  	xLock                  uintptr
  1095  	xUnlock                uintptr
  1096  	xCheckReservedLock     uintptr
  1097  	xFileControl           uintptr
  1098  	xSectorSize            uintptr
  1099  	xDeviceCharacteristics uintptr
  1100  	xShmMap                uintptr
  1101  	xShmLock               uintptr
  1102  	xShmBarrier            uintptr
  1103  	xShmUnmap              uintptr
  1104  	xFetch                 uintptr
  1105  	xUnfetch               uintptr
  1106  }
  1107  
  1108  type sqlite3_io_methods = sqlite3_io_methods1
  1109  
  1110  type sqlite3_vfs1 = struct {
  1111  	iVersion          int32
  1112  	szOsFile          int32
  1113  	mxPathname        int32
  1114  	_                 [4]byte
  1115  	pNext             uintptr
  1116  	zName             uintptr
  1117  	pAppData          uintptr
  1118  	xOpen             uintptr
  1119  	xDelete           uintptr
  1120  	xAccess           uintptr
  1121  	xFullPathname     uintptr
  1122  	xDlOpen           uintptr
  1123  	xDlError          uintptr
  1124  	xDlSym            uintptr
  1125  	xDlClose          uintptr
  1126  	xRandomness       uintptr
  1127  	xSleep            uintptr
  1128  	xCurrentTime      uintptr
  1129  	xGetLastError     uintptr
  1130  	xCurrentTimeInt64 uintptr
  1131  	xSetSystemCall    uintptr
  1132  	xGetSystemCall    uintptr
  1133  	xNextSystemCall   uintptr
  1134  }
  1135  
  1136  type sqlite3_vfs = sqlite3_vfs1
  1137  type sqlite3_syscall_ptr = uintptr
  1138  
  1139  type sqlite3_mem_methods1 = struct {
  1140  	xMalloc   uintptr
  1141  	xFree     uintptr
  1142  	xRealloc  uintptr
  1143  	xSize     uintptr
  1144  	xRoundup  uintptr
  1145  	xInit     uintptr
  1146  	xShutdown uintptr
  1147  	pAppData  uintptr
  1148  }
  1149  
  1150  type sqlite3_mem_methods = sqlite3_mem_methods1
  1151  
  1152  type sqlite3_destructor_type = uintptr
  1153  
  1154  type sqlite3_vtab1 = struct {
  1155  	pModule uintptr
  1156  	nRef    int32
  1157  	_       [4]byte
  1158  	zErrMsg uintptr
  1159  }
  1160  
  1161  type sqlite3_vtab = sqlite3_vtab1
  1162  type sqlite3_index_info1 = struct {
  1163  	nConstraint      int32
  1164  	_                [4]byte
  1165  	aConstraint      uintptr
  1166  	nOrderBy         int32
  1167  	_                [4]byte
  1168  	aOrderBy         uintptr
  1169  	aConstraintUsage uintptr
  1170  	idxNum           int32
  1171  	_                [4]byte
  1172  	idxStr           uintptr
  1173  	needToFreeIdxStr int32
  1174  	orderByConsumed  int32
  1175  	estimatedCost    float64
  1176  	estimatedRows    sqlite3_int64
  1177  	idxFlags         int32
  1178  	_                [4]byte
  1179  	colUsed          sqlite3_uint64
  1180  }
  1181  
  1182  type sqlite3_index_info = sqlite3_index_info1
  1183  type sqlite3_vtab_cursor1 = struct{ pVtab uintptr }
  1184  
  1185  type sqlite3_vtab_cursor = sqlite3_vtab_cursor1
  1186  type sqlite3_module1 = struct {
  1187  	iVersion      int32
  1188  	_             [4]byte
  1189  	xCreate       uintptr
  1190  	xConnect      uintptr
  1191  	xBestIndex    uintptr
  1192  	xDisconnect   uintptr
  1193  	xDestroy      uintptr
  1194  	xOpen         uintptr
  1195  	xClose        uintptr
  1196  	xFilter       uintptr
  1197  	xNext         uintptr
  1198  	xEof          uintptr
  1199  	xColumn       uintptr
  1200  	xRowid        uintptr
  1201  	xUpdate       uintptr
  1202  	xBegin        uintptr
  1203  	xSync         uintptr
  1204  	xCommit       uintptr
  1205  	xRollback     uintptr
  1206  	xFindFunction uintptr
  1207  	xRename       uintptr
  1208  	xSavepoint    uintptr
  1209  	xRelease      uintptr
  1210  	xRollbackTo   uintptr
  1211  	xShadowName   uintptr
  1212  }
  1213  
  1214  type sqlite3_module = sqlite3_module1
  1215  
  1216  type sqlite3_index_constraint = struct {
  1217  	iColumn     int32
  1218  	op          uint8
  1219  	usable      uint8
  1220  	_           [2]byte
  1221  	iTermOffset int32
  1222  }
  1223  
  1224  type sqlite3_index_orderby = struct {
  1225  	iColumn int32
  1226  	desc    uint8
  1227  	_       [3]byte
  1228  }
  1229  
  1230  type sqlite3_index_constraint_usage = struct {
  1231  	argvIndex int32
  1232  	omit      uint8
  1233  	_         [3]byte
  1234  }
  1235  
  1236  type sqlite3_mutex_methods1 = struct {
  1237  	xMutexInit    uintptr
  1238  	xMutexEnd     uintptr
  1239  	xMutexAlloc   uintptr
  1240  	xMutexFree    uintptr
  1241  	xMutexEnter   uintptr
  1242  	xMutexTry     uintptr
  1243  	xMutexLeave   uintptr
  1244  	xMutexHeld    uintptr
  1245  	xMutexNotheld uintptr
  1246  }
  1247  
  1248  type sqlite3_mutex_methods = sqlite3_mutex_methods1
  1249  
  1250  type sqlite3_pcache_page1 = struct {
  1251  	pBuf   uintptr
  1252  	pExtra uintptr
  1253  }
  1254  
  1255  type sqlite3_pcache_page = sqlite3_pcache_page1
  1256  
  1257  type sqlite3_pcache_methods21 = struct {
  1258  	iVersion   int32
  1259  	_          [4]byte
  1260  	pArg       uintptr
  1261  	xInit      uintptr
  1262  	xShutdown  uintptr
  1263  	xCreate    uintptr
  1264  	xCachesize uintptr
  1265  	xPagecount uintptr
  1266  	xFetch     uintptr
  1267  	xUnpin     uintptr
  1268  	xRekey     uintptr
  1269  	xTruncate  uintptr
  1270  	xDestroy   uintptr
  1271  	xShrink    uintptr
  1272  }
  1273  
  1274  type sqlite3_pcache_methods2 = sqlite3_pcache_methods21
  1275  
  1276  type sqlite3_pcache_methods1 = struct {
  1277  	pArg       uintptr
  1278  	xInit      uintptr
  1279  	xShutdown  uintptr
  1280  	xCreate    uintptr
  1281  	xCachesize uintptr
  1282  	xPagecount uintptr
  1283  	xFetch     uintptr
  1284  	xUnpin     uintptr
  1285  	xRekey     uintptr
  1286  	xTruncate  uintptr
  1287  	xDestroy   uintptr
  1288  }
  1289  
  1290  type sqlite3_pcache_methods = sqlite3_pcache_methods1
  1291  
  1292  type sqlite3_snapshot1 = struct{ hidden [48]uint8 }
  1293  
  1294  type sqlite3_snapshot = sqlite3_snapshot1
  1295  
  1296  type sqlite3_rtree_geometry1 = struct {
  1297  	pContext uintptr
  1298  	nParam   int32
  1299  	_        [4]byte
  1300  	aParam   uintptr
  1301  	pUser    uintptr
  1302  	xDelUser uintptr
  1303  }
  1304  
  1305  type sqlite3_rtree_geometry = sqlite3_rtree_geometry1
  1306  type sqlite3_rtree_query_info1 = struct {
  1307  	pContext      uintptr
  1308  	nParam        int32
  1309  	_             [4]byte
  1310  	aParam        uintptr
  1311  	pUser         uintptr
  1312  	xDelUser      uintptr
  1313  	aCoord        uintptr
  1314  	anQueue       uintptr
  1315  	nCoord        int32
  1316  	iLevel        int32
  1317  	mxLevel       int32
  1318  	_             [4]byte
  1319  	iRowid        sqlite3_int64
  1320  	rParentScore  sqlite3_rtree_dbl
  1321  	eParentWithin int32
  1322  	eWithin       int32
  1323  	rScore        sqlite3_rtree_dbl
  1324  	apSqlParam    uintptr
  1325  }
  1326  
  1327  type sqlite3_rtree_query_info = sqlite3_rtree_query_info1
  1328  
  1329  type sqlite3_rtree_dbl = float64
  1330  
  1331  type Fts5ExtensionApi1 = struct {
  1332  	iVersion           int32
  1333  	_                  [4]byte
  1334  	xUserData          uintptr
  1335  	xColumnCount       uintptr
  1336  	xRowCount          uintptr
  1337  	xColumnTotalSize   uintptr
  1338  	xTokenize          uintptr
  1339  	xPhraseCount       uintptr
  1340  	xPhraseSize        uintptr
  1341  	xInstCount         uintptr
  1342  	xInst              uintptr
  1343  	xRowid             uintptr
  1344  	xColumnText        uintptr
  1345  	xColumnSize        uintptr
  1346  	xQueryPhrase       uintptr
  1347  	xSetAuxdata        uintptr
  1348  	xGetAuxdata        uintptr
  1349  	xPhraseFirst       uintptr
  1350  	xPhraseNext        uintptr
  1351  	xPhraseFirstColumn uintptr
  1352  	xPhraseNextColumn  uintptr
  1353  }
  1354  
  1355  type Fts5ExtensionApi = Fts5ExtensionApi1
  1356  type Fts5PhraseIter1 = struct {
  1357  	a uintptr
  1358  	b uintptr
  1359  }
  1360  
  1361  type Fts5PhraseIter = Fts5PhraseIter1
  1362  
  1363  type fts5_extension_function = uintptr
  1364  type fts5_tokenizer1 = struct {
  1365  	xCreate   uintptr
  1366  	xDelete   uintptr
  1367  	xTokenize uintptr
  1368  }
  1369  
  1370  type fts5_tokenizer = fts5_tokenizer1
  1371  
  1372  type fts5_api1 = struct {
  1373  	iVersion         int32
  1374  	_                [4]byte
  1375  	xCreateTokenizer uintptr
  1376  	xFindTokenizer   uintptr
  1377  	xCreateFunction  uintptr
  1378  }
  1379  
  1380  type fts5_api = fts5_api1
  1381  
  1382  type fpos_t = int64
  1383  
  1384  type rsize_t = size_t
  1385  
  1386  type off_t = int64
  1387  type ssize_t = int64
  1388  
  1389  type off64_t = int64
  1390  
  1391  type __sbuf = struct {
  1392  	_base uintptr
  1393  	_size int32
  1394  	_     [4]byte
  1395  }
  1396  
  1397  type __sFILE = struct {
  1398  	_p     uintptr
  1399  	_r     int32
  1400  	_w     int32
  1401  	_flags int16
  1402  	_file  int16
  1403  	_      [4]byte
  1404  	_bf    struct {
  1405  		_base uintptr
  1406  		_size int32
  1407  		_     [4]byte
  1408  	}
  1409  	_lbfsize int32
  1410  	_        [4]byte
  1411  	_cookie  uintptr
  1412  	_close   uintptr
  1413  	_read    uintptr
  1414  	_seek    uintptr
  1415  	_write   uintptr
  1416  	_ub      struct {
  1417  		_base uintptr
  1418  		_size int32
  1419  		_     [4]byte
  1420  	}
  1421  	_up   uintptr
  1422  	_ur   int32
  1423  	_ubuf [3]uint8
  1424  	_nbuf [1]uint8
  1425  	_lb   struct {
  1426  		_base uintptr
  1427  		_size int32
  1428  		_     [4]byte
  1429  	}
  1430  	_blksize     int32
  1431  	_            [4]byte
  1432  	_offset      fpos_t
  1433  	_fl_mutex    uintptr
  1434  	_fl_owner    uintptr
  1435  	_fl_count    int32
  1436  	_orientation int32
  1437  	_mbstate     struct {
  1438  		_          [0]uint64
  1439  		__mbstate8 [128]int8
  1440  	}
  1441  	_flags2 int32
  1442  	_       [4]byte
  1443  }
  1444  
  1445  type FILE = __sFILE
  1446  type cookie_io_functions_t = struct {
  1447  	read  uintptr
  1448  	write uintptr
  1449  	seek  uintptr
  1450  	close uintptr
  1451  }
  1452  type pthread_once = struct {
  1453  	state int32
  1454  	_     [4]byte
  1455  	mutex pthread_mutex_t
  1456  }
  1457  
  1458  type pthread_t = uintptr
  1459  type pthread_attr_t = uintptr
  1460  type pthread_mutex_t = uintptr
  1461  type pthread_mutexattr_t = uintptr
  1462  type pthread_cond_t = uintptr
  1463  type pthread_condattr_t = uintptr
  1464  type pthread_key_t = int32
  1465  type pthread_once_t = pthread_once
  1466  type pthread_rwlock_t = uintptr
  1467  type pthread_rwlockattr_t = uintptr
  1468  type pthread_barrier_t = uintptr
  1469  type pthread_barrierattr_t = uintptr
  1470  type pthread_spinlock_t = uintptr
  1471  
  1472  type pthread_addr_t = uintptr
  1473  type pthread_startroutine_t = uintptr
  1474  
  1475  type u_char = uint8
  1476  type u_short = uint16
  1477  type u_int = uint32
  1478  type u_long = uint64
  1479  type ushort = uint16
  1480  type uint = uint32
  1481  
  1482  type int8_t = int8
  1483  
  1484  type int16_t = int16
  1485  
  1486  type int32_t = int32
  1487  
  1488  type int64_t = int64
  1489  
  1490  type uint8_t = uint8
  1491  
  1492  type uint16_t = uint16
  1493  
  1494  type uint32_t = uint32
  1495  
  1496  type uint64_t = uint64
  1497  
  1498  type intptr_t = int64
  1499  type uintptr_t = uint64
  1500  type intmax_t = int64
  1501  type uintmax_t = uint64
  1502  
  1503  type u_int8_t = uint8
  1504  type u_int16_t = uint16
  1505  type u_int32_t = uint32
  1506  type u_int64_t = uint64
  1507  
  1508  type u_quad_t = uint64
  1509  type quad_t = int64
  1510  type qaddr_t = uintptr
  1511  
  1512  type caddr_t = uintptr
  1513  type c_caddr_t = uintptr
  1514  
  1515  type blksize_t = int32
  1516  
  1517  type cpuwhich_t = int32
  1518  type cpulevel_t = int32
  1519  type cpusetid_t = int32
  1520  
  1521  type blkcnt_t = int64
  1522  
  1523  type clock_t = int32
  1524  
  1525  type clockid_t = int32
  1526  
  1527  type critical_t = int64
  1528  type daddr_t = int64
  1529  
  1530  type dev_t = uint64
  1531  
  1532  type fflags_t = uint32
  1533  
  1534  type fixpt_t = uint32
  1535  
  1536  type fsblkcnt_t = uint64
  1537  type fsfilcnt_t = uint64
  1538  
  1539  type gid_t = uint32
  1540  
  1541  type in_addr_t = uint32
  1542  
  1543  type in_port_t = uint16
  1544  
  1545  type id_t = int64
  1546  
  1547  type ino_t = uint64
  1548  
  1549  type key_t = int64
  1550  
  1551  type lwpid_t = int32
  1552  
  1553  type mode_t = uint16
  1554  
  1555  type accmode_t = int32
  1556  
  1557  type nlink_t = uint64
  1558  
  1559  type pid_t = int32
  1560  
  1561  type register_t = int64
  1562  
  1563  type rlim_t = int64
  1564  
  1565  type sbintime_t = int64
  1566  
  1567  type segsz_t = int64
  1568  
  1569  type suseconds_t = int64
  1570  
  1571  type time_t = int64
  1572  
  1573  type timer_t = uintptr
  1574  
  1575  type mqd_t = uintptr
  1576  
  1577  type u_register_t = uint64
  1578  
  1579  type uid_t = uint32
  1580  
  1581  type useconds_t = uint32
  1582  
  1583  type cap_ioctl_t = uint64
  1584  
  1585  type kpaddr_t = uint64
  1586  type kvaddr_t = uint64
  1587  type ksize_t = uint64
  1588  type kssize_t = int64
  1589  
  1590  type vm_offset_t = uint64
  1591  type vm_ooffset_t = uint64
  1592  type vm_paddr_t = uint64
  1593  type vm_pindex_t = uint64
  1594  type vm_size_t = uint64
  1595  
  1596  type rman_res_t = uint64
  1597  
  1598  type __sigset = struct{ __bits [4]uint32 }
  1599  
  1600  type timeval = struct {
  1601  	tv_sec  time_t
  1602  	tv_usec suseconds_t
  1603  }
  1604  
  1605  type timespec = struct {
  1606  	tv_sec  time_t
  1607  	tv_nsec int64
  1608  }
  1609  
  1610  type itimerspec = struct {
  1611  	it_interval struct {
  1612  		tv_sec  time_t
  1613  		tv_nsec int64
  1614  	}
  1615  	it_value struct {
  1616  		tv_sec  time_t
  1617  		tv_nsec int64
  1618  	}
  1619  }
  1620  
  1621  type fd_mask = uint64
  1622  
  1623  type sigset_t = __sigset
  1624  
  1625  type fd_set1 = struct{ __fds_bits [16]uint64 }
  1626  
  1627  type fd_set = fd_set1
  1628  
  1629  type crypt_data = struct {
  1630  	initialized int32
  1631  	__buf       [256]int8
  1632  }
  1633  
  1634  type errno_t = int32
  1635  
  1636  type rune_t = int32
  1637  
  1638  type div_t = struct {
  1639  	quot int32
  1640  	rem  int32
  1641  }
  1642  
  1643  type ldiv_t = struct {
  1644  	quot int64
  1645  	rem  int64
  1646  }
  1647  
  1648  type lldiv_t = struct {
  1649  	quot int64
  1650  	rem  int64
  1651  }
  1652  
  1653  type constraint_handler_t = uintptr
  1654  
  1655  type locale_t = uintptr
  1656  
  1657  type _RuneEntry = struct {
  1658  	__min   int32
  1659  	__max   int32
  1660  	__map   int32
  1661  	_       [4]byte
  1662  	__types uintptr
  1663  }
  1664  
  1665  type _RuneRange = struct {
  1666  	__nranges int32
  1667  	_         [4]byte
  1668  	__ranges  uintptr
  1669  }
  1670  
  1671  type _RuneLocale = struct {
  1672  	__magic        [8]int8
  1673  	__encoding     [32]int8
  1674  	__sgetrune     uintptr
  1675  	__sputrune     uintptr
  1676  	__invalid_rune int32
  1677  	_              [4]byte
  1678  	__runetype     [256]uint64
  1679  	__maplower     [256]int32
  1680  	__mapupper     [256]int32
  1681  	__runetype_ext _RuneRange
  1682  	__maplower_ext _RuneRange
  1683  	__mapupper_ext _RuneRange
  1684  	__variable     uintptr
  1685  	__variable_len int32
  1686  	_              [4]byte
  1687  }
  1688  
  1689  func __getCurrentRuneLocale(tls *libc.TLS) uintptr {
  1690  	if libc.X_ThreadRuneLocale != 0 {
  1691  		return libc.X_ThreadRuneLocale
  1692  	}
  1693  	return libc.X_CurrentRuneLocale
  1694  }
  1695  
  1696  func __maskrune(tls *libc.TLS, _c int32, _f uint64) int32 {
  1697  	return int32(func() uint64 {
  1698  		if _c < 0 || _c >= int32(1)<<8 {
  1699  			return libc.X___runetype(tls, _c)
  1700  		}
  1701  		return *(*uint64)(unsafe.Pointer(__getCurrentRuneLocale(tls) + 64 + uintptr(_c)*8))
  1702  	}() & _f)
  1703  }
  1704  
  1705  func __sbmaskrune(tls *libc.TLS, _c int32, _f uint64) int32 {
  1706  	if _c < 0 || _c >= libc.X__mb_sb_limit {
  1707  		return 0
  1708  	}
  1709  	return int32(*(*uint64)(unsafe.Pointer(__getCurrentRuneLocale(tls) + 64 + uintptr(_c)*8)) & _f)
  1710  }
  1711  
  1712  func __sbistype(tls *libc.TLS, _c int32, _f uint64) int32 {
  1713  	return libc.BoolInt32(!!(__sbmaskrune(tls, _c, _f) != 0))
  1714  }
  1715  
  1716  func __sbmaskrune_l(tls *libc.TLS, __c int32, __f uint64, __loc locale_t) int32 {
  1717  	bp := tls.Alloc(4)
  1718  	defer tls.Free(4)
  1719  
  1720  	var runes uintptr = libc.X__runes_for_locale(tls, __loc, bp)
  1721  	if __c < 0 || __c >= *(*int32)(unsafe.Pointer(bp)) {
  1722  		return 0
  1723  	}
  1724  	return int32(*(*uint64)(unsafe.Pointer(runes + 64 + uintptr(__c)*8)) & __f)
  1725  }
  1726  
  1727  func __sbistype_l(tls *libc.TLS, __c int32, __f uint64, __loc locale_t) int32 {
  1728  	return libc.BoolInt32(!!(__sbmaskrune_l(tls, __c, __f, __loc) != 0))
  1729  }
  1730  
  1731  type Global = struct {
  1732  	argv0            uintptr
  1733  	zVfs             uintptr
  1734  	zDbFile          uintptr
  1735  	db               uintptr
  1736  	zErrLog          uintptr
  1737  	pErrLog          uintptr
  1738  	zLog             uintptr
  1739  	pLog             uintptr
  1740  	zName            [32]int8
  1741  	taskId           int32
  1742  	iTrace           int32
  1743  	bSqlTrace        int32
  1744  	bIgnoreSqlErrors int32
  1745  	nError           int32
  1746  	nTest            int32
  1747  	iTimeout         int32
  1748  	bSync            int32
  1749  }
  1750  
  1751  var g Global
  1752  
  1753  func printWithPrefix(tls *libc.TLS, pOut uintptr, zPrefix uintptr, zMsg uintptr) {
  1754  	bp := tls.Alloc(24)
  1755  	defer tls.Free(24)
  1756  
  1757  	for zMsg != 0 && *(*int8)(unsafe.Pointer(zMsg)) != 0 {
  1758  		var i int32
  1759  		for i = 0; *(*int8)(unsafe.Pointer(zMsg + uintptr(i))) != 0 && int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\n' && int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\r'; i++ {
  1760  		}
  1761  		libc.Xfprintf(tls, pOut, ts, libc.VaList(bp, zPrefix, i, zMsg))
  1762  		zMsg += uintptr(i)
  1763  		for int32(*(*int8)(unsafe.Pointer(zMsg))) == '\n' || int32(*(*int8)(unsafe.Pointer(zMsg))) == '\r' {
  1764  			zMsg++
  1765  		}
  1766  	}
  1767  }
  1768  
  1769  func safe_strcmp(tls *libc.TLS, a uintptr, b uintptr) int32 {
  1770  	if a == b {
  1771  		return 0
  1772  	}
  1773  	if a == uintptr(0) {
  1774  		return -1
  1775  	}
  1776  	if b == uintptr(0) {
  1777  		return 1
  1778  	}
  1779  	return libc.Xstrcmp(tls, a, b)
  1780  }
  1781  
  1782  func strglob(tls *libc.TLS, zGlob uintptr, z uintptr) int32 {
  1783  	var c int32
  1784  	var c2 int32
  1785  	var invert int32
  1786  	var seen int32
  1787  
  1788  	for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) != 0 {
  1789  		if c == '*' {
  1790  			for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) == '*' || c == '?' {
  1791  				if c == '?' && int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 {
  1792  					return 0
  1793  				}
  1794  			}
  1795  			if c == 0 {
  1796  				return 1
  1797  			} else if c == '[' {
  1798  				for *(*int8)(unsafe.Pointer(z)) != 0 && strglob(tls, zGlob-uintptr(1), z) != 0 {
  1799  					z++
  1800  				}
  1801  				return libc.Bool32(int32(*(*int8)(unsafe.Pointer(z))) != 0)
  1802  			}
  1803  			for libc.AssignInt32(&c2, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))) != 0 {
  1804  				for c2 != c {
  1805  					c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
  1806  					if c2 == 0 {
  1807  						return 0
  1808  					}
  1809  				}
  1810  				if strglob(tls, zGlob, z) != 0 {
  1811  					return 1
  1812  				}
  1813  			}
  1814  			return 0
  1815  		} else if c == '?' {
  1816  			if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 {
  1817  				return 0
  1818  			}
  1819  		} else if c == '[' {
  1820  			var prior_c int32 = 0
  1821  			seen = 0
  1822  			invert = 0
  1823  			c = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
  1824  			if c == 0 {
  1825  				return 0
  1826  			}
  1827  			c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1828  			if c2 == '^' {
  1829  				invert = 1
  1830  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1831  			}
  1832  			if c2 == ']' {
  1833  				if c == ']' {
  1834  					seen = 1
  1835  				}
  1836  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1837  			}
  1838  			for c2 != 0 && c2 != ']' {
  1839  				if c2 == '-' && int32(*(*int8)(unsafe.Pointer(zGlob))) != ']' && int32(*(*int8)(unsafe.Pointer(zGlob))) != 0 && prior_c > 0 {
  1840  					c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1841  					if c >= prior_c && c <= c2 {
  1842  						seen = 1
  1843  					}
  1844  					prior_c = 0
  1845  				} else {
  1846  					if c == c2 {
  1847  						seen = 1
  1848  					}
  1849  					prior_c = c2
  1850  				}
  1851  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1852  			}
  1853  			if c2 == 0 || seen^invert == 0 {
  1854  				return 0
  1855  			}
  1856  		} else if c == '#' {
  1857  			if (int32(*(*int8)(unsafe.Pointer(z))) == '-' || int32(*(*int8)(unsafe.Pointer(z))) == '+') && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + 1)))), uint64(X_CTYPE_D)) != 0 {
  1858  				z++
  1859  			}
  1860  			if !(__sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z)))), uint64(X_CTYPE_D)) != 0) {
  1861  				return 0
  1862  			}
  1863  			z++
  1864  			for __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z)))), uint64(X_CTYPE_D)) != 0 {
  1865  				z++
  1866  			}
  1867  		} else {
  1868  			if c != int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) {
  1869  				return 0
  1870  			}
  1871  		}
  1872  	}
  1873  	return libc.Bool32(int32(*(*int8)(unsafe.Pointer(z))) == 0)
  1874  }
  1875  
  1876  func maybeClose(tls *libc.TLS, pOut uintptr) {
  1877  	if pOut != libc.X__stdoutp && pOut != libc.X__stderrp {
  1878  		libc.Xfclose(tls, pOut)
  1879  	}
  1880  }
  1881  
  1882  func errorMessage(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1883  	bp := tls.Alloc(38)
  1884  	defer tls.Free(38)
  1885  
  1886  	var ap va_list
  1887  	_ = ap
  1888  	var zMsg uintptr
  1889  
  1890  	ap = va
  1891  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1892  	_ = ap
  1893  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8, ts+8, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64))
  1894  	if g.pLog != 0 {
  1895  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1896  		libc.Xfflush(tls, g.pLog)
  1897  	}
  1898  	if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 {
  1899  		printWithPrefix(tls, g.pErrLog, bp+8, zMsg)
  1900  		libc.Xfflush(tls, g.pErrLog)
  1901  	}
  1902  	sqlite3.Xsqlite3_free(tls, zMsg)
  1903  	g.nError++
  1904  }
  1905  
  1906  func fatalError(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1907  	bp := tls.Alloc(38)
  1908  	defer tls.Free(38)
  1909  
  1910  	var ap va_list
  1911  	_ = ap
  1912  	var zMsg uintptr
  1913  
  1914  	ap = va
  1915  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1916  	_ = ap
  1917  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8, ts+19, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64))
  1918  	if g.pLog != 0 {
  1919  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1920  		libc.Xfflush(tls, g.pLog)
  1921  		maybeClose(tls, g.pLog)
  1922  	}
  1923  	if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 {
  1924  		printWithPrefix(tls, g.pErrLog, bp+8, zMsg)
  1925  		libc.Xfflush(tls, g.pErrLog)
  1926  		maybeClose(tls, g.pErrLog)
  1927  	}
  1928  	sqlite3.Xsqlite3_free(tls, zMsg)
  1929  	if g.db != 0 {
  1930  		var nTry int32 = 0
  1931  		g.iTimeout = 0
  1932  		for trySql(tls, ts+30, 0) == SQLITE_BUSY &&
  1933  			libc.PostIncInt32(&nTry, 1) < 100 {
  1934  			sqlite3.Xsqlite3_sleep(tls, 10)
  1935  		}
  1936  	}
  1937  	sqlite3.Xsqlite3_close(tls, g.db)
  1938  	libc.Xexit(tls, 1)
  1939  }
  1940  
  1941  func logMessage(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1942  	bp := tls.Alloc(38)
  1943  	defer tls.Free(38)
  1944  
  1945  	var ap va_list
  1946  	_ = ap
  1947  	var zMsg uintptr
  1948  
  1949  	ap = va
  1950  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1951  	_ = ap
  1952  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8, ts+60, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64))
  1953  	if g.pLog != 0 {
  1954  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1955  		libc.Xfflush(tls, g.pLog)
  1956  	}
  1957  	sqlite3.Xsqlite3_free(tls, zMsg)
  1958  }
  1959  
  1960  func clipLength(tls *libc.TLS, z uintptr) int32 {
  1961  	var n int32 = int32(libc.Xstrlen(tls, z))
  1962  	for n > 0 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n-1))))), uint64(X_CTYPE_S)) != 0 {
  1963  		n--
  1964  	}
  1965  	return n
  1966  }
  1967  
  1968  func vfsNameFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
  1969  	bp := tls.Alloc(8)
  1970  	defer tls.Free(8)
  1971  
  1972  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
  1973  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  1974  	_ = argc
  1975  	_ = argv
  1976  	sqlite3.Xsqlite3_file_control(tls, db, ts+65, SQLITE_FCNTL_VFSNAME, bp)
  1977  	if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  1978  		sqlite3.Xsqlite3_result_text(tls, context, *(*uintptr)(unsafe.Pointer(bp)), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
  1979  	}
  1980  }
  1981  
  1982  func busyHandler(tls *libc.TLS, pCD uintptr, count int32) int32 {
  1983  	bp := tls.Alloc(8)
  1984  	defer tls.Free(8)
  1985  
  1986  	_ = pCD
  1987  	if count*10 > g.iTimeout {
  1988  		if g.iTimeout > 0 {
  1989  			errorMessage(tls, ts+70, libc.VaList(bp, g.iTimeout))
  1990  		}
  1991  		return 0
  1992  	}
  1993  	sqlite3.Xsqlite3_sleep(tls, 10)
  1994  	return 1
  1995  }
  1996  
  1997  func sqlTraceCallback(tls *libc.TLS, NotUsed1 uintptr, zSql uintptr) {
  1998  	bp := tls.Alloc(16)
  1999  	defer tls.Free(16)
  2000  
  2001  	_ = NotUsed1
  2002  	logMessage(tls, ts+89, libc.VaList(bp, clipLength(tls, zSql), zSql))
  2003  }
  2004  
  2005  func sqlErrorCallback(tls *libc.TLS, pArg uintptr, iErrCode int32, zMsg uintptr) {
  2006  	bp := tls.Alloc(24)
  2007  	defer tls.Free(24)
  2008  
  2009  	_ = pArg
  2010  	if iErrCode == SQLITE_ERROR && g.bIgnoreSqlErrors != 0 {
  2011  		return
  2012  	}
  2013  	if iErrCode&0xff == SQLITE_SCHEMA && g.iTrace < 3 {
  2014  		return
  2015  	}
  2016  	if g.iTimeout == 0 && iErrCode&0xff == SQLITE_BUSY && g.iTrace < 3 {
  2017  		return
  2018  	}
  2019  	if iErrCode&0xff == SQLITE_NOTICE {
  2020  		logMessage(tls, ts+96, libc.VaList(bp, zMsg))
  2021  	} else {
  2022  		errorMessage(tls, ts+106, libc.VaList(bp+8, iErrCode, zMsg))
  2023  	}
  2024  }
  2025  
  2026  func prepareSql(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr {
  2027  	bp := tls.Alloc(24)
  2028  	defer tls.Free(24)
  2029  
  2030  	var ap va_list
  2031  	_ = ap
  2032  	var zSql uintptr
  2033  	var rc int32
  2034  	*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
  2035  	ap = va
  2036  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2037  	_ = ap
  2038  	rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0))
  2039  	if rc != SQLITE_OK {
  2040  		sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  2041  		fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql))
  2042  	}
  2043  	sqlite3.Xsqlite3_free(tls, zSql)
  2044  	return *(*uintptr)(unsafe.Pointer(bp + 16))
  2045  }
  2046  
  2047  func runSql(tls *libc.TLS, zFormat uintptr, va uintptr) {
  2048  	bp := tls.Alloc(16)
  2049  	defer tls.Free(16)
  2050  
  2051  	var ap va_list
  2052  	_ = ap
  2053  	var zSql uintptr
  2054  	var rc int32
  2055  	ap = va
  2056  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2057  	_ = ap
  2058  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0))
  2059  	if rc != SQLITE_OK {
  2060  		fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql))
  2061  	}
  2062  	sqlite3.Xsqlite3_free(tls, zSql)
  2063  }
  2064  
  2065  func trySql(tls *libc.TLS, zFormat uintptr, va uintptr) int32 {
  2066  	var ap va_list
  2067  	_ = ap
  2068  	var zSql uintptr
  2069  	var rc int32
  2070  	ap = va
  2071  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2072  	_ = ap
  2073  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0))
  2074  	sqlite3.Xsqlite3_free(tls, zSql)
  2075  	return rc
  2076  }
  2077  
  2078  type String1 = struct {
  2079  	z      uintptr
  2080  	n      int32
  2081  	nAlloc int32
  2082  }
  2083  
  2084  type String = String1
  2085  
  2086  func stringFree(tls *libc.TLS, p uintptr) {
  2087  	if (*String)(unsafe.Pointer(p)).z != 0 {
  2088  		sqlite3.Xsqlite3_free(tls, (*String)(unsafe.Pointer(p)).z)
  2089  	}
  2090  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(String{})))
  2091  }
  2092  
  2093  func stringAppend(tls *libc.TLS, p uintptr, z uintptr, n int32) {
  2094  	if n < 0 {
  2095  		n = int32(libc.Xstrlen(tls, z))
  2096  	}
  2097  	if (*String)(unsafe.Pointer(p)).n+n >= (*String)(unsafe.Pointer(p)).nAlloc {
  2098  		var nAlloc int32 = (*String)(unsafe.Pointer(p)).nAlloc*2 + n + 100
  2099  		var zNew uintptr = sqlite3.Xsqlite3_realloc(tls, (*String)(unsafe.Pointer(p)).z, nAlloc)
  2100  		if zNew == uintptr(0) {
  2101  			fatalError(tls, ts+129, 0)
  2102  		}
  2103  		(*String)(unsafe.Pointer(p)).z = zNew
  2104  		(*String)(unsafe.Pointer(p)).nAlloc = nAlloc
  2105  	}
  2106  	libc.Xmemcpy(tls, (*String)(unsafe.Pointer(p)).z+uintptr((*String)(unsafe.Pointer(p)).n), z, uint64(n))
  2107  	*(*int32)(unsafe.Pointer(p + 8)) += n
  2108  	*(*int8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z + uintptr((*String)(unsafe.Pointer(p)).n))) = int8(0)
  2109  }
  2110  
  2111  func stringReset(tls *libc.TLS, p uintptr) {
  2112  	if (*String)(unsafe.Pointer(p)).z == uintptr(0) {
  2113  		stringAppend(tls, p, ts+143, 1)
  2114  	}
  2115  	(*String)(unsafe.Pointer(p)).n = 0
  2116  	*(*int8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z)) = int8(0)
  2117  }
  2118  
  2119  func stringAppendTerm(tls *libc.TLS, p uintptr, z uintptr) {
  2120  	var i int32
  2121  	if (*String)(unsafe.Pointer(p)).n != 0 {
  2122  		stringAppend(tls, p, ts+143, 1)
  2123  	}
  2124  	if z == uintptr(0) {
  2125  		stringAppend(tls, p, ts+145, 3)
  2126  		return
  2127  	}
  2128  	for i = 0; *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 && !(__sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))), uint64(X_CTYPE_S)) != 0); i++ {
  2129  	}
  2130  	if i > 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == 0 {
  2131  		stringAppend(tls, p, z, i)
  2132  		return
  2133  	}
  2134  	stringAppend(tls, p, ts+149, 1)
  2135  	for *(*int8)(unsafe.Pointer(z)) != 0 {
  2136  		for i = 0; *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) != '\''; i++ {
  2137  		}
  2138  		if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 {
  2139  			stringAppend(tls, p, z, i+1)
  2140  			stringAppend(tls, p, ts+149, 1)
  2141  			z += uintptr(i + 1)
  2142  		} else {
  2143  			stringAppend(tls, p, z, i)
  2144  			break
  2145  		}
  2146  	}
  2147  	stringAppend(tls, p, ts+149, 1)
  2148  }
  2149  
  2150  func evalCallback(tls *libc.TLS, pCData uintptr, argc int32, argv uintptr, azCol uintptr) int32 {
  2151  	var p uintptr = pCData
  2152  	var i int32
  2153  	_ = azCol
  2154  	for i = 0; i < argc; i++ {
  2155  		stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
  2156  	}
  2157  	return 0
  2158  }
  2159  
  2160  func evalSql(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) int32 {
  2161  	bp := tls.Alloc(46)
  2162  	defer tls.Free(46)
  2163  
  2164  	var ap va_list
  2165  	_ = ap
  2166  	var zSql uintptr
  2167  	var rc int32
  2168  	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
  2169  	ap = va
  2170  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2171  	_ = ap
  2172  
  2173  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, *(*uintptr)(unsafe.Pointer(&struct {
  2174  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  2175  	}{evalCallback})), p, bp+8)
  2176  	sqlite3.Xsqlite3_free(tls, zSql)
  2177  	if rc != 0 {
  2178  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16, ts+151, libc.VaList(bp, rc))
  2179  		stringAppendTerm(tls, p, bp+16)
  2180  		if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  2181  			stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
  2182  			sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  2183  		}
  2184  	}
  2185  	return rc
  2186  }
  2187  
  2188  func evalFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
  2189  	bp := tls.Alloc(24)
  2190  	defer tls.Free(24)
  2191  
  2192  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
  2193  	var zSql uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2194  
  2195  	*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
  2196  	var rc int32
  2197  	_ = argc
  2198  	libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(String{})))
  2199  	rc = sqlite3.Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct {
  2200  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  2201  	}{evalCallback})), bp, bp+16)
  2202  	if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 {
  2203  		sqlite3.Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
  2204  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  2205  	} else if rc != 0 {
  2206  		sqlite3.Xsqlite3_result_error_code(tls, context, rc)
  2207  	} else {
  2208  		sqlite3.Xsqlite3_result_text(tls, context, (*String)(unsafe.Pointer(bp)).z, -1, libc.UintptrFromInt32(-1))
  2209  	}
  2210  	stringFree(tls, bp)
  2211  }
  2212  
  2213  func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr, pzTaskName uintptr) int32 {
  2214  	bp := tls.Alloc(80)
  2215  	defer tls.Free(80)
  2216  
  2217  	var pStmt uintptr = uintptr(0)
  2218  	var taskId int32
  2219  	var rc int32
  2220  	var totalTime int32 = 0
  2221  
  2222  	*(*uintptr)(unsafe.Pointer(pzScript)) = uintptr(0)
  2223  	g.iTimeout = 0
  2224  	for 1 != 0 {
  2225  		rc = trySql(tls, ts+161, 0)
  2226  		if rc == SQLITE_BUSY {
  2227  			sqlite3.Xsqlite3_sleep(tls, 10)
  2228  			totalTime = totalTime + 10
  2229  			continue
  2230  		}
  2231  		if rc != SQLITE_OK {
  2232  			fatalError(tls, ts+177, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2233  		}
  2234  		if g.nError != 0 || g.nTest != 0 {
  2235  			runSql(tls, ts+196,
  2236  				libc.VaList(bp+8, g.nError, g.nTest))
  2237  			g.nError = 0
  2238  			g.nTest = 0
  2239  		}
  2240  		pStmt = prepareSql(tls, ts+249, libc.VaList(bp+24, iClient))
  2241  		rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2242  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  2243  		if rc == SQLITE_ROW {
  2244  			runSql(tls, ts+295, libc.VaList(bp+32, iClient))
  2245  			g.iTimeout = DEFAULT_TIMEOUT
  2246  			runSql(tls, ts+326, 0)
  2247  			return SQLITE_DONE
  2248  		}
  2249  		pStmt = prepareSql(tls,
  2250  			ts+346, libc.VaList(bp+40, iClient))
  2251  		rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2252  		if rc == SQLITE_ROW {
  2253  			var n int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, 0)
  2254  			*(*uintptr)(unsafe.Pointer(pzScript)) = sqlite3.Xsqlite3_malloc(tls, n+1)
  2255  			libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(pzScript)), sqlite3.Xsqlite3_column_text(tls, pStmt, 0))
  2256  			*(*int32)(unsafe.Pointer(pTaskId)) = libc.AssignInt32(&taskId, sqlite3.Xsqlite3_column_int(tls, pStmt, 1))
  2257  			*(*uintptr)(unsafe.Pointer(pzTaskName)) = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+48, sqlite3.Xsqlite3_column_text(tls, pStmt, 2)))
  2258  			sqlite3.Xsqlite3_finalize(tls, pStmt)
  2259  			runSql(tls,
  2260  				ts+441, libc.VaList(bp+56, taskId))
  2261  			g.iTimeout = DEFAULT_TIMEOUT
  2262  			runSql(tls, ts+326, 0)
  2263  			return SQLITE_OK
  2264  		}
  2265  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  2266  		if rc == SQLITE_DONE {
  2267  			if totalTime > 3000000 {
  2268  				errorMessage(tls, ts+524, 0)
  2269  				runSql(tls, ts+575, libc.VaList(bp+64, iClient))
  2270  				sqlite3.Xsqlite3_close(tls, g.db)
  2271  				libc.Xexit(tls, 1)
  2272  			}
  2273  			for trySql(tls, ts+615, 0) == SQLITE_BUSY {
  2274  				sqlite3.Xsqlite3_sleep(tls, 10)
  2275  				totalTime = totalTime + 10
  2276  			}
  2277  			sqlite3.Xsqlite3_sleep(tls, 100)
  2278  			totalTime = totalTime + 100
  2279  			continue
  2280  		}
  2281  		fatalError(tls, ts+438, libc.VaList(bp+72, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2282  	}
  2283  	g.iTimeout = DEFAULT_TIMEOUT
  2284  	return int32(0)
  2285  }
  2286  
  2287  func finishScript(tls *libc.TLS, iClient int32, taskId int32, bShutdown int32) int32 {
  2288  	bp := tls.Alloc(16)
  2289  	defer tls.Free(16)
  2290  
  2291  	runSql(tls,
  2292  		ts+622, libc.VaList(bp, taskId))
  2293  	if bShutdown != 0 {
  2294  		runSql(tls, ts+295, libc.VaList(bp+8, iClient))
  2295  	}
  2296  	return SQLITE_OK
  2297  }
  2298  
  2299  func startClient(tls *libc.TLS, iClient int32) {
  2300  	bp := tls.Alloc(96)
  2301  	defer tls.Free(96)
  2302  
  2303  	runSql(tls, ts+703, libc.VaList(bp, iClient))
  2304  	if sqlite3.Xsqlite3_changes(tls, g.db) != 0 {
  2305  		var zSys uintptr
  2306  		var rc int32
  2307  		zSys = sqlite3.Xsqlite3_mprintf(tls, ts+745,
  2308  			libc.VaList(bp+8, g.argv0, g.zDbFile, iClient, g.iTrace))
  2309  		if g.bSqlTrace != 0 {
  2310  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+776, libc.VaList(bp+40, zSys))
  2311  		}
  2312  		if g.bSync != 0 {
  2313  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+790, libc.VaList(bp+48, zSys))
  2314  		}
  2315  		if g.zVfs != 0 {
  2316  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+800, libc.VaList(bp+56, zSys, g.zVfs))
  2317  		}
  2318  		if g.iTrace >= 2 {
  2319  			logMessage(tls, ts+814, libc.VaList(bp+72, zSys))
  2320  		}
  2321  		zSys = sqlite3.Xsqlite3_mprintf(tls, ts+827, libc.VaList(bp+80, zSys))
  2322  		rc = libc.Xsystem(tls, zSys)
  2323  		if rc != 0 {
  2324  			errorMessage(tls, ts+832, libc.VaList(bp+88, rc))
  2325  		}
  2326  		sqlite3.Xsqlite3_free(tls, zSys)
  2327  	}
  2328  }
  2329  
  2330  func readFile(tls *libc.TLS, zFilename uintptr) uintptr {
  2331  	bp := tls.Alloc(8)
  2332  	defer tls.Free(8)
  2333  
  2334  	var in uintptr = libc.Xfopen(tls, zFilename, ts+866)
  2335  	var sz int64
  2336  	var z uintptr
  2337  	if in == uintptr(0) {
  2338  		fatalError(tls, ts+869, libc.VaList(bp, zFilename))
  2339  	}
  2340  	libc.Xfseek(tls, in, int64(0), SEEK_END)
  2341  	sz = libc.Xftell(tls, in)
  2342  	libc.Xrewind(tls, in)
  2343  	z = sqlite3.Xsqlite3_malloc(tls, int32(sz+int64(1)))
  2344  	sz = int64(libc.Xfread(tls, z, uint64(1), uint64(sz), in))
  2345  	*(*int8)(unsafe.Pointer(z + uintptr(sz))) = int8(0)
  2346  	libc.Xfclose(tls, in)
  2347  	return z
  2348  }
  2349  
  2350  func tokenLength(tls *libc.TLS, z uintptr, pnLine uintptr) int32 {
  2351  	var n int32 = 0
  2352  	if __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z)))), uint64(X_CTYPE_S)) != 0 || int32(*(*int8)(unsafe.Pointer(z))) == '/' && int32(*(*int8)(unsafe.Pointer(z + 1))) == '*' {
  2353  		var inC int32 = 0
  2354  		var c int32
  2355  		if int32(*(*int8)(unsafe.Pointer(z))) == '/' {
  2356  			inC = 1
  2357  			n = 2
  2358  		}
  2359  		for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&n, 1)))))) != 0 {
  2360  			if c == '\n' {
  2361  				*(*int32)(unsafe.Pointer(pnLine))++
  2362  			}
  2363  			if __sbistype(tls, int32(uint8(c)), uint64(X_CTYPE_S)) != 0 {
  2364  				continue
  2365  			}
  2366  			if inC != 0 && c == '*' && int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '/' {
  2367  				n++
  2368  				inC = 0
  2369  			} else if !(inC != 0) && c == '/' && int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '*' {
  2370  				n++
  2371  				inC = 1
  2372  			} else if !(inC != 0) {
  2373  				break
  2374  			}
  2375  		}
  2376  		n--
  2377  	} else if int32(*(*int8)(unsafe.Pointer(z))) == '-' && int32(*(*int8)(unsafe.Pointer(z + 1))) == '-' {
  2378  		for n = 2; *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) != '\n'; n++ {
  2379  		}
  2380  		if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 {
  2381  			*(*int32)(unsafe.Pointer(pnLine))++
  2382  			n++
  2383  		}
  2384  	} else if int32(*(*int8)(unsafe.Pointer(z))) == '"' || int32(*(*int8)(unsafe.Pointer(z))) == '\'' {
  2385  		var delim int32 = int32(*(*int8)(unsafe.Pointer(z)))
  2386  		for n = 1; *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0; n++ {
  2387  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '\n' {
  2388  				*(*int32)(unsafe.Pointer(pnLine))++
  2389  			}
  2390  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == delim {
  2391  				n++
  2392  				if int32(*(*int8)(unsafe.Pointer(z + uintptr(n+1)))) != delim {
  2393  					break
  2394  				}
  2395  			}
  2396  		}
  2397  	} else {
  2398  		var c int32
  2399  		for n = 1; libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(n))))) != 0 && !(__sbistype(tls, int32(uint8(c)), uint64(X_CTYPE_S)) != 0) && c != '"' && c != '\'' && c != ';'; n++ {
  2400  		}
  2401  	}
  2402  	return n
  2403  }
  2404  
  2405  func extractToken(tls *libc.TLS, zIn uintptr, nIn int32, zOut uintptr, nOut int32) int32 {
  2406  	var i int32
  2407  	if nIn <= 0 {
  2408  		*(*int8)(unsafe.Pointer(zOut)) = int8(0)
  2409  		return 0
  2410  	}
  2411  	for i = 0; i < nIn && i < nOut-1 && !(__sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zIn + uintptr(i))))), uint64(X_CTYPE_S)) != 0); i++ {
  2412  		*(*int8)(unsafe.Pointer(zOut + uintptr(i))) = *(*int8)(unsafe.Pointer(zIn + uintptr(i)))
  2413  	}
  2414  	*(*int8)(unsafe.Pointer(zOut + uintptr(i))) = int8(0)
  2415  	return i
  2416  }
  2417  
  2418  func findEnd(tls *libc.TLS, z uintptr, pnLine uintptr) int32 {
  2419  	var n int32 = 0
  2420  	for *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 && (libc.Xstrncmp(tls, z+uintptr(n), ts+898, uint64(5)) != 0 || !(__sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+5))))), uint64(X_CTYPE_S)) != 0)) {
  2421  		n = n + tokenLength(tls, z+uintptr(n), pnLine)
  2422  	}
  2423  	return n
  2424  }
  2425  
  2426  func findEndif(tls *libc.TLS, z uintptr, stopAtElse int32, pnLine uintptr) int32 {
  2427  	var n int32 = 0
  2428  	for *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 {
  2429  		var len int32 = tokenLength(tls, z+uintptr(n), pnLine)
  2430  		if libc.Xstrncmp(tls, z+uintptr(n), ts+904, uint64(7)) == 0 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+7))))), uint64(X_CTYPE_S)) != 0 ||
  2431  			stopAtElse != 0 && libc.Xstrncmp(tls, z+uintptr(n), ts+912, uint64(6)) == 0 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+6))))), uint64(X_CTYPE_S)) != 0 {
  2432  			return n + len
  2433  		}
  2434  		if libc.Xstrncmp(tls, z+uintptr(n), ts+919, uint64(4)) == 0 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+4))))), uint64(X_CTYPE_S)) != 0 {
  2435  			var skip int32 = findEndif(tls, z+uintptr(n)+uintptr(len), 0, pnLine)
  2436  			n = n + (skip + len)
  2437  		} else {
  2438  			n = n + len
  2439  		}
  2440  	}
  2441  	return n
  2442  }
  2443  
  2444  func waitForClient(tls *libc.TLS, iClient int32, iTimeout int32, zErrPrefix uintptr) {
  2445  	bp := tls.Alloc(32)
  2446  	defer tls.Free(32)
  2447  
  2448  	var pStmt uintptr
  2449  	var rc int32
  2450  	if iClient > 0 {
  2451  		pStmt = prepareSql(tls,
  2452  			ts+924,
  2453  			libc.VaList(bp, iClient))
  2454  	} else {
  2455  		pStmt = prepareSql(tls,
  2456  			ts+1020, 0)
  2457  	}
  2458  	g.iTimeout = 0
  2459  	for (libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY || rc == SQLITE_ROW) &&
  2460  		iTimeout > 0 {
  2461  		sqlite3.Xsqlite3_reset(tls, pStmt)
  2462  		sqlite3.Xsqlite3_sleep(tls, 50)
  2463  		iTimeout = iTimeout - 50
  2464  	}
  2465  	sqlite3.Xsqlite3_finalize(tls, pStmt)
  2466  	g.iTimeout = DEFAULT_TIMEOUT
  2467  	if rc != SQLITE_DONE {
  2468  		if zErrPrefix == uintptr(0) {
  2469  			zErrPrefix = ts + 1101
  2470  		}
  2471  		if iClient > 0 {
  2472  			errorMessage(tls, ts+1102, libc.VaList(bp+8, zErrPrefix, iClient))
  2473  		} else {
  2474  			errorMessage(tls, ts+1134, libc.VaList(bp+24, zErrPrefix))
  2475  		}
  2476  	}
  2477  }
  2478  
  2479  func filenameTail(tls *libc.TLS, z uintptr) uintptr {
  2480  	var i int32
  2481  	var j int32
  2482  	for i = libc.AssignInt32(&j, 0); *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ {
  2483  		if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == '/' {
  2484  			j = i + 1
  2485  		}
  2486  	}
  2487  	return z + uintptr(j)
  2488  }
  2489  
  2490  func booleanValue(tls *libc.TLS, zArg uintptr) int32 {
  2491  	bp := tls.Alloc(8)
  2492  	defer tls.Free(8)
  2493  
  2494  	var i int32
  2495  	if zArg == uintptr(0) {
  2496  		return 0
  2497  	}
  2498  	for i = 0; int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) <= '9'; i++ {
  2499  	}
  2500  	if i > 0 && int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) == 0 {
  2501  		return libc.Xatoi(tls, zArg)
  2502  	}
  2503  	if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1168) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1171) == 0 {
  2504  		return 1
  2505  	}
  2506  	if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1175) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1179) == 0 {
  2507  		return 0
  2508  	}
  2509  	errorMessage(tls, ts+1182, libc.VaList(bp, zArg))
  2510  	return 0
  2511  }
  2512  
  2513  func test_breakpoint(tls *libc.TLS) {
  2514  	atomic.AddInt32(&cnt, 1)
  2515  }
  2516  
  2517  var cnt int32 = 0
  2518  
  2519  func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFilename uintptr) {
  2520  	bp := tls.Alloc(1610)
  2521  	defer tls.Free(1610)
  2522  
  2523  	*(*int32)(unsafe.Pointer(bp + 376)) = 1
  2524  	var prevLine int32 = 1
  2525  	var ii int32 = 0
  2526  	var iBegin int32 = 0
  2527  	var n int32
  2528  	var c int32
  2529  	var j int32
  2530  	var len int32
  2531  	var nArg int32
  2532  
  2533  	libc.Xmemset(tls, bp+360, 0, uint64(unsafe.Sizeof(String{})))
  2534  	stringReset(tls, bp+360)
  2535  	for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii))))) != 0 {
  2536  		prevLine = *(*int32)(unsafe.Pointer(bp + 376))
  2537  		len = tokenLength(tls, zScript+uintptr(ii), bp+376)
  2538  		if __sbistype(tls, int32(uint8(c)), uint64(X_CTYPE_S)) != 0 || c == '/' && int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+1)))) == '*' {
  2539  			ii = ii + len
  2540  			continue
  2541  		}
  2542  		if c != '-' || int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+1)))) != '-' || !(__sbistype(tls, int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+2)))), uint64(X_CTYPE_A)) != 0) {
  2543  			ii = ii + len
  2544  			continue
  2545  		}
  2546  
  2547  		if ii > iBegin {
  2548  			var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp, ii-iBegin, zScript+uintptr(iBegin)))
  2549  			evalSql(tls, bp+360, zSql, 0)
  2550  			sqlite3.Xsqlite3_free(tls, zSql)
  2551  			iBegin = ii + len
  2552  		}
  2553  
  2554  		if g.iTrace >= 2 {
  2555  			logMessage(tls, ts+1204, libc.VaList(bp+16, len, zScript+uintptr(ii)))
  2556  		}
  2557  		n = extractToken(tls, zScript+uintptr(ii)+uintptr(2), len-2, bp+380, int32(unsafe.Sizeof([30]int8{})))
  2558  		for nArg = 0; n < len-2 && nArg < MX_ARG; nArg++ {
  2559  			for n < len-2 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+2+n))))), uint64(X_CTYPE_S)) != 0 {
  2560  				n++
  2561  			}
  2562  			if n >= len-2 {
  2563  				break
  2564  			}
  2565  			n = n + extractToken(tls, zScript+uintptr(ii)+uintptr(2)+uintptr(n), len-2-n,
  2566  				bp+410+uintptr(nArg)*100, int32(unsafe.Sizeof([100]int8{})))
  2567  		}
  2568  		for j = nArg; j < MX_ARG; j++ {
  2569  			*(*int8)(unsafe.Pointer(bp + 410 + uintptr(libc.PostIncInt32(&j, 1))*100)) = int8(0)
  2570  		}
  2571  
  2572  		if libc.Xstrcmp(tls, bp+380, ts+1209) == 0 {
  2573  			sqlite3.Xsqlite3_sleep(tls, libc.Xatoi(tls, bp+410))
  2574  		} else if libc.Xstrcmp(tls, bp+380, ts+1215) == 0 {
  2575  			var rc int32 = libc.Xatoi(tls, bp+410)
  2576  			finishScript(tls, iClient, taskId, 1)
  2577  			if rc == 0 {
  2578  				sqlite3.Xsqlite3_close(tls, g.db)
  2579  			}
  2580  			libc.Xexit(tls, rc)
  2581  		} else if libc.Xstrcmp(tls, bp+380, ts+1220) == 0 {
  2582  			if g.iTrace == 1 {
  2583  				logMessage(tls, ts+1204, libc.VaList(bp+32, len-1, zScript+uintptr(ii)))
  2584  			}
  2585  			stringReset(tls, bp+360)
  2586  		} else if libc.Xstrcmp(tls, bp+380, ts+1229) == 0 && iClient > 0 {
  2587  			finishScript(tls, iClient, taskId, 1)
  2588  		} else if libc.Xstrcmp(tls, bp+380, ts+1236) == 0 {
  2589  			stringReset(tls, bp+360)
  2590  		} else if libc.Xstrcmp(tls, bp+380, ts+1242) == 0 {
  2591  			var jj int32
  2592  			var zAns uintptr = zScript + uintptr(ii)
  2593  			for jj = 7; jj < len-1 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj))))), uint64(X_CTYPE_S)) != 0; jj++ {
  2594  			}
  2595  			zAns += uintptr(jj)
  2596  			if len-jj-1 != (*String)(unsafe.Pointer(bp+360)).n || libc.Xstrncmp(tls, (*String)(unsafe.Pointer(bp+360)).z, zAns, uint64(len-jj-1)) != 0 {
  2597  				errorMessage(tls, ts+1248,
  2598  					libc.VaList(bp+48, prevLine, zFilename, len-jj-1, zAns, (*String)(unsafe.Pointer(bp+360)).z))
  2599  			}
  2600  			g.nTest++
  2601  			stringReset(tls, bp+360)
  2602  		} else if libc.Xstrcmp(tls, bp+380, ts+1293) == 0 || libc.Xstrcmp(tls, bp+380, ts+1298) == 0 {
  2603  			var jj int32
  2604  			var zAns uintptr = zScript + uintptr(ii)
  2605  			var zCopy uintptr
  2606  			var isGlob int32 = libc.Bool32(int32(*(*int8)(unsafe.Pointer(bp + 380))) == 'g')
  2607  			for jj = 9 - 3*isGlob; jj < len-1 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj))))), uint64(X_CTYPE_S)) != 0; jj++ {
  2608  			}
  2609  			zAns += uintptr(jj)
  2610  			zCopy = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+88, len-jj-1, zAns))
  2611  			if libc.Bool32(sqlite3.Xsqlite3_strglob(tls, zCopy, (*String)(unsafe.Pointer(bp+360)).z) == 0)^isGlob != 0 {
  2612  				errorMessage(tls, ts+1306,
  2613  					libc.VaList(bp+104, prevLine, zFilename, zCopy, (*String)(unsafe.Pointer(bp+360)).z))
  2614  			}
  2615  			sqlite3.Xsqlite3_free(tls, zCopy)
  2616  			g.nTest++
  2617  			stringReset(tls, bp+360)
  2618  		} else if libc.Xstrcmp(tls, bp+380, ts+1349) == 0 {
  2619  			logMessage(tls, ts+438, libc.VaList(bp+136, (*String)(unsafe.Pointer(bp+360)).z))
  2620  		} else if libc.Xstrcmp(tls, bp+380, ts+1356) == 0 {
  2621  			var zNewFile uintptr
  2622  			var zNewScript uintptr
  2623  			var zToDel uintptr = uintptr(0)
  2624  			zNewFile = bp + 410
  2625  			if !(int32(*(*int8)(unsafe.Pointer(zNewFile))) == '/') {
  2626  				var k int32
  2627  				for k = int32(libc.Xstrlen(tls, zFilename)) - 1; k >= 0 && !(int32(*(*int8)(unsafe.Pointer(zFilename + uintptr(k)))) == '/'); k-- {
  2628  				}
  2629  				if k > 0 {
  2630  					zNewFile = libc.AssignUintptr(&zToDel, sqlite3.Xsqlite3_mprintf(tls, ts+1363, libc.VaList(bp+144, k, zFilename, zNewFile)))
  2631  				}
  2632  			}
  2633  			zNewScript = readFile(tls, zNewFile)
  2634  			if g.iTrace != 0 {
  2635  				logMessage(tls, ts+1371, libc.VaList(bp+168, zNewFile))
  2636  			}
  2637  			runScript(tls, 0, 0, zNewScript, zNewFile)
  2638  			sqlite3.Xsqlite3_free(tls, zNewScript)
  2639  			if g.iTrace != 0 {
  2640  				logMessage(tls, ts+1390, libc.VaList(bp+176, zNewFile))
  2641  			}
  2642  			sqlite3.Xsqlite3_free(tls, zToDel)
  2643  		} else if libc.Xstrcmp(tls, bp+380, ts+1407) == 0 {
  2644  			var jj int32
  2645  			for jj = 7; jj < len && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+jj))))), uint64(X_CTYPE_S)) != 0; jj++ {
  2646  			}
  2647  			logMessage(tls, ts+1204, libc.VaList(bp+184, len-jj, zScript+uintptr(ii)+uintptr(jj)))
  2648  		} else if libc.Xstrcmp(tls, bp+380, ts+1413) == 0 {
  2649  			var jj int32
  2650  			var rc int32
  2651  			var pStmt uintptr
  2652  			for jj = 4; jj < len && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+jj))))), uint64(X_CTYPE_S)) != 0; jj++ {
  2653  			}
  2654  			pStmt = prepareSql(tls, ts+1416, libc.VaList(bp+200, len-jj, zScript+uintptr(ii)+uintptr(jj)))
  2655  			rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2656  			if rc != SQLITE_ROW || sqlite3.Xsqlite3_column_int(tls, pStmt, 0) == 0 {
  2657  				ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 1, bp+376)
  2658  			}
  2659  			sqlite3.Xsqlite3_finalize(tls, pStmt)
  2660  		} else if libc.Xstrcmp(tls, bp+380, ts+1428) == 0 {
  2661  			ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 0, bp+376)
  2662  		} else if libc.Xstrcmp(tls, bp+380, ts+1433) == 0 {
  2663  		} else if libc.Xstrcmp(tls, bp+380, ts+1439) == 0 && iClient == 0 {
  2664  			var iNewClient int32 = libc.Xatoi(tls, bp+410)
  2665  			if iNewClient > 0 {
  2666  				startClient(tls, iNewClient)
  2667  			}
  2668  		} else if libc.Xstrcmp(tls, bp+380, ts+1445) == 0 && iClient == 0 {
  2669  			var iTimeout int32
  2670  			if nArg >= 2 {
  2671  				iTimeout = libc.Xatoi(tls, bp+410+1*100)
  2672  			} else {
  2673  				iTimeout = DEFAULT_TIMEOUT
  2674  			}
  2675  			sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]int8{})), bp+610, ts+1450,
  2676  				libc.VaList(bp+216, prevLine, zFilename))
  2677  			waitForClient(tls, libc.Xatoi(tls, bp+410), iTimeout, bp+610)
  2678  		} else if libc.Xstrcmp(tls, bp+380, ts+1465) == 0 && iClient == 0 {
  2679  			var iTarget int32 = libc.Xatoi(tls, bp+410)
  2680  			var iEnd int32
  2681  			var zTask uintptr
  2682  			var zTName uintptr
  2683  			iEnd = findEnd(tls, zScript+uintptr(ii)+uintptr(len), bp+376)
  2684  			if iTarget < 0 {
  2685  				errorMessage(tls, ts+1470,
  2686  					libc.VaList(bp+232, prevLine, zFilename, iTarget))
  2687  			} else {
  2688  				zTask = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+256, iEnd, zScript+uintptr(ii)+uintptr(len)))
  2689  				if nArg > 1 {
  2690  					zTName = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+272, bp+410+1*100))
  2691  				} else {
  2692  					zTName = sqlite3.Xsqlite3_mprintf(tls, ts+1507, libc.VaList(bp+280, filenameTail(tls, zFilename), prevLine))
  2693  				}
  2694  				startClient(tls, iTarget)
  2695  				runSql(tls,
  2696  					ts+1513, libc.VaList(bp+296, iTarget, zTask, zTName))
  2697  				sqlite3.Xsqlite3_free(tls, zTask)
  2698  				sqlite3.Xsqlite3_free(tls, zTName)
  2699  			}
  2700  			iEnd = iEnd + tokenLength(tls, zScript+uintptr(ii)+uintptr(len)+uintptr(iEnd), bp+376)
  2701  			len = len + iEnd
  2702  			iBegin = ii + len
  2703  		} else if libc.Xstrcmp(tls, bp+380, ts+1569) == 0 {
  2704  			test_breakpoint(tls)
  2705  		} else if libc.Xstrcmp(tls, bp+380, ts+1580) == 0 {
  2706  			g.bIgnoreSqlErrors = func() int32 {
  2707  				if nArg >= 1 {
  2708  					return libc.BoolInt32(!(booleanValue(tls, bp+410) != 0))
  2709  				}
  2710  				return 1
  2711  			}()
  2712  		} else {
  2713  			errorMessage(tls, ts+1596,
  2714  				libc.VaList(bp+320, prevLine, zFilename, bp+380))
  2715  		}
  2716  		ii = ii + len
  2717  	}
  2718  	if iBegin < ii {
  2719  		var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+344, ii-iBegin, zScript+uintptr(iBegin)))
  2720  		runSql(tls, zSql, 0)
  2721  		sqlite3.Xsqlite3_free(tls, zSql)
  2722  	}
  2723  	stringFree(tls, bp+360)
  2724  }
  2725  
  2726  func findOption(tls *libc.TLS, azArg uintptr, pnArg uintptr, zOption uintptr, hasArg int32) uintptr {
  2727  	bp := tls.Alloc(8)
  2728  	defer tls.Free(8)
  2729  
  2730  	var i int32
  2731  	var j int32
  2732  	var zReturn uintptr = uintptr(0)
  2733  	var nArg int32 = *(*int32)(unsafe.Pointer(pnArg))
  2734  
  2735  	for i = 0; i < nArg; i++ {
  2736  		var z uintptr
  2737  		if i+hasArg >= nArg {
  2738  			break
  2739  		}
  2740  		z = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))
  2741  		if int32(*(*int8)(unsafe.Pointer(z))) != '-' {
  2742  			continue
  2743  		}
  2744  		z++
  2745  		if int32(*(*int8)(unsafe.Pointer(z))) == '-' {
  2746  			if int32(*(*int8)(unsafe.Pointer(z + 1))) == 0 {
  2747  				break
  2748  			}
  2749  			z++
  2750  		}
  2751  		if libc.Xstrcmp(tls, z, zOption) == 0 {
  2752  			if hasArg != 0 && i == nArg-1 {
  2753  				fatalError(tls, ts+1632, libc.VaList(bp, z))
  2754  			}
  2755  			if hasArg != 0 {
  2756  				zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
  2757  			} else {
  2758  				zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))
  2759  			}
  2760  			j = i + 1 + libc.Bool32(hasArg != 0)
  2761  			for j < nArg {
  2762  				*(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&i, 1))*8)) = *(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&j, 1))*8))
  2763  			}
  2764  			*(*int32)(unsafe.Pointer(pnArg)) = i
  2765  			return zReturn
  2766  		}
  2767  	}
  2768  	return zReturn
  2769  }
  2770  
  2771  func usage(tls *libc.TLS, argv0 uintptr) {
  2772  	bp := tls.Alloc(8)
  2773  	defer tls.Free(8)
  2774  
  2775  	var i int32
  2776  	var zTail uintptr = argv0
  2777  	for i = 0; *(*int8)(unsafe.Pointer(argv0 + uintptr(i))) != 0; i++ {
  2778  		if int32(*(*int8)(unsafe.Pointer(argv0 + uintptr(i)))) == '/' {
  2779  			zTail = argv0 + uintptr(i) + uintptr(1)
  2780  		}
  2781  	}
  2782  	libc.Xfprintf(tls, libc.X__stderrp, ts+1680, libc.VaList(bp, zTail))
  2783  	libc.Xfprintf(tls, libc.X__stderrp,
  2784  		ts+1719, 0)
  2785  	libc.Xexit(tls, 1)
  2786  }
  2787  
  2788  func unrecognizedArguments(tls *libc.TLS, argv0 uintptr, nArg int32, azArg uintptr) {
  2789  	bp := tls.Alloc(16)
  2790  	defer tls.Free(16)
  2791  
  2792  	var i int32
  2793  	libc.Xfprintf(tls, libc.X__stderrp, ts+2291, libc.VaList(bp, argv0))
  2794  	for i = 0; i < nArg; i++ {
  2795  		libc.Xfprintf(tls, libc.X__stderrp, ts+2319, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))))
  2796  	}
  2797  	libc.Xfprintf(tls, libc.X__stderrp, ts+2323, 0)
  2798  	libc.Xexit(tls, 1)
  2799  }
  2800  
  2801  func main1(tls *libc.TLS, argc int32, argv uintptr) int32 {
  2802  	bp := tls.Alloc(264)
  2803  	defer tls.Free(264)
  2804  
  2805  	var zClient uintptr
  2806  	var iClient int32
  2807  
  2808  	var i int32
  2809  	var openFlags int32 = SQLITE_OPEN_READWRITE
  2810  	var rc int32
  2811  
  2812  	var zTrace uintptr
  2813  	var zCOption uintptr
  2814  	var zJMode uintptr
  2815  	var zNRep uintptr
  2816  	var nRep int32 = 1
  2817  	var iRep int32
  2818  	var iTmout int32 = 0
  2819  	var zTmout uintptr
  2820  
  2821  	g.argv0 = *(*uintptr)(unsafe.Pointer(argv))
  2822  	g.iTrace = 1
  2823  	if argc < 2 {
  2824  		usage(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2825  	}
  2826  	g.zDbFile = *(*uintptr)(unsafe.Pointer(argv + 1*8))
  2827  	if strglob(tls, ts+2325, g.zDbFile) != 0 {
  2828  		usage(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2829  	}
  2830  	if libc.Xstrcmp(tls, sqlite3.Xsqlite3_sourceid(tls), ts+2332) != 0 {
  2831  		libc.Xfprintf(tls, libc.X__stderrp,
  2832  			ts+2417,
  2833  			libc.VaList(bp, sqlite3.Xsqlite3_sourceid(tls), ts+2332))
  2834  		libc.Xexit(tls, 1)
  2835  	}
  2836  	*(*int32)(unsafe.Pointer(bp + 232)) = argc - 2
  2837  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+64, ts+2477, libc.VaList(bp+16, libc.Xgetpid(tls)))
  2838  	zJMode = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2489, 1)
  2839  	zNRep = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2501, 1)
  2840  	if zNRep != 0 {
  2841  		nRep = libc.Xatoi(tls, zNRep)
  2842  	}
  2843  	if nRep < 1 {
  2844  		nRep = 1
  2845  	}
  2846  	g.zVfs = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2508, 1)
  2847  	zClient = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2512, 1)
  2848  	g.zErrLog = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2519, 1)
  2849  	g.zLog = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2526, 1)
  2850  	zTrace = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2530, 1)
  2851  	if zTrace != 0 {
  2852  		g.iTrace = libc.Xatoi(tls, zTrace)
  2853  	}
  2854  	if findOption(tls, argv+uintptr(2)*8, bp+232, ts+2536, 0) != uintptr(0) {
  2855  		g.iTrace = 0
  2856  	}
  2857  	zTmout = findOption(tls, argv+uintptr(2)*8, bp+232, ts+2542, 1)
  2858  	if zTmout != 0 {
  2859  		iTmout = libc.Xatoi(tls, zTmout)
  2860  	}
  2861  	g.bSqlTrace = libc.Bool32(findOption(tls, argv+uintptr(2)*8, bp+232, ts+2550, 0) != uintptr(0))
  2862  	g.bSync = libc.Bool32(findOption(tls, argv+uintptr(2)*8, bp+232, ts+2559, 0) != uintptr(0))
  2863  	if g.zErrLog != 0 {
  2864  		g.pErrLog = libc.Xfopen(tls, g.zErrLog, ts+2564)
  2865  	} else {
  2866  		g.pErrLog = libc.X__stderrp
  2867  	}
  2868  	if g.zLog != 0 {
  2869  		g.pLog = libc.Xfopen(tls, g.zLog, ts+2564)
  2870  	} else {
  2871  		g.pLog = libc.X__stdoutp
  2872  	}
  2873  
  2874  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(&struct {
  2875  		f func(*libc.TLS, uintptr, int32, uintptr)
  2876  	}{sqlErrorCallback})), 0))
  2877  	if zClient != 0 {
  2878  		iClient = libc.Xatoi(tls, zClient)
  2879  		if iClient < 1 {
  2880  			fatalError(tls, ts+2566, libc.VaList(bp+40, iClient))
  2881  		}
  2882  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+64, ts+2593,
  2883  			libc.VaList(bp+48, libc.Xgetpid(tls), iClient))
  2884  	} else {
  2885  		var nTry int32 = 0
  2886  		if g.iTrace > 0 {
  2887  			libc.Xprintf(tls, ts+2609, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv))))
  2888  			for i = 1; i < argc; i++ {
  2889  				libc.Xprintf(tls, ts+2319, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  2890  			}
  2891  			libc.Xprintf(tls, ts+2323, 0)
  2892  			libc.Xprintf(tls, ts+2619, 0)
  2893  			for i = 0; libc.AssignUintptr(&zCOption, sqlite3.Xsqlite3_compileoption_get(tls, i)) != uintptr(0); i++ {
  2894  				libc.Xprintf(tls, ts+2724, libc.VaList(bp+80, zCOption))
  2895  			}
  2896  			libc.Xfflush(tls, libc.X__stdoutp)
  2897  		}
  2898  		iClient = 0
  2899  		for __ccgo := true; __ccgo; __ccgo = rc != 0 && libc.PreIncInt32(&nTry, 1) < 60 && sqlite3.Xsqlite3_sleep(tls, 1000) > 0 {
  2900  			if nTry%5 == 4 {
  2901  				libc.Xprintf(tls, ts+2737,
  2902  					libc.VaList(bp+88, func() uintptr {
  2903  						if nTry > 5 {
  2904  							return ts + 2766
  2905  						}
  2906  						return ts + 1101
  2907  					}(), g.zDbFile))
  2908  			}
  2909  			rc = libc.Xunlink(tls, g.zDbFile)
  2910  			if rc != 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT {
  2911  				rc = 0
  2912  			}
  2913  		}
  2914  		if rc != 0 {
  2915  			fatalError(tls, ts+2773,
  2916  				libc.VaList(bp+104, g.zDbFile, nTry))
  2917  		}
  2918  		openFlags = openFlags | SQLITE_OPEN_CREATE
  2919  	}
  2920  	rc = sqlite3.Xsqlite3_open_v2(tls, g.zDbFile, uintptr(unsafe.Pointer(&g))+24, openFlags, g.zVfs)
  2921  	if rc != 0 {
  2922  		fatalError(tls, ts+2814, libc.VaList(bp+120, g.zDbFile))
  2923  	}
  2924  	if iTmout > 0 {
  2925  		sqlite3.Xsqlite3_busy_timeout(tls, g.db, iTmout)
  2926  	}
  2927  
  2928  	if zJMode != 0 {
  2929  		runSql(tls, ts+2831, libc.VaList(bp+128, zJMode))
  2930  	}
  2931  	if !(g.bSync != 0) {
  2932  		trySql(tls, ts+2855, 0)
  2933  	}
  2934  	sqlite3.Xsqlite3_enable_load_extension(tls, g.db, 1)
  2935  	sqlite3.Xsqlite3_busy_handler(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
  2936  		f func(*libc.TLS, uintptr, int32) int32
  2937  	}{busyHandler})), uintptr(0))
  2938  	sqlite3.Xsqlite3_create_function(tls, g.db, ts+2878, 0, SQLITE_UTF8, uintptr(0),
  2939  		*(*uintptr)(unsafe.Pointer(&struct {
  2940  			f func(*libc.TLS, uintptr, int32, uintptr)
  2941  		}{vfsNameFunc})), uintptr(0), uintptr(0))
  2942  	sqlite3.Xsqlite3_create_function(tls, g.db, ts+2886, 1, SQLITE_UTF8, uintptr(0),
  2943  		*(*uintptr)(unsafe.Pointer(&struct {
  2944  			f func(*libc.TLS, uintptr, int32, uintptr)
  2945  		}{evalFunc})), uintptr(0), uintptr(0))
  2946  	g.iTimeout = DEFAULT_TIMEOUT
  2947  	if g.bSqlTrace != 0 {
  2948  		sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
  2949  			f func(*libc.TLS, uintptr, uintptr)
  2950  		}{sqlTraceCallback})), uintptr(0))
  2951  	}
  2952  	if iClient > 0 {
  2953  		if *(*int32)(unsafe.Pointer(bp + 232)) > 0 {
  2954  			unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*8)
  2955  		}
  2956  		if g.iTrace != 0 {
  2957  			logMessage(tls, ts+2891, 0)
  2958  		}
  2959  		for 1 != 0 {
  2960  			*(*uintptr)(unsafe.Pointer(bp + 256)) = uintptr(0)
  2961  			rc = startScript(tls, iClient, bp+240, bp+248, bp+256)
  2962  			if rc == SQLITE_DONE {
  2963  				break
  2964  			}
  2965  			if g.iTrace != 0 {
  2966  				logMessage(tls, ts+2904, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 256)), *(*int32)(unsafe.Pointer(bp + 248))))
  2967  			}
  2968  			runScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 248)), *(*uintptr)(unsafe.Pointer(bp + 240)), *(*uintptr)(unsafe.Pointer(bp + 256)))
  2969  			if g.iTrace != 0 {
  2970  				logMessage(tls, ts+2918, libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(bp + 256)), *(*int32)(unsafe.Pointer(bp + 248))))
  2971  			}
  2972  			finishScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 248)), 0)
  2973  			sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 256)))
  2974  			sqlite3.Xsqlite3_sleep(tls, 10)
  2975  		}
  2976  		if g.iTrace != 0 {
  2977  			logMessage(tls, ts+2930, 0)
  2978  		}
  2979  	} else {
  2980  		var pStmt uintptr
  2981  		var iTimeout int32
  2982  		if *(*int32)(unsafe.Pointer(bp + 232)) == 0 {
  2983  			fatalError(tls, ts+2941, 0)
  2984  		}
  2985  		if *(*int32)(unsafe.Pointer(bp + 232)) > 1 {
  2986  			unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*8)
  2987  		}
  2988  		runSql(tls,
  2989  			ts+2965, 0)
  2990  		*(*uintptr)(unsafe.Pointer(bp + 240)) = readFile(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)))
  2991  		for iRep = 1; iRep <= nRep; iRep++ {
  2992  			if g.iTrace != 0 {
  2993  				logMessage(tls, ts+3401, libc.VaList(bp+168, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep))
  2994  			}
  2995  			runScript(tls, 0, 0, *(*uintptr)(unsafe.Pointer(bp + 240)), *(*uintptr)(unsafe.Pointer(argv + 2*8)))
  2996  			if g.iTrace != 0 {
  2997  				logMessage(tls, ts+3429, libc.VaList(bp+184, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep))
  2998  			}
  2999  		}
  3000  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 240)))
  3001  		waitForClient(tls, 0, 2000, ts+3455)
  3002  		trySql(tls, ts+3475, 0)
  3003  		sqlite3.Xsqlite3_sleep(tls, 10)
  3004  		g.iTimeout = 0
  3005  		iTimeout = 1000
  3006  		for (libc.AssignInt32(&rc, trySql(tls, ts+3504, 0)) == SQLITE_BUSY ||
  3007  			rc == SQLITE_ROW) && iTimeout > 0 {
  3008  			sqlite3.Xsqlite3_sleep(tls, 10)
  3009  			iTimeout = iTimeout - 10
  3010  		}
  3011  		sqlite3.Xsqlite3_sleep(tls, 100)
  3012  		pStmt = prepareSql(tls, ts+3525, 0)
  3013  		iTimeout = 1000
  3014  		for libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY && iTimeout > 0 {
  3015  			sqlite3.Xsqlite3_sleep(tls, 10)
  3016  			iTimeout = iTimeout - 10
  3017  		}
  3018  		if rc == SQLITE_ROW {
  3019  			*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 112)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 0)
  3020  			*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 116)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 1)
  3021  		}
  3022  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  3023  	}
  3024  	sqlite3.Xsqlite3_close(tls, g.db)
  3025  	maybeClose(tls, g.pLog)
  3026  	maybeClose(tls, g.pErrLog)
  3027  	if iClient == 0 {
  3028  		libc.Xprintf(tls, ts+3560, libc.VaList(bp+200, g.nError, g.nTest))
  3029  		libc.Xprintf(tls, ts+3596, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(argv))))
  3030  		for i = 1; i < argc; i++ {
  3031  			libc.Xprintf(tls, ts+2319, libc.VaList(bp+224, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
  3032  		}
  3033  		libc.Xprintf(tls, ts+2323, 0)
  3034  	}
  3035  	return libc.Bool32(g.nError > 0)
  3036  }
  3037  
  3038  var ts1 = "%s%.*s\n\x00%s:ERROR: \x00%s:FATAL: \x00UPDATE client SET wantHalt=1;\x00%s: \x00main\x00timeout after %dms\x00[%.*s]\x00(info) %s\x00(errcode=%d) %s\x00%s\n%s\n\x00out of memory\x00 \x00nil\x00'\x00error(%d)\x00BEGIN IMMEDIATE\x00in startScript: %s\x00UPDATE counters SET nError=nError+%d, nTest=nTest+%d\x00SELECT 1 FROM client WHERE id=%d AND wantHalt\x00DELETE FROM client WHERE id=%d\x00COMMIT TRANSACTION;\x00SELECT script, id, name FROM task WHERE client=%d AND starttime IS NULL ORDER BY id LIMIT 1\x00%s\x00UPDATE task   SET starttime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00Waited over 3000 seconds with no work.  Giving up.\x00DELETE FROM client WHERE id=%d; COMMIT;\x00COMMIT\x00UPDATE task   SET endtime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00INSERT OR IGNORE INTO client VALUES(%d,0)\x00%s \"%s\" --client %d --trace %d\x00%z --sqltrace\x00%z --sync\x00%z --vfs \"%s\"\x00system('%q')\x00%z &\x00system() fails with error code %d\x00rb\x00cannot open \"%s\" for reading\x00--end\x00--endif\x00--else\x00--if\x00SELECT 1 FROM task WHERE client=%d   AND client IN (SELECT id FROM client)  AND endtime IS NULL\x00SELECT 1 FROM task WHERE client IN (SELECT id FROM client)   AND endtime IS NULL\x00\x00%stimeout waiting for client %d\x00%stimeout waiting for all clients\x00on\x00yes\x00off\x00no\x00unknown boolean: [%s]\x00%.*s\x00sleep\x00exit\x00testcase\x00finish\x00reset\x00match\x00line %d of %s:\nExpected [%.*s]\n     Got [%s]\x00glob\x00notglob\x00line %d of %s:\nExpected [%s]\n     Got [%s]\x00output\x00source\x00%.*s/%s\x00begin script [%s]\n\x00end script [%s]\n\x00print\x00if\x00SELECT %.*s\x00else\x00endif\x00start\x00wait\x00line %d of %s\n\x00task\x00line %d of %s: bad client number: %d\x00%s:%d\x00INSERT INTO task(client,script,name) VALUES(%d,'%q',%Q)\x00breakpoint\x00show-sql-errors\x00line %d of %s: unknown command --%s\x00command-line option \"--%s\" requires an argument\x00Usage: %s DATABASE ?OPTIONS? ?SCRIPT?\n\x00Options:\n   --errlog FILENAME           Write errors to FILENAME\n   --journalmode MODE          Use MODE as the journal_mode\n   --log FILENAME              Log messages to FILENAME\n   --quiet                     Suppress unnecessary output\n   --vfs NAME                  Use NAME as the VFS\n   --repeat N                  Repeat the test N times\n   --sqltrace                  Enable SQL tracing\n   --sync                      Enable synchronous disk writes\n   --timeout MILLISEC          Busy timeout is MILLISEC\n   --trace BOOLEAN             Enable or disable tracing\n\x00%s: unrecognized arguments:\x00 %s\x00\n\x00*.test\x002022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8\x00SQLite library and header mismatch\nLibrary: %s\nHeader:  %s\n\x00%05d.mptest\x00journalmode\x00repeat\x00vfs\x00client\x00errlog\x00log\x00trace\x00quiet\x00timeout\x00sqltrace\x00sync\x00a\x00illegal client number: %d\n\x00%05d.client%02d\x00BEGIN: %s\x00With SQLite 3.39.3 2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8\n\x00-DSQLITE_%s\n\x00... %strying to unlink '%s'\n\x00still \x00unable to unlink '%s' after %d attempts\n\x00cannot open [%s]\x00PRAGMA journal_mode=%Q;\x00PRAGMA synchronous=OFF\x00vfsname\x00eval\x00start-client\x00begin %s (%d)\x00end %s (%d)\x00end-client\x00missing script filename\x00DROP TABLE IF EXISTS task;\nDROP TABLE IF EXISTS counters;\nDROP TABLE IF EXISTS client;\nCREATE TABLE task(\n  id INTEGER PRIMARY KEY,\n  name TEXT,\n  client INTEGER,\n  starttime DATE,\n  endtime DATE,\n  script TEXT\n);CREATE INDEX task_i1 ON task(client, starttime);\nCREATE INDEX task_i2 ON task(client, endtime);\nCREATE TABLE counters(nError,nTest);\nINSERT INTO counters VALUES(0,0);\nCREATE TABLE client(id INTEGER PRIMARY KEY, wantHalt);\n\x00begin script [%s] cycle %d\n\x00end script [%s] cycle %d\n\x00during shutdown...\n\x00UPDATE client SET wantHalt=1\x00SELECT 1 FROM client\x00SELECT nError, nTest FROM counters\x00Summary: %d errors out of %d tests\n\x00END: %s\x00"
  3039  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data