gitlab.com/danp128/sqlite@v1.0.0/internal/threadtest3/threadtest3_linux_amd64.go (about)

     1  // Code generated by ccgo. DO NOT EDIT.
     2  
     3  // threadtest3
     4  //  /*
     5  //  ** 2010-07-22
     6  //  **
     7  //  ** The author disclaims copyright to this source code.  In place of
     8  //  ** a legal notice, here is a blessing:
     9  //  **
    10  //  **    May you do good and not evil.
    11  //  **    May you find forgiveness for yourself and forgive others.
    12  //  **    May you share freely, never taking more than you give.
    13  //  **
    14  //  *************************************************************************
    15  //  **
    16  //  ** The code in this file runs a few multi-threaded test cases using the
    17  //  ** SQLite library. It can be compiled to an executable on unix using the
    18  //  ** following command:
    19  //  **
    20  //  **   gcc -O2 threadtest3.c sqlite3.c -ldl -lpthread -lm
    21  //  **
    22  //  ** Even though threadtest3.c is the only C source code file mentioned on
    23  //  ** the compiler command-line, #include macros are used to pull in additional
    24  //  ** C code files named "tt3_*.c".
    25  //  **
    26  //  ** After compiling, run this program with an optional argument telling
    27  //  ** which test to run.  All tests are run if no argument is given.  The
    28  //  ** argument can be a glob pattern to match multiple tests.  Examples:
    29  //  **
    30  //  **        ./a.out                 -- Run all tests
    31  //  **        ./a.out walthread3      -- Run the "walthread3" test
    32  //  **        ./a.out 'wal*'          -- Run all of the wal* tests
    33  //  **        ./a.out --help          -- List all available tests
    34  //  **
    35  //  ** The exit status is non-zero if any test fails.
    36  //  */
    37  
    38  //  /*
    39  //  ** The "Set Error Line" macro.
    40  //  */
    41  package main
    42  
    43  import (
    44  	"math"
    45  	"os"
    46  	"unsafe"
    47  
    48  	"modernc.org/ccgo/crt"
    49  	"modernc.org/sqlite/internal/bin"
    50  )
    51  
    52  var argv []*int8
    53  
    54  func main() {
    55  	for _, v := range os.Args {
    56  		argv = append(argv, (*int8)(crt.CString(v)))
    57  	}
    58  	argv = append(argv, nil)
    59  	X_start(crt.NewTLS(), int32(len(os.Args)), &argv[0])
    60  }
    61  
    62  func X_start(tls *crt.TLS, _argc int32, _argv **int8) {
    63  	crt.X__register_stdfiles(tls, Xstdin, Xstdout, Xstderr)
    64  	crt.X__builtin_exit(tls, Xmain(tls, _argc, _argv))
    65  }
    66  
    67  var Xstdin unsafe.Pointer
    68  
    69  func init() {
    70  	Xstdin = unsafe.Pointer(&X__stdfiles)
    71  }
    72  
    73  var X__stdfiles [3]unsafe.Pointer
    74  
    75  var Xstdout unsafe.Pointer
    76  
    77  func init() {
    78  	Xstdout = unsafe.Pointer(uintptr(unsafe.Pointer(&X__stdfiles)) + 8)
    79  }
    80  
    81  var Xstderr unsafe.Pointer
    82  
    83  func init() {
    84  	Xstderr = unsafe.Pointer(uintptr(unsafe.Pointer(&X__stdfiles)) + 16)
    85  }
    86  
    87  func Xmain(tls *crt.TLS, _argc int32, _argv **int8) (r0 int32) {
    88  	var _i, _iArg, _nTestfound, _4_rc int32
    89  	var _2_zArg, _9_z *int8
    90  	var _aTest [14]TThreadTest
    91  	r0 = int32(0)
    92  	_aTest = [14]TThreadTest{}
    93  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XxTest = _walthread1
    94  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XzTest = str(0)
    95  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), 0).XnMs = int32(20000)
    96  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XxTest = _walthread2
    97  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XzTest = str(11)
    98  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(1)).XnMs = int32(20000)
    99  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XxTest = _walthread3
   100  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XzTest = str(22)
   101  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(2)).XnMs = int32(20000)
   102  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XxTest = _walthread4
   103  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XzTest = str(33)
   104  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(3)).XnMs = int32(20000)
   105  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XxTest = _walthread5
   106  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XzTest = str(44)
   107  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(4)).XnMs = int32(1000)
   108  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XxTest = _cgt_pager_1
   109  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XzTest = str(55)
   110  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(5)).XnMs = int32(0)
   111  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XxTest = _dynamic_triggers
   112  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XzTest = str(67)
   113  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(6)).XnMs = int32(20000)
   114  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XxTest = _checkpoint_starvation_1
   115  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XzTest = str(84)
   116  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(7)).XnMs = int32(10000)
   117  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XxTest = _checkpoint_starvation_2
   118  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XzTest = str(108)
   119  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(8)).XnMs = int32(10000)
   120  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XxTest = _create_drop_index_1
   121  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XzTest = str(132)
   122  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(9)).XnMs = int32(10000)
   123  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XxTest = _lookaside1
   124  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XzTest = str(152)
   125  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(10)).XnMs = int32(10000)
   126  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XxTest = _vacuum1
   127  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XzTest = str(163)
   128  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(11)).XnMs = int32(10000)
   129  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XxTest = _stress1
   130  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XzTest = str(171)
   131  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(12)).XnMs = int32(10000)
   132  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XxTest = _stress2
   133  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XzTest = str(179)
   134  	elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(13)).XnMs = int32(60000)
   135  	_nTestfound = int32(0)
   136  	bin.Xsqlite3_config(tls, int32(2))
   137  	if _argc < int32(2) {
   138  		_argc = int32(2)
   139  		_argv = (**int8)(unsafe.Pointer(&_mainØ00substArgvØ001))
   140  	}
   141  	_iArg = int32(1)
   142  _1:
   143  	if _iArg >= _argc {
   144  		goto _4
   145  	}
   146  	_2_zArg = *elem1(_argv, uintptr(_iArg))
   147  	if int32(*elem2(_2_zArg, 0)) != int32(45) {
   148  		goto _5
   149  	}
   150  	if bin.Xsqlite3_stricmp(tls, _2_zArg, str(187)) != int32(0) {
   151  		goto _6
   152  	}
   153  	_4_rc = Xsqlite3_multiplex_initialize(tls, nil, int32(1))
   154  	if _4_rc != int32(0) {
   155  		crt.Xfprintf(tls, (*crt.XFILE)(Xstderr), str(200), _4_rc)
   156  		return int32(253)
   157  	}
   158  	goto _8
   159  _6:
   160  	goto _usage
   161  _8:
   162  	goto _2
   163  _5:
   164  	_i = int32(0)
   165  _9:
   166  	if uint64(_i) >= uint64(14) {
   167  		goto _12
   168  	}
   169  	if bin.Xsqlite3_strglob(tls, _2_zArg, elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest) == int32(0) {
   170  		goto _12
   171  	}
   172  	_i += 1
   173  	goto _9
   174  _12:
   175  	if uint64(_i) >= uint64(14) {
   176  		goto _usage
   177  	}
   178  _2:
   179  	_iArg += 1
   180  	goto _1
   181  _4:
   182  	_iArg = int32(1)
   183  _15:
   184  	if _iArg >= _argc {
   185  		goto _18
   186  	}
   187  	if int32(*elem2(*elem1(_argv, uintptr(_iArg)), 0)) == int32(45) {
   188  		goto _16
   189  	}
   190  	_i = int32(0)
   191  _20:
   192  	if uint64(_i) >= uint64(14) {
   193  		goto _23
   194  	}
   195  	_9_z = elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest
   196  	if bin.Xsqlite3_strglob(tls, *elem1(_argv, uintptr(_iArg)), _9_z) == int32(0) {
   197  		crt.Xprintf(tls, str(240), unsafe.Pointer(_9_z), (elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XnMs)/int32(1000))
   198  		crt.Xfflush(tls, (*crt.XFILE)(Xstdout))
   199  		(elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XxTest)(tls, elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XnMs)
   200  		_nTestfound += 1
   201  	}
   202  	_i += 1
   203  	goto _20
   204  _23:
   205  _16:
   206  	_iArg += 1
   207  	goto _15
   208  _18:
   209  	if _nTestfound == int32(0) {
   210  		goto _usage
   211  	}
   212  	crt.Xprintf(tls, str(270), _nGlobalErr, _nTestfound)
   213  	return func() int32 {
   214  		if _nGlobalErr > int32(0) {
   215  			return int32(255)
   216  		}
   217  		return int32(0)
   218  	}()
   219  
   220  _usage:
   221  	crt.Xprintf(tls, str(297), unsafe.Pointer(*elem1(_argv, 0)))
   222  	crt.Xprintf(tls, str(349))
   223  	_i = int32(0)
   224  _28:
   225  	if uint64(_i) >= uint64(14) {
   226  		goto _31
   227  	}
   228  	crt.Xprintf(tls, str(371), unsafe.Pointer(elem0((*TThreadTest)(unsafe.Pointer(&_aTest)), uintptr(_i)).XzTest))
   229  	_i += 1
   230  	goto _28
   231  _31:
   232  	return int32(254)
   233  
   234  	_ = _aTest
   235  	panic(0)
   236  }
   237  
   238  func _walthread1(tls *crt.TLS, _nMs int32) {
   239  	var _i int32
   240  	var _err XError
   241  	var _db XSqlite
   242  	var _threads XThreadset
   243  	_err = XError{}
   244  	_db = XSqlite{}
   245  	_threads = XThreadset{}
   246  	_opendb_x(tls, func() *XError {
   247  		_err.XiLine = func() int32 {
   248  			if _err.Xrc != 0 {
   249  				return _err.XiLine
   250  			}
   251  			return int32(987)
   252  		}()
   253  		return &_err
   254  	}(), &_db, str(378), int32(1))
   255  	_sql_script_x(tls, func() *XError {
   256  		_err.XiLine = func() int32 {
   257  			if _err.Xrc != 0 {
   258  				return _err.XiLine
   259  			}
   260  			return int32(988)
   261  		}()
   262  		return &_err
   263  	}(), &_db, str(386))
   264  	_closedb_x(tls, func() *XError {
   265  		_err.XiLine = func() int32 {
   266  			if _err.Xrc != 0 {
   267  				return _err.XiLine
   268  			}
   269  			return int32(995)
   270  		}()
   271  		return &_err
   272  	}(), &_db)
   273  	_setstoptime_x(tls, func() *XError {
   274  		_err.XiLine = func() int32 {
   275  			if _err.Xrc != 0 {
   276  				return _err.XiLine
   277  			}
   278  			return int32(997)
   279  		}()
   280  		return &_err
   281  	}(), _nMs)
   282  	_i = int32(0)
   283  _8:
   284  	if _i >= int32(10) {
   285  		goto _11
   286  	}
   287  	_launch_thread_x(tls, func() *XError {
   288  		_err.XiLine = func() int32 {
   289  			if _err.Xrc != 0 {
   290  				return _err.XiLine
   291  			}
   292  			return int32(999)
   293  		}()
   294  		return &_err
   295  	}(), &_threads, _walthread1_thread, nil)
   296  	_i += 1
   297  	goto _8
   298  _11:
   299  	_launch_thread_x(tls, func() *XError {
   300  		_err.XiLine = func() int32 {
   301  			if _err.Xrc != 0 {
   302  				return _err.XiLine
   303  			}
   304  			return int32(1001)
   305  		}()
   306  		return &_err
   307  	}(), &_threads, _walthread1_ckpt_thread, nil)
   308  	_join_all_threads_x(tls, func() *XError {
   309  		_err.XiLine = func() int32 {
   310  			if _err.Xrc != 0 {
   311  				return _err.XiLine
   312  			}
   313  			return int32(1002)
   314  		}()
   315  		return &_err
   316  	}(), &_threads)
   317  	_print_and_free_err(tls, &_err)
   318  }
   319  
   320  func _opendb_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFile *int8, _bDelete int32) {
   321  	var _1_rc, _1_flags int32
   322  	if _pErr.Xrc != int32(0) {
   323  		goto _0
   324  	}
   325  	_1_flags = int32(70)
   326  	if _bDelete != 0 {
   327  		crt.Xunlink(tls, _zFile)
   328  	}
   329  	_1_rc = bin.Xsqlite3_open_v2(tls, _zFile, (**bin.Xsqlite3)(unsafe.Pointer(&_pDb.Xdb)), _1_flags, nil)
   330  	if _1_rc != 0 {
   331  		_sqlite_error(tls, _pErr, _pDb, str(562))
   332  		bin.Xsqlite3_close(tls, (*bin.Xsqlite3)(_pDb.Xdb))
   333  		_pDb.Xdb = nil
   334  		goto _3
   335  	}
   336  	bin.Xsqlite3_create_function(tls, (*bin.Xsqlite3)(_pDb.Xdb), str(567), int32(-1), int32(1), nil, nil, func() func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem) {
   337  		v := _md5step
   338  		return *(*func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem))(unsafe.Pointer(&v))
   339  	}(), func() func(*crt.TLS, *bin.Xsqlite3_context) {
   340  		v := _md5finalize
   341  		return *(*func(*crt.TLS, *bin.Xsqlite3_context))(unsafe.Pointer(&v))
   342  	}())
   343  	bin.Xsqlite3_busy_handler(tls, (*bin.Xsqlite3)(_pDb.Xdb), _busyhandler, nil)
   344  	bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), str(574), nil, nil, nil)
   345  _3:
   346  _0:
   347  }
   348  
   349  func _sqlite_error(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFunc *int8) {
   350  	_pErr.Xrc = bin.Xsqlite3_errcode(tls, (*bin.Xsqlite3)(_pDb.Xdb))
   351  	_pErr.XzErr = bin.Xsqlite3_mprintf(tls, str(597), unsafe.Pointer(_zFunc), unsafe.Pointer(bin.Xsqlite3_errmsg(tls, (*bin.Xsqlite3)(_pDb.Xdb))), bin.Xsqlite3_extended_errcode(tls, (*bin.Xsqlite3)(_pDb.Xdb)))
   352  }
   353  
   354  // C comment
   355  //  /*
   356  //  ** During testing, the special md5sum() aggregate function is available.
   357  //  ** inside SQLite.  The following routines implement that function.
   358  //  */
   359  func _md5step(tls *crt.TLS, _context unsafe.Pointer, _argc int32, _argv *unsafe.Pointer) {
   360  	var _i int32
   361  	var _2_zData *int8
   362  	var _p *XMD5Context
   363  	if _argc < int32(1) {
   364  		return
   365  	}
   366  	_p = (*XMD5Context)(bin.Xsqlite3_aggregate_context(tls, (*bin.Xsqlite3_context)(_context), int32(92)))
   367  	if _p == nil {
   368  		return
   369  	}
   370  	if _p.XisInit == 0 {
   371  		_MD5Init(tls, _p)
   372  	}
   373  	_i = int32(0)
   374  _3:
   375  	if _i >= _argc {
   376  		goto _6
   377  	}
   378  	_2_zData = (*int8)(unsafe.Pointer(bin.Xsqlite3_value_text(tls, (*bin.XMem)(*elem3(_argv, uintptr(_i))))))
   379  	if _2_zData != nil {
   380  		_MD5Update(tls, _p, (*uint8)(unsafe.Pointer(_2_zData)), uint32(crt.Xstrlen(tls, _2_zData)))
   381  	}
   382  	_i += 1
   383  	goto _3
   384  _6:
   385  }
   386  
   387  // C comment
   388  //  /*
   389  //   * Start MD5 accumulation.  Set bit count to 0 and buffer to mysterious
   390  //   * initialization constants.
   391  //   */
   392  func _MD5Init(tls *crt.TLS, _ctx *XMD5Context) {
   393  	_ctx.XisInit = int32(1)
   394  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), 0) = uint32(1732584193)
   395  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(1)) = uint32(4023233417)
   396  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(2)) = uint32(2562383102)
   397  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbuf)), uintptr(3)) = uint32(271733878)
   398  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0) = 0
   399  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) = 0
   400  }
   401  
   402  // C comment
   403  //  /*
   404  //   * Update context to reflect the concatenation of another buffer full
   405  //   * of bytes.
   406  //   */
   407  func _MD5Update(tls *crt.TLS, _ctx *XMD5Context, _buf *uint8, _len uint32) {
   408  	var _t uint32
   409  	var _1_p *uint8
   410  	_t = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0)
   411  	if store5(elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0), _t+(_len<<3)) < _t {
   412  		*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) += 1
   413  	}
   414  	*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1)) += _len >> 29
   415  	_t = (_t >> 3) & uint32(63)
   416  	if _t == 0 {
   417  		goto _1
   418  	}
   419  	_1_p = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))) + uintptr(_t)))
   420  	_t = uint32(64) - _t
   421  	if _len < _t {
   422  		crt.Xmemcpy(tls, unsafe.Pointer(_1_p), unsafe.Pointer(_buf), uint64(_len))
   423  		return
   424  	}
   425  	crt.Xmemcpy(tls, unsafe.Pointer(_1_p), unsafe.Pointer(_buf), uint64(_t))
   426  	_byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16))
   427  	_MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))))))))
   428  	*(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(_t)
   429  	_len -= _t
   430  _1:
   431  	if _len >= uint32(64) {
   432  		crt.Xmemcpy(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), unsafe.Pointer(_buf), uint64(64))
   433  		_byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16))
   434  		_MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))))))))
   435  		*(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(int32(64))
   436  		_len -= uint32(64)
   437  		goto _1
   438  	}
   439  	crt.Xmemcpy(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), unsafe.Pointer(_buf), uint64(_len))
   440  }
   441  
   442  // C comment
   443  //  /*
   444  //   * Note: this code is harmless on little-endian machines.
   445  //   */
   446  func _byteReverse(tls *crt.TLS, _buf *uint8, _longs uint32) {
   447  	var _t uint32
   448  _0:
   449  	_t = (((uint32(*elem6(_buf, uintptr(3))) << 8) | uint32(*elem6(_buf, uintptr(2)))) << 16) | ((uint32(*elem6(_buf, uintptr(1))) << 8) | uint32(*elem6(_buf, 0)))
   450  	*(*uint32)(unsafe.Pointer(_buf)) = _t
   451  	*(*uintptr)(unsafe.Pointer(&_buf)) += uintptr(int32(4))
   452  	if preInc5(&_longs, uint32(4294967295)) != 0 {
   453  		goto _0
   454  	}
   455  }
   456  
   457  // C comment
   458  //  /*
   459  //   * The core of the MD5 algorithm, this alters an existing MD5 hash to
   460  //   * reflect the addition of 16 longwords of new data.  MD5Update blocks
   461  //   * the data and converts bytes into longwords for this routine.
   462  //   */
   463  func _MD5Transform(tls *crt.TLS, _buf *[4]uint32, _in *[16]uint32) {
   464  	var _a, _b, _c, _d uint32
   465  	_a = *elem4((*uint32)(unsafe.Pointer(_buf)), 0)
   466  	_b = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(1))
   467  	_c = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(2))
   468  	_d = *elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(3))
   469  	*func() *uint32 {
   470  		*func() *uint32 {
   471  			_a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3614090360)
   472  			return &_a
   473  		}() = (_a << 7) | (_a >> 25)
   474  		return &_a
   475  	}() += _b
   476  	*func() *uint32 {
   477  		*func() *uint32 {
   478  			_d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(3905402710)
   479  			return &_d
   480  		}() = (_d << 12) | (_d >> 20)
   481  		return &_d
   482  	}() += _a
   483  	*func() *uint32 {
   484  		*func() *uint32 {
   485  			_c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(606105819)
   486  			return &_c
   487  		}() = (_c << 17) | (_c >> 15)
   488  		return &_c
   489  	}() += _d
   490  	*func() *uint32 {
   491  		*func() *uint32 {
   492  			_b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(3250441966)
   493  			return &_b
   494  		}() = (_b << 22) | (_b >> 10)
   495  		return &_b
   496  	}() += _c
   497  	*func() *uint32 {
   498  		*func() *uint32 {
   499  			_a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(4118548399)
   500  			return &_a
   501  		}() = (_a << 7) | (_a >> 25)
   502  		return &_a
   503  	}() += _b
   504  	*func() *uint32 {
   505  		*func() *uint32 {
   506  			_d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(1200080426)
   507  			return &_d
   508  		}() = (_d << 12) | (_d >> 20)
   509  		return &_d
   510  	}() += _a
   511  	*func() *uint32 {
   512  		*func() *uint32 {
   513  			_c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(2821735955)
   514  			return &_c
   515  		}() = (_c << 17) | (_c >> 15)
   516  		return &_c
   517  	}() += _d
   518  	*func() *uint32 {
   519  		*func() *uint32 {
   520  			_b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(4249261313)
   521  			return &_b
   522  		}() = (_b << 22) | (_b >> 10)
   523  		return &_b
   524  	}() += _c
   525  	*func() *uint32 {
   526  		*func() *uint32 {
   527  			_a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1770035416)
   528  			return &_a
   529  		}() = (_a << 7) | (_a >> 25)
   530  		return &_a
   531  	}() += _b
   532  	*func() *uint32 {
   533  		*func() *uint32 {
   534  			_d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(2336552879)
   535  			return &_d
   536  		}() = (_d << 12) | (_d >> 20)
   537  		return &_d
   538  	}() += _a
   539  	*func() *uint32 {
   540  		*func() *uint32 {
   541  			_c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(4294925233)
   542  			return &_c
   543  		}() = (_c << 17) | (_c >> 15)
   544  		return &_c
   545  	}() += _d
   546  	*func() *uint32 {
   547  		*func() *uint32 {
   548  			_b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(2304563134)
   549  			return &_b
   550  		}() = (_b << 22) | (_b >> 10)
   551  		return &_b
   552  	}() += _c
   553  	*func() *uint32 {
   554  		*func() *uint32 {
   555  			_a += ((_d ^ (_b & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(1804603682)
   556  			return &_a
   557  		}() = (_a << 7) | (_a >> 25)
   558  		return &_a
   559  	}() += _b
   560  	*func() *uint32 {
   561  		*func() *uint32 {
   562  			_d += ((_c ^ (_a & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(4254626195)
   563  			return &_d
   564  		}() = (_d << 12) | (_d >> 20)
   565  		return &_d
   566  	}() += _a
   567  	*func() *uint32 {
   568  		*func() *uint32 {
   569  			_c += ((_b ^ (_d & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(2792965006)
   570  			return &_c
   571  		}() = (_c << 17) | (_c >> 15)
   572  		return &_c
   573  	}() += _d
   574  	*func() *uint32 {
   575  		*func() *uint32 {
   576  			_b += ((_a ^ (_c & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(1236535329)
   577  			return &_b
   578  		}() = (_b << 22) | (_b >> 10)
   579  		return &_b
   580  	}() += _c
   581  	*func() *uint32 {
   582  		*func() *uint32 {
   583  			_a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(4129170786)
   584  			return &_a
   585  		}() = (_a << 5) | (_a >> 27)
   586  		return &_a
   587  	}() += _b
   588  	*func() *uint32 {
   589  		*func() *uint32 {
   590  			_d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(3225465664)
   591  			return &_d
   592  		}() = (_d << 9) | (_d >> 23)
   593  		return &_d
   594  	}() += _a
   595  	*func() *uint32 {
   596  		*func() *uint32 {
   597  			_c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(643717713)
   598  			return &_c
   599  		}() = (_c << 14) | (_c >> 18)
   600  		return &_c
   601  	}() += _d
   602  	*func() *uint32 {
   603  		*func() *uint32 {
   604  			_b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3921069994)
   605  			return &_b
   606  		}() = (_b << 20) | (_b >> 12)
   607  		return &_b
   608  	}() += _c
   609  	*func() *uint32 {
   610  		*func() *uint32 {
   611  			_a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(3593408605)
   612  			return &_a
   613  		}() = (_a << 5) | (_a >> 27)
   614  		return &_a
   615  	}() += _b
   616  	*func() *uint32 {
   617  		*func() *uint32 {
   618  			_d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(38016083)
   619  			return &_d
   620  		}() = (_d << 9) | (_d >> 23)
   621  		return &_d
   622  	}() += _a
   623  	*func() *uint32 {
   624  		*func() *uint32 {
   625  			_c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(3634488961)
   626  			return &_c
   627  		}() = (_c << 14) | (_c >> 18)
   628  		return &_c
   629  	}() += _d
   630  	*func() *uint32 {
   631  		*func() *uint32 {
   632  			_b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(3889429448)
   633  			return &_b
   634  		}() = (_b << 20) | (_b >> 12)
   635  		return &_b
   636  	}() += _c
   637  	*func() *uint32 {
   638  		*func() *uint32 {
   639  			_a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(568446438)
   640  			return &_a
   641  		}() = (_a << 5) | (_a >> 27)
   642  		return &_a
   643  	}() += _b
   644  	*func() *uint32 {
   645  		*func() *uint32 {
   646  			_d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(3275163606)
   647  			return &_d
   648  		}() = (_d << 9) | (_d >> 23)
   649  		return &_d
   650  	}() += _a
   651  	*func() *uint32 {
   652  		*func() *uint32 {
   653  			_c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(4107603335)
   654  			return &_c
   655  		}() = (_c << 14) | (_c >> 18)
   656  		return &_c
   657  	}() += _d
   658  	*func() *uint32 {
   659  		*func() *uint32 {
   660  			_b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1163531501)
   661  			return &_b
   662  		}() = (_b << 20) | (_b >> 12)
   663  		return &_b
   664  	}() += _c
   665  	*func() *uint32 {
   666  		*func() *uint32 {
   667  			_a += ((_c ^ (_d & (_b ^ _c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(2850285829)
   668  			return &_a
   669  		}() = (_a << 5) | (_a >> 27)
   670  		return &_a
   671  	}() += _b
   672  	*func() *uint32 {
   673  		*func() *uint32 {
   674  			_d += ((_b ^ (_c & (_a ^ _b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(4243563512)
   675  			return &_d
   676  		}() = (_d << 9) | (_d >> 23)
   677  		return &_d
   678  	}() += _a
   679  	*func() *uint32 {
   680  		*func() *uint32 {
   681  			_c += ((_a ^ (_b & (_d ^ _a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(1735328473)
   682  			return &_c
   683  		}() = (_c << 14) | (_c >> 18)
   684  		return &_c
   685  	}() += _d
   686  	*func() *uint32 {
   687  		*func() *uint32 {
   688  			_b += ((_d ^ (_a & (_c ^ _d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(2368359562)
   689  			return &_b
   690  		}() = (_b << 20) | (_b >> 12)
   691  		return &_b
   692  	}() += _c
   693  	*func() *uint32 {
   694  		*func() *uint32 {
   695  			_a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(4294588738)
   696  			return &_a
   697  		}() = (_a << 4) | (_a >> 28)
   698  		return &_a
   699  	}() += _b
   700  	*func() *uint32 {
   701  		*func() *uint32 {
   702  			_d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(2272392833)
   703  			return &_d
   704  		}() = (_d << 11) | (_d >> 21)
   705  		return &_d
   706  	}() += _a
   707  	*func() *uint32 {
   708  		*func() *uint32 {
   709  			_c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(1839030562)
   710  			return &_c
   711  		}() = (_c << 16) | (_c >> 16)
   712  		return &_c
   713  	}() += _d
   714  	*func() *uint32 {
   715  		*func() *uint32 {
   716  			_b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(4259657740)
   717  			return &_b
   718  		}() = (_b << 23) | (_b >> 9)
   719  		return &_b
   720  	}() += _c
   721  	*func() *uint32 {
   722  		*func() *uint32 {
   723  			_a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(2763975236)
   724  			return &_a
   725  		}() = (_a << 4) | (_a >> 28)
   726  		return &_a
   727  	}() += _b
   728  	*func() *uint32 {
   729  		*func() *uint32 {
   730  			_d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(1272893353)
   731  			return &_d
   732  		}() = (_d << 11) | (_d >> 21)
   733  		return &_d
   734  	}() += _a
   735  	*func() *uint32 {
   736  		*func() *uint32 {
   737  			_c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(4139469664)
   738  			return &_c
   739  		}() = (_c << 16) | (_c >> 16)
   740  		return &_c
   741  	}() += _d
   742  	*func() *uint32 {
   743  		*func() *uint32 {
   744  			_b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(3200236656)
   745  			return &_b
   746  		}() = (_b << 23) | (_b >> 9)
   747  		return &_b
   748  	}() += _c
   749  	*func() *uint32 {
   750  		*func() *uint32 {
   751  			_a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(681279174)
   752  			return &_a
   753  		}() = (_a << 4) | (_a >> 28)
   754  		return &_a
   755  	}() += _b
   756  	*func() *uint32 {
   757  		*func() *uint32 {
   758  			_d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(3936430074)
   759  			return &_d
   760  		}() = (_d << 11) | (_d >> 21)
   761  		return &_d
   762  	}() += _a
   763  	*func() *uint32 {
   764  		*func() *uint32 {
   765  			_c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(3572445317)
   766  			return &_c
   767  		}() = (_c << 16) | (_c >> 16)
   768  		return &_c
   769  	}() += _d
   770  	*func() *uint32 {
   771  		*func() *uint32 {
   772  			_b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(76029189)
   773  			return &_b
   774  		}() = (_b << 23) | (_b >> 9)
   775  		return &_b
   776  	}() += _c
   777  	*func() *uint32 {
   778  		*func() *uint32 {
   779  			_a += (((_b ^ _c) ^ _d) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(3654602809)
   780  			return &_a
   781  		}() = (_a << 4) | (_a >> 28)
   782  		return &_a
   783  	}() += _b
   784  	*func() *uint32 {
   785  		*func() *uint32 {
   786  			_d += (((_a ^ _b) ^ _c) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(3873151461)
   787  			return &_d
   788  		}() = (_d << 11) | (_d >> 21)
   789  		return &_d
   790  	}() += _a
   791  	*func() *uint32 {
   792  		*func() *uint32 {
   793  			_c += (((_d ^ _a) ^ _b) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(530742520)
   794  			return &_c
   795  		}() = (_c << 16) | (_c >> 16)
   796  		return &_c
   797  	}() += _d
   798  	*func() *uint32 {
   799  		*func() *uint32 {
   800  			_b += (((_c ^ _d) ^ _a) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(3299628645)
   801  			return &_b
   802  		}() = (_b << 23) | (_b >> 9)
   803  		return &_b
   804  	}() += _c
   805  	*func() *uint32 {
   806  		*func() *uint32 {
   807  			_a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), 0))) + uint32(4096336452)
   808  			return &_a
   809  		}() = (_a << 6) | (_a >> 26)
   810  		return &_a
   811  	}() += _b
   812  	*func() *uint32 {
   813  		*func() *uint32 {
   814  			_d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(7)))) + uint32(1126891415)
   815  			return &_d
   816  		}() = (_d << 10) | (_d >> 22)
   817  		return &_d
   818  	}() += _a
   819  	*func() *uint32 {
   820  		*func() *uint32 {
   821  			_c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(14)))) + uint32(2878612391)
   822  			return &_c
   823  		}() = (_c << 15) | (_c >> 17)
   824  		return &_c
   825  	}() += _d
   826  	*func() *uint32 {
   827  		*func() *uint32 {
   828  			_b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(5)))) + uint32(4237533241)
   829  			return &_b
   830  		}() = (_b << 21) | (_b >> 11)
   831  		return &_b
   832  	}() += _c
   833  	*func() *uint32 {
   834  		*func() *uint32 {
   835  			_a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(12)))) + uint32(1700485571)
   836  			return &_a
   837  		}() = (_a << 6) | (_a >> 26)
   838  		return &_a
   839  	}() += _b
   840  	*func() *uint32 {
   841  		*func() *uint32 {
   842  			_d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(3)))) + uint32(2399980690)
   843  			return &_d
   844  		}() = (_d << 10) | (_d >> 22)
   845  		return &_d
   846  	}() += _a
   847  	*func() *uint32 {
   848  		*func() *uint32 {
   849  			_c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(10)))) + uint32(4293915773)
   850  			return &_c
   851  		}() = (_c << 15) | (_c >> 17)
   852  		return &_c
   853  	}() += _d
   854  	*func() *uint32 {
   855  		*func() *uint32 {
   856  			_b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(1)))) + uint32(2240044497)
   857  			return &_b
   858  		}() = (_b << 21) | (_b >> 11)
   859  		return &_b
   860  	}() += _c
   861  	*func() *uint32 {
   862  		*func() *uint32 {
   863  			_a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(8)))) + uint32(1873313359)
   864  			return &_a
   865  		}() = (_a << 6) | (_a >> 26)
   866  		return &_a
   867  	}() += _b
   868  	*func() *uint32 {
   869  		*func() *uint32 {
   870  			_d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(15)))) + uint32(4264355552)
   871  			return &_d
   872  		}() = (_d << 10) | (_d >> 22)
   873  		return &_d
   874  	}() += _a
   875  	*func() *uint32 {
   876  		*func() *uint32 {
   877  			_c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(6)))) + uint32(2734768916)
   878  			return &_c
   879  		}() = (_c << 15) | (_c >> 17)
   880  		return &_c
   881  	}() += _d
   882  	*func() *uint32 {
   883  		*func() *uint32 {
   884  			_b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(13)))) + uint32(1309151649)
   885  			return &_b
   886  		}() = (_b << 21) | (_b >> 11)
   887  		return &_b
   888  	}() += _c
   889  	*func() *uint32 {
   890  		*func() *uint32 {
   891  			_a += ((_c ^ (_b | (^_d))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(4)))) + uint32(4149444226)
   892  			return &_a
   893  		}() = (_a << 6) | (_a >> 26)
   894  		return &_a
   895  	}() += _b
   896  	*func() *uint32 {
   897  		*func() *uint32 {
   898  			_d += ((_b ^ (_a | (^_c))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(11)))) + uint32(3174756917)
   899  			return &_d
   900  		}() = (_d << 10) | (_d >> 22)
   901  		return &_d
   902  	}() += _a
   903  	*func() *uint32 {
   904  		*func() *uint32 {
   905  			_c += ((_a ^ (_d | (^_b))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(2)))) + uint32(718787259)
   906  			return &_c
   907  		}() = (_c << 15) | (_c >> 17)
   908  		return &_c
   909  	}() += _d
   910  	*func() *uint32 {
   911  		*func() *uint32 {
   912  			_b += ((_d ^ (_c | (^_a))) + (*elem4((*uint32)(unsafe.Pointer(_in)), uintptr(9)))) + uint32(3951481745)
   913  			return &_b
   914  		}() = (_b << 21) | (_b >> 11)
   915  		return &_b
   916  	}() += _c
   917  	*elem4((*uint32)(unsafe.Pointer(_buf)), 0) += _a
   918  	*elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(1)) += _b
   919  	*elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(2)) += _c
   920  	*elem4((*uint32)(unsafe.Pointer(_buf)), uintptr(3)) += _d
   921  }
   922  
   923  func _md5finalize(tls *crt.TLS, _context unsafe.Pointer) {
   924  	var _zBuf [33]int8
   925  	var _digest [16]uint8
   926  	var _p *XMD5Context
   927  	_p = (*XMD5Context)(bin.Xsqlite3_aggregate_context(tls, (*bin.Xsqlite3_context)(_context), int32(92)))
   928  	_MD5Final(tls, (*[16]uint8)(unsafe.Pointer((*uint8)(unsafe.Pointer(&_digest)))), _p)
   929  	_MD5DigestToBase16(tls, (*uint8)(unsafe.Pointer(&_digest)), (*int8)(unsafe.Pointer(&_zBuf)))
   930  	bin.Xsqlite3_result_text(tls, (*bin.Xsqlite3_context)(_context), (*int8)(unsafe.Pointer(&_zBuf)), int32(-1), func() func(*crt.TLS, unsafe.Pointer) {
   931  		v := uint64(18446744073709551615)
   932  		return *(*func(*crt.TLS, unsafe.Pointer))(unsafe.Pointer(&v))
   933  	}())
   934  	_ = _digest
   935  	_ = _zBuf
   936  }
   937  
   938  // C comment
   939  //  /*
   940  //   * Final wrapup - pad to 64-byte boundary with the bit pattern
   941  //   * 1 0* (64-bit count of bits processed, MSB-first)
   942  //   */
   943  func _MD5Final(tls *crt.TLS, _digest *[16]uint8, _ctx *XMD5Context) {
   944  	var _count uint32
   945  	var _p *uint8
   946  	_count = ((*elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0)) >> 3) & uint32(63)
   947  	_p = (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))) + uintptr(_count)))
   948  	*postInc6(&_p, 1) = uint8(128)
   949  	_count = uint32(63) - _count
   950  	if _count < uint32(8) {
   951  		crt.Xmemset(tls, unsafe.Pointer(_p), int32(0), uint64(_count))
   952  		_byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(16))
   953  		_MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))))))))
   954  		crt.Xmemset(tls, unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu))), int32(0), uint64(56))
   955  		goto _1
   956  	}
   957  	crt.Xmemset(tls, unsafe.Pointer(_p), int32(0), uint64(_count-uint32(8)))
   958  _1:
   959  	_byteReverse(tls, (*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))), uint32(14))
   960  	*elem4((*uint32)(unsafe.Pointer((*[16]uint32)(unsafe.Pointer(&_ctx.Xu)))), uintptr(14)) = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), 0)
   961  	*elem4((*uint32)(unsafe.Pointer((*[16]uint32)(unsafe.Pointer(&_ctx.Xu)))), uintptr(15)) = *elem4((*uint32)(unsafe.Pointer(&_ctx.Xbits)), uintptr(1))
   962  	_MD5Transform(tls, (*[4]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), (*[16]uint32)(unsafe.Pointer((*uint32)(unsafe.Pointer((*uint8)(unsafe.Pointer((*[64]uint8)(unsafe.Pointer(&_ctx.Xu)))))))))
   963  	_byteReverse(tls, (*uint8)(unsafe.Pointer((*uint32)(unsafe.Pointer(&_ctx.Xbuf)))), uint32(4))
   964  	crt.Xmemcpy(tls, unsafe.Pointer(_digest), unsafe.Pointer(&_ctx.Xbuf), uint64(16))
   965  	crt.Xmemset(tls, unsafe.Pointer(_ctx), int32(0), uint64(92))
   966  }
   967  
   968  // C comment
   969  //  /*
   970  //  ** Convert a 128-bit MD5 digest into a 32-digit base-16 number.
   971  //  */
   972  func _MD5DigestToBase16(tls *crt.TLS, _digest *uint8, _zBuf *int8) {
   973  	var _i, _j, _1_a int32
   974  	_j = store7(&_i, int32(0))
   975  _0:
   976  	if _i >= int32(16) {
   977  		goto _3
   978  	}
   979  	_1_a = int32(*elem6(_digest, uintptr(_i)))
   980  	*elem2(_zBuf, uintptr(postInc7(&_j, 1))) = *elem2((*int8)(unsafe.Pointer(&_MD5DigestToBase16Ø00zEncodeØ001)), uintptr((_1_a>>4)&int32(15)))
   981  	*elem2(_zBuf, uintptr(postInc7(&_j, 1))) = *elem2((*int8)(unsafe.Pointer(&_MD5DigestToBase16Ø00zEncodeØ001)), uintptr(_1_a&int32(15)))
   982  	_i += 1
   983  	goto _0
   984  _3:
   985  	*elem2(_zBuf, uintptr(_j)) = 0
   986  }
   987  
   988  var _MD5DigestToBase16Ø00zEncodeØ001 [17]int8
   989  
   990  func init() {
   991  	crt.Xstrncpy(nil, &_MD5DigestToBase16Ø00zEncodeØ001[0], str(620), 17)
   992  }
   993  
   994  func _busyhandler(tls *crt.TLS, _pArg unsafe.Pointer, _n int32) (r0 int32) {
   995  	crt.Xusleep(tls, uint32(10000))
   996  	return int32(1)
   997  }
   998  
   999  func _sql_script_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zSql *int8) {
  1000  	if _pErr.Xrc == int32(0) {
  1001  		_pErr.Xrc = bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), _zSql, nil, nil, &_pErr.XzErr)
  1002  	}
  1003  }
  1004  
  1005  func _closedb_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) {
  1006  	var _rc, _i int32
  1007  	var _pIter, _pNext *XStatement
  1008  	_pIter = (*XStatement)(_pDb.XpCache)
  1009  _0:
  1010  	if _pIter == nil {
  1011  		goto _3
  1012  	}
  1013  	_pNext = (*XStatement)(_pIter.XpNext)
  1014  	bin.Xsqlite3_finalize(tls, _pIter.XpStmt)
  1015  	bin.Xsqlite3_free(tls, unsafe.Pointer(_pIter))
  1016  	_pIter = _pNext
  1017  	goto _0
  1018  _3:
  1019  	_i = int32(0)
  1020  _4:
  1021  	if _i >= _pDb.XnText {
  1022  		goto _7
  1023  	}
  1024  	bin.Xsqlite3_free(tls, unsafe.Pointer(*elem1(_pDb.XaText, uintptr(_i))))
  1025  	_i += 1
  1026  	goto _4
  1027  _7:
  1028  	bin.Xsqlite3_free(tls, unsafe.Pointer(_pDb.XaText))
  1029  	_rc = bin.Xsqlite3_close(tls, (*bin.Xsqlite3)(_pDb.Xdb))
  1030  	if _rc != 0 && (_pErr.Xrc == int32(0)) {
  1031  		_pErr.XzErr = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(bin.Xsqlite3_errmsg(tls, (*bin.Xsqlite3)(_pDb.Xdb))))
  1032  	}
  1033  	crt.Xmemset(tls, unsafe.Pointer(_pDb), int32(0), uint64(32))
  1034  }
  1035  
  1036  func _setstoptime_x(tls *crt.TLS, _pErr *XError, _nMs int32) {
  1037  	var _1_t float64
  1038  	if _pErr.Xrc == int32(0) {
  1039  		_1_t = _currentTime(tls)
  1040  		_timelimit = _1_t + (float64(_nMs) / (8.64e+07))
  1041  		bug20530(_timelimit)
  1042  	}
  1043  }
  1044  
  1045  func _currentTime(tls *crt.TLS) (r0 float64) {
  1046  	var _1_tm int64
  1047  	var _t float64
  1048  	if _currentTimeØ00pTimelimitVfsØ001 == nil {
  1049  		_currentTimeØ00pTimelimitVfsØ001 = bin.Xsqlite3_vfs_find(tls, nil)
  1050  		bug20530(_currentTimeØ00pTimelimitVfsØ001)
  1051  	}
  1052  	if (_currentTimeØ00pTimelimitVfsØ001.XiVersion >= int32(2)) && (func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 {
  1053  		v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTimeInt64
  1054  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v))
  1055  	}() != nil) {
  1056  		func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 {
  1057  			v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTimeInt64
  1058  			return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v))
  1059  		}()(tls, _currentTimeØ00pTimelimitVfsØ001, &_1_tm)
  1060  		_t = float64(_1_tm) / (8.64e+07)
  1061  		goto _3
  1062  	}
  1063  	func() func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32 {
  1064  		v := _currentTimeØ00pTimelimitVfsØ001.XxCurrentTime
  1065  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&v))
  1066  	}()(tls, _currentTimeØ00pTimelimitVfsØ001, &_t)
  1067  _3:
  1068  	return _t
  1069  }
  1070  
  1071  var _currentTimeØ00pTimelimitVfsØ001 *bin.Xsqlite3_vfs
  1072  
  1073  // C comment
  1074  //  /*
  1075  //  ** Used by setstoptime() and timetostop().
  1076  //  */
  1077  var _timelimit float64
  1078  
  1079  func _launch_thread_x(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset, _xProc func(*crt.TLS, int32, unsafe.Pointer) *int8, _pArg unsafe.Pointer) {
  1080  	var _1_iTid, _1_rc int32
  1081  	var _1_p *XThread
  1082  	if _pErr.Xrc != int32(0) {
  1083  		goto _0
  1084  	}
  1085  	_1_iTid = preInc7(&_pThreads.XiMaxTid, 1)
  1086  	_1_p = (*XThread)(bin.Xsqlite3_malloc(tls, int32(40)))
  1087  	crt.Xmemset(tls, unsafe.Pointer(_1_p), int32(0), uint64(40))
  1088  	_1_p.XiTid = _1_iTid
  1089  	_1_p.XpArg = _pArg
  1090  	_1_p.XxProc = _xProc
  1091  	_1_rc = crt.Xpthread_create(tls, &_1_p.Xtid, nil, _launch_thread_main, unsafe.Pointer(_1_p))
  1092  	if _1_rc != int32(0) {
  1093  		_system_error(tls, _pErr, _1_rc)
  1094  		bin.Xsqlite3_free(tls, unsafe.Pointer(_1_p))
  1095  		goto _2
  1096  	}
  1097  	*(**XThread)(unsafe.Pointer(&_1_p.XpNext)) = (*XThread)(_pThreads.XpThread)
  1098  	*(**XThread)(unsafe.Pointer(&_pThreads.XpThread)) = _1_p
  1099  _2:
  1100  _0:
  1101  }
  1102  
  1103  func _launch_thread_main(tls *crt.TLS, _pArg unsafe.Pointer) (r0 unsafe.Pointer) {
  1104  	var _p *XThread
  1105  	_p = (*XThread)(_pArg)
  1106  	return unsafe.Pointer(_p.XxProc(tls, _p.XiTid, _p.XpArg))
  1107  }
  1108  
  1109  func _system_error(tls *crt.TLS, _pErr *XError, _iSys int32) {
  1110  	_pErr.Xrc = _iSys
  1111  	_pErr.XzErr = (*int8)(bin.Xsqlite3_malloc(tls, int32(512)))
  1112  	crt.Xstrerror_r(tls, _iSys, _pErr.XzErr, uint64(512))
  1113  	*elem2(_pErr.XzErr, uintptr(511)) = 0
  1114  }
  1115  
  1116  func _walthread1_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  1117  	var _nIter int32
  1118  	var _1_z1, _1_z2, _1_z3 *int8
  1119  	var _1_azSql [2]*int8
  1120  	var _err XError
  1121  	var _db XSqlite
  1122  	_err = XError{}
  1123  	_db = XSqlite{}
  1124  	_nIter = int32(0)
  1125  	_opendb_x(tls, func() *XError {
  1126  		_err.XiLine = func() int32 {
  1127  			if _err.Xrc != 0 {
  1128  				return _err.XiLine
  1129  			}
  1130  			return int32(929)
  1131  		}()
  1132  		return &_err
  1133  	}(), &_db, str(378), int32(0))
  1134  _2:
  1135  	if _timetostop_x(tls, func() *XError {
  1136  		_err.XiLine = func() int32 {
  1137  			if _err.Xrc != 0 {
  1138  				return _err.XiLine
  1139  			}
  1140  			return int32(930)
  1141  		}()
  1142  		return &_err
  1143  	}()) != 0 {
  1144  		goto _3
  1145  	}
  1146  	_1_azSql = [2]*int8{}
  1147  	*elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0) = str(640)
  1148  	*elem1((**int8)(unsafe.Pointer(&_1_azSql)), uintptr(1)) = str(708)
  1149  	_execsql_i64_x(tls, func() *XError {
  1150  		_err.XiLine = func() int32 {
  1151  			if _err.Xrc != 0 {
  1152  				return _err.XiLine
  1153  			}
  1154  			return int32(937)
  1155  		}()
  1156  		return &_err
  1157  	}(), &_db, unsafe.Pointer(str(767)))
  1158  	_integrity_check_x(tls, func() *XError {
  1159  		_err.XiLine = func() int32 {
  1160  			if _err.Xrc != 0 {
  1161  				return _err.XiLine
  1162  			}
  1163  			return int32(938)
  1164  		}()
  1165  		return &_err
  1166  	}(), &_db)
  1167  	_1_z1 = _execsql_text_x(tls, func() *XError {
  1168  		_err.XiLine = func() int32 {
  1169  			if _err.Xrc != 0 {
  1170  				return _err.XiLine
  1171  			}
  1172  			return int32(939)
  1173  		}()
  1174  		return &_err
  1175  	}(), &_db, int32(1), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0)))
  1176  	_1_z2 = _execsql_text_x(tls, func() *XError {
  1177  		_err.XiLine = func() int32 {
  1178  			if _err.Xrc != 0 {
  1179  				return _err.XiLine
  1180  			}
  1181  			return int32(940)
  1182  		}()
  1183  		return &_err
  1184  	}(), &_db, int32(2), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), uintptr(1))))
  1185  	_1_z3 = _execsql_text_x(tls, func() *XError {
  1186  		_err.XiLine = func() int32 {
  1187  			if _err.Xrc != 0 {
  1188  				return _err.XiLine
  1189  			}
  1190  			return int32(941)
  1191  		}()
  1192  		return &_err
  1193  	}(), &_db, int32(3), unsafe.Pointer(*elem1((**int8)(unsafe.Pointer(&_1_azSql)), 0)))
  1194  	_execsql_i64_x(tls, func() *XError {
  1195  		_err.XiLine = func() int32 {
  1196  			if _err.Xrc != 0 {
  1197  				return _err.XiLine
  1198  			}
  1199  			return int32(942)
  1200  		}()
  1201  		return &_err
  1202  	}(), &_db, unsafe.Pointer(str(773)))
  1203  	if crt.Xstrcmp(tls, _1_z1, _1_z2) != 0 || crt.Xstrcmp(tls, _1_z1, _1_z3) != 0 {
  1204  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(780), unsafe.Pointer(_1_z1), unsafe.Pointer(_1_z2), unsafe.Pointer(_1_z3)))
  1205  	}
  1206  	_sql_script_x(tls, func() *XError {
  1207  		_err.XiLine = func() int32 {
  1208  			if _err.Xrc != 0 {
  1209  				return _err.XiLine
  1210  			}
  1211  			return int32(948)
  1212  		}()
  1213  		return &_err
  1214  	}(), &_db, str(802))
  1215  	_nIter += 1
  1216  	goto _2
  1217  _3:
  1218  	_closedb_x(tls, func() *XError {
  1219  		_err.XiLine = func() int32 {
  1220  			if _err.Xrc != 0 {
  1221  				return _err.XiLine
  1222  			}
  1223  			return int32(957)
  1224  		}()
  1225  		return &_err
  1226  	}(), &_db)
  1227  	_print_and_free_err(tls, &_err)
  1228  	return bin.Xsqlite3_mprintf(tls, str(934), _nIter)
  1229  
  1230  	_ = _1_azSql
  1231  	panic(0)
  1232  }
  1233  
  1234  func _timetostop_x(tls *crt.TLS, _pErr *XError) (r0 int32) {
  1235  	var _ret int32
  1236  	var _1_t float64
  1237  	_ret = int32(1)
  1238  	if _pErr.Xrc == int32(0) {
  1239  		_1_t = _currentTime(tls)
  1240  		_ret = bool2int(_1_t >= _timelimit)
  1241  	}
  1242  	return _ret
  1243  }
  1244  
  1245  func _execsql_i64_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, args ...interface{}) (r0 int64) {
  1246  	var _2_first int32
  1247  	var _iRet int64
  1248  	var _1_pStmt unsafe.Pointer
  1249  	var _1_ap []interface{}
  1250  	_iRet = int64(0)
  1251  	if _pErr.Xrc != int32(0) {
  1252  		goto _0
  1253  	}
  1254  	_1_ap = args
  1255  	_1_pStmt = _getAndBindSqlStatement(tls, _pErr, _pDb, _1_ap)
  1256  	if _1_pStmt == nil {
  1257  		goto _1
  1258  	}
  1259  	_2_first = int32(1)
  1260  _2:
  1261  	if int32(100) != bin.Xsqlite3_step(tls, _1_pStmt) {
  1262  		goto _3
  1263  	}
  1264  	if _2_first != 0 && (bin.Xsqlite3_column_count(tls, _1_pStmt) > int32(0)) {
  1265  		_iRet = bin.Xsqlite3_column_int64(tls, _1_pStmt, int32(0))
  1266  	}
  1267  	_2_first = int32(0)
  1268  	goto _2
  1269  _3:
  1270  	if int32(0) != bin.Xsqlite3_reset(tls, _1_pStmt) {
  1271  		_sqlite_error(tls, _pErr, _pDb, str(948))
  1272  	}
  1273  _1:
  1274  	_1_ap = nil
  1275  _0:
  1276  	return _iRet
  1277  }
  1278  
  1279  func _getAndBindSqlStatement(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _ap []interface{}) (r0 unsafe.Pointer) {
  1280  	var _i int32
  1281  	var _1_zName *int8
  1282  	var _pStmt, _1_pArg unsafe.Pointer
  1283  	var _pStatement *XStatement
  1284  	_pStatement = _getSqlStatement(tls, _pErr, _pDb, (*int8)(crt.VAPointer(&_ap)))
  1285  	if _pStatement == nil {
  1286  		return nil
  1287  	}
  1288  	_pStmt = _pStatement.XpStmt
  1289  	_i = int32(1)
  1290  _1:
  1291  	if _i > bin.Xsqlite3_bind_parameter_count(tls, _pStmt) {
  1292  		goto _4
  1293  	}
  1294  	_1_zName = bin.Xsqlite3_bind_parameter_name(tls, _pStmt, _i)
  1295  	_1_pArg = crt.VAPointer(&_ap)
  1296  	switch int32(*elem2(_1_zName, uintptr(1))) {
  1297  	case int32(105):
  1298  		goto _6
  1299  	default:
  1300  		goto _7
  1301  	}
  1302  
  1303  _6:
  1304  	bin.Xsqlite3_bind_int64(tls, _pStmt, _i, *(*int64)(_1_pArg))
  1305  	goto _8
  1306  _7:
  1307  	_pErr.Xrc = int32(1)
  1308  	_pErr.XzErr = bin.Xsqlite3_mprintf(tls, str(954), unsafe.Pointer(_1_zName))
  1309  	_pStmt = nil
  1310  	goto _8
  1311  _8:
  1312  	_i += 1
  1313  	goto _1
  1314  _4:
  1315  	return _pStmt
  1316  }
  1317  
  1318  func _getSqlStatement(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zSql *int8) (r0 *XStatement) {
  1319  	var _rc int32
  1320  	var _pRet *XStatement
  1321  	_pRet = (*XStatement)(_pDb.XpCache)
  1322  _0:
  1323  	if _pRet == nil {
  1324  		goto _3
  1325  	}
  1326  	if int32(0) == crt.Xstrcmp(tls, bin.Xsqlite3_sql(tls, _pRet.XpStmt), _zSql) {
  1327  		return _pRet
  1328  	}
  1329  	_pRet = (*XStatement)(_pRet.XpNext)
  1330  	goto _0
  1331  _3:
  1332  	_pRet = (*XStatement)(bin.Xsqlite3_malloc(tls, int32(16)))
  1333  	_rc = bin.Xsqlite3_prepare_v2(tls, (*bin.Xsqlite3)(_pDb.Xdb), _zSql, int32(-1), &_pRet.XpStmt, nil)
  1334  	if _rc != int32(0) {
  1335  		_sqlite_error(tls, _pErr, _pDb, str(980))
  1336  		return nil
  1337  	}
  1338  	func() {
  1339  		if int32(0) != crt.Xstrcmp(tls, bin.Xsqlite3_sql(tls, _pRet.XpStmt), _zSql) {
  1340  			crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(1027)), int32(614), unsafe.Pointer(&_getSqlStatementØ00__func__Ø000), unsafe.Pointer(str(1085)))
  1341  			crt.X__builtin_abort(tls)
  1342  		}
  1343  	}()
  1344  	*(**XStatement)(unsafe.Pointer(&_pRet.XpNext)) = (*XStatement)(_pDb.XpCache)
  1345  	*(**XStatement)(unsafe.Pointer(&_pDb.XpCache)) = _pRet
  1346  	return _pRet
  1347  }
  1348  
  1349  var _getSqlStatementØ00__func__Ø000 [16]int8
  1350  
  1351  func init() {
  1352  	crt.Xstrncpy(nil, &_getSqlStatementØ00__func__Ø000[0], str(1127), 16)
  1353  }
  1354  
  1355  func _integrity_check_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) {
  1356  	var _1_zErr, _3_z *int8
  1357  	var _2_pStmt unsafe.Pointer
  1358  	var _1_pStatement *XStatement
  1359  	if _pErr.Xrc != int32(0) {
  1360  		goto _0
  1361  	}
  1362  	_1_zErr = nil
  1363  	_1_pStatement = _getSqlStatement(tls, _pErr, _pDb, str(1143))
  1364  	if _1_pStatement == nil {
  1365  		goto _1
  1366  	}
  1367  	_2_pStmt = _1_pStatement.XpStmt
  1368  _2:
  1369  	if int32(100) != bin.Xsqlite3_step(tls, _2_pStmt) {
  1370  		goto _3
  1371  	}
  1372  	_3_z = (*int8)(unsafe.Pointer(bin.Xsqlite3_column_text(tls, _2_pStmt, int32(0))))
  1373  	if crt.Xstrcmp(tls, _3_z, str(1166)) == 0 {
  1374  		goto _4
  1375  	}
  1376  	if _1_zErr == nil {
  1377  		_1_zErr = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(_3_z))
  1378  		goto _6
  1379  	}
  1380  	_1_zErr = bin.Xsqlite3_mprintf(tls, str(1169), unsafe.Pointer(_1_zErr), unsafe.Pointer(_3_z))
  1381  _6:
  1382  _4:
  1383  	goto _2
  1384  _3:
  1385  	bin.Xsqlite3_reset(tls, _2_pStmt)
  1386  	if _1_zErr != nil {
  1387  		_pErr.XzErr = _1_zErr
  1388  		_pErr.Xrc = int32(1)
  1389  	}
  1390  _1:
  1391  _0:
  1392  }
  1393  
  1394  func _execsql_text_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _iSlot int32, args ...interface{}) (r0 *int8) {
  1395  	var _1_nByte, _3_first int32
  1396  	var _zRet *int8
  1397  	var _2_pStmt unsafe.Pointer
  1398  	var _2_ap []interface{}
  1399  	_zRet = nil
  1400  	if _iSlot >= _pDb.XnText {
  1401  		_1_nByte = int32(uint64(8) * uint64(_iSlot+int32(1)))
  1402  		_pDb.XaText = (**int8)(bin.Xsqlite3_realloc(tls, unsafe.Pointer(_pDb.XaText), _1_nByte))
  1403  		crt.Xmemset(tls, unsafe.Pointer(elem1(_pDb.XaText, uintptr(_pDb.XnText))), int32(0), uint64(8)*uint64((_iSlot+int32(1))-_pDb.XnText))
  1404  		_pDb.XnText = _iSlot + int32(1)
  1405  	}
  1406  	if _pErr.Xrc != int32(0) {
  1407  		goto _1
  1408  	}
  1409  	_2_ap = args
  1410  	_2_pStmt = _getAndBindSqlStatement(tls, _pErr, _pDb, _2_ap)
  1411  	if _2_pStmt == nil {
  1412  		goto _2
  1413  	}
  1414  	_3_first = int32(1)
  1415  _3:
  1416  	if int32(100) != bin.Xsqlite3_step(tls, _2_pStmt) {
  1417  		goto _4
  1418  	}
  1419  	if _3_first != 0 && (bin.Xsqlite3_column_count(tls, _2_pStmt) > int32(0)) {
  1420  		_zRet = bin.Xsqlite3_mprintf(tls, str(637), unsafe.Pointer(bin.Xsqlite3_column_text(tls, _2_pStmt, int32(0))))
  1421  		bin.Xsqlite3_free(tls, unsafe.Pointer(*elem1(_pDb.XaText, uintptr(_iSlot))))
  1422  		*elem1(_pDb.XaText, uintptr(_iSlot)) = _zRet
  1423  	}
  1424  	_3_first = int32(0)
  1425  	goto _3
  1426  _4:
  1427  	if int32(0) != bin.Xsqlite3_reset(tls, _2_pStmt) {
  1428  		_sqlite_error(tls, _pErr, _pDb, str(948))
  1429  	}
  1430  _2:
  1431  	_2_ap = nil
  1432  _1:
  1433  	return _zRet
  1434  }
  1435  
  1436  func _test_error_x(tls *crt.TLS, _pErr *XError, _zErr *int8) {
  1437  	if _pErr.Xrc == int32(0) {
  1438  		_pErr.Xrc = int32(1)
  1439  		_pErr.XzErr = _zErr
  1440  		goto _1
  1441  	}
  1442  	bin.Xsqlite3_free(tls, unsafe.Pointer(_zErr))
  1443  _1:
  1444  }
  1445  
  1446  func _print_and_free_err(tls *crt.TLS, _p *XError) {
  1447  	_print_err(tls, _p)
  1448  	_free_err(tls, _p)
  1449  }
  1450  
  1451  func _print_err(tls *crt.TLS, _p *XError) {
  1452  	var _1_isWarn int32
  1453  	if _p.Xrc == int32(0) {
  1454  		goto _0
  1455  	}
  1456  	_1_isWarn = int32(0)
  1457  	if _p.Xrc == int32(17) {
  1458  		_1_isWarn = int32(1)
  1459  	}
  1460  	if bin.Xsqlite3_strglob(tls, str(1175), _p.XzErr) == int32(0) {
  1461  		_1_isWarn = int32(1)
  1462  	}
  1463  	crt.Xprintf(tls, str(1196), unsafe.Pointer(func() *int8 {
  1464  		if _1_isWarn != 0 {
  1465  			return str(1222)
  1466  		}
  1467  		return str(1230)
  1468  	}()), _p.Xrc, unsafe.Pointer(_p.XzErr), _p.XiLine)
  1469  	if _1_isWarn == 0 {
  1470  		_nGlobalErr += 1
  1471  	}
  1472  	crt.Xfflush(tls, (*crt.XFILE)(Xstdout))
  1473  _0:
  1474  }
  1475  
  1476  // C comment
  1477  //  /* Total number of errors in this process so far. */
  1478  var _nGlobalErr int32
  1479  
  1480  func _free_err(tls *crt.TLS, _p *XError) {
  1481  	bin.Xsqlite3_free(tls, unsafe.Pointer(_p.XzErr))
  1482  	_p.XzErr = nil
  1483  	_p.Xrc = int32(0)
  1484  }
  1485  
  1486  func _walthread1_ckpt_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  1487  	var _nCkpt int32
  1488  	var _err XError
  1489  	var _db XSqlite
  1490  	_err = XError{}
  1491  	_db = XSqlite{}
  1492  	_nCkpt = int32(0)
  1493  	_opendb_x(tls, func() *XError {
  1494  		_err.XiLine = func() int32 {
  1495  			if _err.Xrc != 0 {
  1496  				return _err.XiLine
  1497  			}
  1498  			return int32(968)
  1499  		}()
  1500  		return &_err
  1501  	}(), &_db, str(378), int32(0))
  1502  _2:
  1503  	if _timetostop_x(tls, func() *XError {
  1504  		_err.XiLine = func() int32 {
  1505  			if _err.Xrc != 0 {
  1506  				return _err.XiLine
  1507  			}
  1508  			return int32(969)
  1509  		}()
  1510  		return &_err
  1511  	}()) != 0 {
  1512  		goto _3
  1513  	}
  1514  	crt.Xusleep(tls, uint32(500000))
  1515  	_execsql_i64_x(tls, func() *XError {
  1516  		_err.XiLine = func() int32 {
  1517  			if _err.Xrc != 0 {
  1518  				return _err.XiLine
  1519  			}
  1520  			return int32(971)
  1521  		}()
  1522  		return &_err
  1523  	}(), &_db, unsafe.Pointer(str(1236)))
  1524  	if _err.Xrc == int32(0) {
  1525  		_nCkpt += 1
  1526  	}
  1527  	_clear_error_x(tls, &_err, int32(5))
  1528  	goto _2
  1529  _3:
  1530  	_closedb_x(tls, func() *XError {
  1531  		_err.XiLine = func() int32 {
  1532  			if _err.Xrc != 0 {
  1533  				return _err.XiLine
  1534  			}
  1535  			return int32(975)
  1536  		}()
  1537  		return &_err
  1538  	}(), &_db)
  1539  	_print_and_free_err(tls, &_err)
  1540  	return bin.Xsqlite3_mprintf(tls, str(1258), _nCkpt)
  1541  }
  1542  
  1543  func _clear_error_x(tls *crt.TLS, _pErr *XError, _rc int32) {
  1544  	if _pErr.Xrc == _rc {
  1545  		_pErr.Xrc = int32(0)
  1546  		bin.Xsqlite3_free(tls, unsafe.Pointer(_pErr.XzErr))
  1547  		_pErr.XzErr = nil
  1548  	}
  1549  }
  1550  
  1551  func _join_all_threads_x(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset) {
  1552  	var _1_rc int32
  1553  	var _1_ret unsafe.Pointer
  1554  	var _p, _pNext *XThread
  1555  	_p = (*XThread)(_pThreads.XpThread)
  1556  _0:
  1557  	if _p == nil {
  1558  		goto _3
  1559  	}
  1560  	_pNext = (*XThread)(_p.XpNext)
  1561  	_1_rc = crt.Xpthread_join(tls, _p.Xtid, &_1_ret)
  1562  	if _1_rc == int32(0) {
  1563  		goto _4
  1564  	}
  1565  	if _pErr.Xrc == int32(0) {
  1566  		_system_error(tls, _pErr, _1_rc)
  1567  	}
  1568  	goto _6
  1569  _4:
  1570  	crt.Xprintf(tls, str(1273), _p.XiTid, unsafe.Pointer(func() *int8 {
  1571  		if _1_ret == nil {
  1572  			return str(1293)
  1573  		}
  1574  		return (*int8)(_1_ret)
  1575  	}()))
  1576  	crt.Xfflush(tls, (*crt.XFILE)(Xstdout))
  1577  _6:
  1578  	bin.Xsqlite3_free(tls, unsafe.Pointer(_p))
  1579  	_p = _pNext
  1580  	goto _0
  1581  _3:
  1582  	*(**XThread)(unsafe.Pointer(&_pThreads.XpThread)) = nil
  1583  }
  1584  
  1585  func _walthread2(tls *crt.TLS, _nMs int32) {
  1586  	var _err XError
  1587  	var _db XSqlite
  1588  	var _threads XThreadset
  1589  	_err = XError{}
  1590  	_db = XSqlite{}
  1591  	_threads = XThreadset{}
  1592  	_opendb_x(tls, func() *XError {
  1593  		_err.XiLine = func() int32 {
  1594  			if _err.Xrc != 0 {
  1595  				return _err.XiLine
  1596  			}
  1597  			return int32(1050)
  1598  		}()
  1599  		return &_err
  1600  	}(), &_db, str(378), int32(1))
  1601  	_sql_script_x(tls, func() *XError {
  1602  		_err.XiLine = func() int32 {
  1603  			if _err.Xrc != 0 {
  1604  				return _err.XiLine
  1605  			}
  1606  			return int32(1051)
  1607  		}()
  1608  		return &_err
  1609  	}(), &_db, str(1297))
  1610  	_closedb_x(tls, func() *XError {
  1611  		_err.XiLine = func() int32 {
  1612  			if _err.Xrc != 0 {
  1613  				return _err.XiLine
  1614  			}
  1615  			return int32(1052)
  1616  		}()
  1617  		return &_err
  1618  	}(), &_db)
  1619  	_setstoptime_x(tls, func() *XError {
  1620  		_err.XiLine = func() int32 {
  1621  			if _err.Xrc != 0 {
  1622  				return _err.XiLine
  1623  			}
  1624  			return int32(1054)
  1625  		}()
  1626  		return &_err
  1627  	}(), _nMs)
  1628  	_launch_thread_x(tls, func() *XError {
  1629  		_err.XiLine = func() int32 {
  1630  			if _err.Xrc != 0 {
  1631  				return _err.XiLine
  1632  			}
  1633  			return int32(1055)
  1634  		}()
  1635  		return &_err
  1636  	}(), &_threads, _walthread2_thread, nil)
  1637  	_launch_thread_x(tls, func() *XError {
  1638  		_err.XiLine = func() int32 {
  1639  			if _err.Xrc != 0 {
  1640  				return _err.XiLine
  1641  			}
  1642  			return int32(1056)
  1643  		}()
  1644  		return &_err
  1645  	}(), &_threads, _walthread2_thread, nil)
  1646  	_launch_thread_x(tls, func() *XError {
  1647  		_err.XiLine = func() int32 {
  1648  			if _err.Xrc != 0 {
  1649  				return _err.XiLine
  1650  			}
  1651  			return int32(1057)
  1652  		}()
  1653  		return &_err
  1654  	}(), &_threads, _walthread2_thread, crt.U2P(uintptr(uint32(1))))
  1655  	_launch_thread_x(tls, func() *XError {
  1656  		_err.XiLine = func() int32 {
  1657  			if _err.Xrc != 0 {
  1658  				return _err.XiLine
  1659  			}
  1660  			return int32(1058)
  1661  		}()
  1662  		return &_err
  1663  	}(), &_threads, _walthread2_thread, crt.U2P(uintptr(uint32(1))))
  1664  	_join_all_threads_x(tls, func() *XError {
  1665  		_err.XiLine = func() int32 {
  1666  			if _err.Xrc != 0 {
  1667  				return _err.XiLine
  1668  			}
  1669  			return int32(1059)
  1670  		}()
  1671  		return &_err
  1672  	}(), &_threads)
  1673  	_print_and_free_err(tls, &_err)
  1674  }
  1675  
  1676  func _walthread2_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  1677  	var _iArg, _2_journal_exists, _2_wal_exists int32
  1678  	var _zJournal *int8
  1679  	var _anTrans [2]int32
  1680  	var _err XError
  1681  	var _db XSqlite
  1682  	_err = XError{}
  1683  	_db = XSqlite{}
  1684  	_anTrans = [2]int32{}
  1685  	_iArg = int32(int64(crt.P2U(_pArg)))
  1686  	_zJournal = str(1346)
  1687  	if _iArg != 0 {
  1688  		_zJournal = str(1372)
  1689  	}
  1690  _0:
  1691  	if _timetostop_x(tls, func() *XError {
  1692  		_err.XiLine = func() int32 {
  1693  			if _err.Xrc != 0 {
  1694  				return _err.XiLine
  1695  			}
  1696  			return int32(1016)
  1697  		}()
  1698  		return &_err
  1699  	}()) != 0 {
  1700  		goto _2
  1701  	}
  1702  	_2_journal_exists = int32(0)
  1703  	_2_wal_exists = int32(0)
  1704  	_opendb_x(tls, func() *XError {
  1705  		_err.XiLine = func() int32 {
  1706  			if _err.Xrc != 0 {
  1707  				return _err.XiLine
  1708  			}
  1709  			return int32(1020)
  1710  		}()
  1711  		return &_err
  1712  	}(), &_db, str(378), int32(0))
  1713  	_sql_script_x(tls, func() *XError {
  1714  		_err.XiLine = func() int32 {
  1715  			if _err.Xrc != 0 {
  1716  				return _err.XiLine
  1717  			}
  1718  			return int32(1022)
  1719  		}()
  1720  		return &_err
  1721  	}(), &_db, _zJournal)
  1722  	_clear_error_x(tls, &_err, int32(5))
  1723  	_sql_script_x(tls, func() *XError {
  1724  		_err.XiLine = func() int32 {
  1725  			if _err.Xrc != 0 {
  1726  				return _err.XiLine
  1727  			}
  1728  			return int32(1024)
  1729  		}()
  1730  		return &_err
  1731  	}(), &_db, str(767))
  1732  	_sql_script_x(tls, func() *XError {
  1733  		_err.XiLine = func() int32 {
  1734  			if _err.Xrc != 0 {
  1735  				return _err.XiLine
  1736  			}
  1737  			return int32(1025)
  1738  		}()
  1739  		return &_err
  1740  	}(), &_db, str(1401))
  1741  	_2_journal_exists = bool2int(_filesize_x(tls, func() *XError {
  1742  		_err.XiLine = func() int32 {
  1743  			if _err.Xrc != 0 {
  1744  				return _err.XiLine
  1745  			}
  1746  			return int32(1027)
  1747  		}()
  1748  		return &_err
  1749  	}(), str(1446)) >= (0))
  1750  	_2_wal_exists = bool2int(_filesize_x(tls, func() *XError {
  1751  		_err.XiLine = func() int32 {
  1752  			if _err.Xrc != 0 {
  1753  				return _err.XiLine
  1754  			}
  1755  			return int32(1028)
  1756  		}()
  1757  		return &_err
  1758  	}(), str(1462)) >= (0))
  1759  	if (_2_journal_exists + _2_wal_exists) != int32(1) {
  1760  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(1474), _2_journal_exists, _2_wal_exists))
  1761  	}
  1762  	*elem8((*int32)(unsafe.Pointer(&_anTrans)), uintptr(_2_journal_exists)) += 1
  1763  	_sql_script_x(tls, func() *XError {
  1764  		_err.XiLine = func() int32 {
  1765  			if _err.Xrc != 0 {
  1766  				return _err.XiLine
  1767  			}
  1768  			return int32(1036)
  1769  		}()
  1770  		return &_err
  1771  	}(), &_db, str(773))
  1772  	_integrity_check_x(tls, func() *XError {
  1773  		_err.XiLine = func() int32 {
  1774  			if _err.Xrc != 0 {
  1775  				return _err.XiLine
  1776  			}
  1777  			return int32(1037)
  1778  		}()
  1779  		return &_err
  1780  	}(), &_db)
  1781  	_closedb_x(tls, func() *XError {
  1782  		_err.XiLine = func() int32 {
  1783  			if _err.Xrc != 0 {
  1784  				return _err.XiLine
  1785  			}
  1786  			return int32(1038)
  1787  		}()
  1788  		return &_err
  1789  	}(), &_db)
  1790  	goto _0
  1791  _2:
  1792  	_print_and_free_err(tls, &_err)
  1793  	return bin.Xsqlite3_mprintf(tls, str(1511), *elem8((*int32)(unsafe.Pointer(&_anTrans)), 0), *elem8((*int32)(unsafe.Pointer(&_anTrans)), uintptr(1)))
  1794  
  1795  	_ = _anTrans
  1796  	panic(0)
  1797  }
  1798  
  1799  func _filesize_x(tls *crt.TLS, _pErr *XError, _zFile *int8) (r0 int64) {
  1800  	var _iRet int64
  1801  	var _1_sStat crt.Xstruct_stat64
  1802  	_iRet = int64(0)
  1803  	if _pErr.Xrc != int32(0) {
  1804  		goto _0
  1805  	}
  1806  	if crt.Xstat64(tls, _zFile, &_1_sStat) != 0 {
  1807  		_iRet = int64(-1)
  1808  		goto _2
  1809  	}
  1810  	_iRet = _1_sStat.Xst_size
  1811  _2:
  1812  _0:
  1813  	return _iRet
  1814  }
  1815  
  1816  func _walthread3(tls *crt.TLS, _nMs int32) {
  1817  	var _i int32
  1818  	var _err XError
  1819  	var _db XSqlite
  1820  	var _threads XThreadset
  1821  	_err = XError{}
  1822  	_db = XSqlite{}
  1823  	_threads = XThreadset{}
  1824  	_opendb_x(tls, func() *XError {
  1825  		_err.XiLine = func() int32 {
  1826  			if _err.Xrc != 0 {
  1827  				return _err.XiLine
  1828  			}
  1829  			return int32(1107)
  1830  		}()
  1831  		return &_err
  1832  	}(), &_db, str(378), int32(1))
  1833  	_sql_script_x(tls, func() *XError {
  1834  		_err.XiLine = func() int32 {
  1835  			if _err.Xrc != 0 {
  1836  				return _err.XiLine
  1837  			}
  1838  			return int32(1108)
  1839  		}()
  1840  		return &_err
  1841  	}(), &_db, str(1521))
  1842  	_closedb_x(tls, func() *XError {
  1843  		_err.XiLine = func() int32 {
  1844  			if _err.Xrc != 0 {
  1845  				return _err.XiLine
  1846  			}
  1847  			return int32(1115)
  1848  		}()
  1849  		return &_err
  1850  	}(), &_db)
  1851  	_setstoptime_x(tls, func() *XError {
  1852  		_err.XiLine = func() int32 {
  1853  			if _err.Xrc != 0 {
  1854  				return _err.XiLine
  1855  			}
  1856  			return int32(1117)
  1857  		}()
  1858  		return &_err
  1859  	}(), _nMs)
  1860  	_i = int32(0)
  1861  _8:
  1862  	if _i >= int32(6) {
  1863  		goto _11
  1864  	}
  1865  	_launch_thread_x(tls, func() *XError {
  1866  		_err.XiLine = func() int32 {
  1867  			if _err.Xrc != 0 {
  1868  				return _err.XiLine
  1869  			}
  1870  			return int32(1119)
  1871  		}()
  1872  		return &_err
  1873  	}(), &_threads, _walthread3_thread, crt.U2P(uintptr(int64(_i))))
  1874  	_i += 1
  1875  	goto _8
  1876  _11:
  1877  	_join_all_threads_x(tls, func() *XError {
  1878  		_err.XiLine = func() int32 {
  1879  			if _err.Xrc != 0 {
  1880  				return _err.XiLine
  1881  			}
  1882  			return int32(1121)
  1883  		}()
  1884  		return &_err
  1885  	}(), &_threads)
  1886  	_print_and_free_err(tls, &_err)
  1887  }
  1888  
  1889  func _walthread3_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  1890  	var _iArg, _1_stop int32
  1891  	var _iNextWrite, _1_sum1, _1_sum2, _2_iMax int64
  1892  	var _err XError
  1893  	var _db XSqlite
  1894  	_err = XError{}
  1895  	_db = XSqlite{}
  1896  	_iArg = int32(int64(crt.P2U(_pArg)))
  1897  	_opendb_x(tls, func() *XError {
  1898  		_err.XiLine = func() int32 {
  1899  			if _err.Xrc != 0 {
  1900  				return _err.XiLine
  1901  			}
  1902  			return int32(1070)
  1903  		}()
  1904  		return &_err
  1905  	}(), &_db, str(378), int32(0))
  1906  	_sql_script_x(tls, func() *XError {
  1907  		_err.XiLine = func() int32 {
  1908  			if _err.Xrc != 0 {
  1909  				return _err.XiLine
  1910  			}
  1911  			return int32(1071)
  1912  		}()
  1913  		return &_err
  1914  	}(), &_db, str(1680))
  1915  	_iNextWrite = int64(_iArg + int32(1))
  1916  _4:
  1917  	_1_stop = int32(0)
  1918  _6:
  1919  	if int32(0) != store7(&_1_stop, _timetostop_x(tls, func() *XError {
  1920  		_err.XiLine = func() int32 {
  1921  			if _err.Xrc != 0 {
  1922  				return _err.XiLine
  1923  			}
  1924  			return int32(1079)
  1925  		}()
  1926  		return &_err
  1927  	}())) {
  1928  		goto _7
  1929  	}
  1930  	_2_iMax = _execsql_i64_x(tls, func() *XError {
  1931  		_err.XiLine = func() int32 {
  1932  			if _err.Xrc != 0 {
  1933  				return _err.XiLine
  1934  			}
  1935  			return int32(1080)
  1936  		}()
  1937  		return &_err
  1938  	}(), &_db, unsafe.Pointer(str(1711)))
  1939  	if (_2_iMax + int64(1)) == _iNextWrite {
  1940  		goto _7
  1941  	}
  1942  	goto _6
  1943  _7:
  1944  	if _1_stop != 0 {
  1945  		goto _5
  1946  	}
  1947  	_1_sum1 = _execsql_i64_x(tls, func() *XError {
  1948  		_err.XiLine = func() int32 {
  1949  			if _err.Xrc != 0 {
  1950  				return _err.XiLine
  1951  			}
  1952  			return int32(1085)
  1953  		}()
  1954  		return &_err
  1955  	}(), &_db, unsafe.Pointer(str(1735)))
  1956  	_1_sum2 = _execsql_i64_x(tls, func() *XError {
  1957  		_err.XiLine = func() int32 {
  1958  			if _err.Xrc != 0 {
  1959  				return _err.XiLine
  1960  			}
  1961  			return int32(1086)
  1962  		}()
  1963  		return &_err
  1964  	}(), &_db, unsafe.Pointer(str(1759)))
  1965  	_execsql_i64_x(tls, func() *XError {
  1966  		_err.XiLine = func() int32 {
  1967  			if _err.Xrc != 0 {
  1968  				return _err.XiLine
  1969  			}
  1970  			return int32(1087)
  1971  		}()
  1972  		return &_err
  1973  	}(), &_db, unsafe.Pointer(str(1784)), unsafe.Pointer(&_iNextWrite), unsafe.Pointer(&_1_sum1), unsafe.Pointer(&_1_sum2))
  1974  	_integrity_check_x(tls, func() *XError {
  1975  		_err.XiLine = func() int32 {
  1976  			if _err.Xrc != 0 {
  1977  				return _err.XiLine
  1978  			}
  1979  			return int32(1091)
  1980  		}()
  1981  		return &_err
  1982  	}(), &_db)
  1983  	_iNextWrite += int64(6)
  1984  	goto _4
  1985  _5:
  1986  	_closedb_x(tls, func() *XError {
  1987  		_err.XiLine = func() int32 {
  1988  			if _err.Xrc != 0 {
  1989  				return _err.XiLine
  1990  			}
  1991  			return int32(1096)
  1992  		}()
  1993  		return &_err
  1994  	}(), &_db)
  1995  	_print_and_free_err(tls, &_err)
  1996  	return nil
  1997  }
  1998  
  1999  func _walthread4(tls *crt.TLS, _nMs int32) {
  2000  	var _err XError
  2001  	var _db XSqlite
  2002  	var _threads XThreadset
  2003  	_err = XError{}
  2004  	_db = XSqlite{}
  2005  	_threads = XThreadset{}
  2006  	_opendb_x(tls, func() *XError {
  2007  		_err.XiLine = func() int32 {
  2008  			if _err.Xrc != 0 {
  2009  				return _err.XiLine
  2010  			}
  2011  			return int32(1165)
  2012  		}()
  2013  		return &_err
  2014  	}(), &_db, str(378), int32(1))
  2015  	_sql_script_x(tls, func() *XError {
  2016  		_err.XiLine = func() int32 {
  2017  			if _err.Xrc != 0 {
  2018  				return _err.XiLine
  2019  			}
  2020  			return int32(1166)
  2021  		}()
  2022  		return &_err
  2023  	}(), &_db, str(1835))
  2024  	_closedb_x(tls, func() *XError {
  2025  		_err.XiLine = func() int32 {
  2026  			if _err.Xrc != 0 {
  2027  				return _err.XiLine
  2028  			}
  2029  			return int32(1170)
  2030  		}()
  2031  		return &_err
  2032  	}(), &_db)
  2033  	_setstoptime_x(tls, func() *XError {
  2034  		_err.XiLine = func() int32 {
  2035  			if _err.Xrc != 0 {
  2036  				return _err.XiLine
  2037  			}
  2038  			return int32(1172)
  2039  		}()
  2040  		return &_err
  2041  	}(), _nMs)
  2042  	_launch_thread_x(tls, func() *XError {
  2043  		_err.XiLine = func() int32 {
  2044  			if _err.Xrc != 0 {
  2045  				return _err.XiLine
  2046  			}
  2047  			return int32(1173)
  2048  		}()
  2049  		return &_err
  2050  	}(), &_threads, _walthread4_reader_thread, nil)
  2051  	_launch_thread_x(tls, func() *XError {
  2052  		_err.XiLine = func() int32 {
  2053  			if _err.Xrc != 0 {
  2054  				return _err.XiLine
  2055  			}
  2056  			return int32(1174)
  2057  		}()
  2058  		return &_err
  2059  	}(), &_threads, _walthread4_writer_thread, nil)
  2060  	_join_all_threads_x(tls, func() *XError {
  2061  		_err.XiLine = func() int32 {
  2062  			if _err.Xrc != 0 {
  2063  				return _err.XiLine
  2064  			}
  2065  			return int32(1175)
  2066  		}()
  2067  		return &_err
  2068  	}(), &_threads)
  2069  	_print_and_free_err(tls, &_err)
  2070  }
  2071  
  2072  func _walthread4_reader_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  2073  	var _err XError
  2074  	var _db XSqlite
  2075  	_err = XError{}
  2076  	_db = XSqlite{}
  2077  	_opendb_x(tls, func() *XError {
  2078  		_err.XiLine = func() int32 {
  2079  			if _err.Xrc != 0 {
  2080  				return _err.XiLine
  2081  			}
  2082  			return int32(1130)
  2083  		}()
  2084  		return &_err
  2085  	}(), &_db, str(378), int32(0))
  2086  _2:
  2087  	if _timetostop_x(tls, func() *XError {
  2088  		_err.XiLine = func() int32 {
  2089  			if _err.Xrc != 0 {
  2090  				return _err.XiLine
  2091  			}
  2092  			return int32(1131)
  2093  		}()
  2094  		return &_err
  2095  	}()) == 0 {
  2096  		_integrity_check_x(tls, func() *XError {
  2097  			_err.XiLine = func() int32 {
  2098  				if _err.Xrc != 0 {
  2099  					return _err.XiLine
  2100  				}
  2101  				return int32(1132)
  2102  			}()
  2103  			return &_err
  2104  		}(), &_db)
  2105  		goto _2
  2106  	}
  2107  	_closedb_x(tls, func() *XError {
  2108  		_err.XiLine = func() int32 {
  2109  			if _err.Xrc != 0 {
  2110  				return _err.XiLine
  2111  			}
  2112  			return int32(1134)
  2113  		}()
  2114  		return &_err
  2115  	}(), &_db)
  2116  	_print_and_free_err(tls, &_err)
  2117  	return nil
  2118  }
  2119  
  2120  func _walthread4_writer_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  2121  	var _iRow int64
  2122  	var _err XError
  2123  	var _db XSqlite
  2124  	_err = XError{}
  2125  	_db = XSqlite{}
  2126  	_iRow = int64(1)
  2127  	_opendb_x(tls, func() *XError {
  2128  		_err.XiLine = func() int32 {
  2129  			if _err.Xrc != 0 {
  2130  				return _err.XiLine
  2131  			}
  2132  			return int32(1145)
  2133  		}()
  2134  		return &_err
  2135  	}(), &_db, str(378), int32(0))
  2136  	_sql_script_x(tls, func() *XError {
  2137  		_err.XiLine = func() int32 {
  2138  			if _err.Xrc != 0 {
  2139  				return _err.XiLine
  2140  			}
  2141  			return int32(1146)
  2142  		}()
  2143  		return &_err
  2144  	}(), &_db, str(1911))
  2145  _4:
  2146  	if _timetostop_x(tls, func() *XError {
  2147  		_err.XiLine = func() int32 {
  2148  			if _err.Xrc != 0 {
  2149  				return _err.XiLine
  2150  			}
  2151  			return int32(1147)
  2152  		}()
  2153  		return &_err
  2154  	}()) != 0 {
  2155  		goto _5
  2156  	}
  2157  	_execsql_i64_x(tls, func() *XError {
  2158  		_err.XiLine = func() int32 {
  2159  			if _err.Xrc != 0 {
  2160  				return _err.XiLine
  2161  			}
  2162  			return int32(1148)
  2163  		}()
  2164  		return &_err
  2165  	}(), &_db, unsafe.Pointer(str(1943)), unsafe.Pointer(&_iRow))
  2166  	_iRow += 1
  2167  	if _iRow == int64(10) {
  2168  		_iRow = 0
  2169  	}
  2170  	goto _4
  2171  _5:
  2172  	_closedb_x(tls, func() *XError {
  2173  		_err.XiLine = func() int32 {
  2174  			if _err.Xrc != 0 {
  2175  				return _err.XiLine
  2176  			}
  2177  			return int32(1154)
  2178  		}()
  2179  		return &_err
  2180  	}(), &_db)
  2181  	_print_and_free_err(tls, &_err)
  2182  	return nil
  2183  }
  2184  
  2185  func _walthread5(tls *crt.TLS, _nMs int32) {
  2186  	var _err XError
  2187  	var _db XSqlite
  2188  	var _threads XThreadset
  2189  	_err = XError{}
  2190  	_db = XSqlite{}
  2191  	_threads = XThreadset{}
  2192  	_opendb_x(tls, func() *XError {
  2193  		_err.XiLine = func() int32 {
  2194  			if _err.Xrc != 0 {
  2195  				return _err.XiLine
  2196  			}
  2197  			return int32(1198)
  2198  		}()
  2199  		return &_err
  2200  	}(), &_db, str(378), int32(1))
  2201  	_sql_script_x(tls, func() *XError {
  2202  		_err.XiLine = func() int32 {
  2203  			if _err.Xrc != 0 {
  2204  				return _err.XiLine
  2205  			}
  2206  			return int32(1199)
  2207  		}()
  2208  		return &_err
  2209  	}(), &_db, str(1990))
  2210  	_filecopy_x(tls, func() *XError {
  2211  		_err.XiLine = func() int32 {
  2212  			if _err.Xrc != 0 {
  2213  				return _err.XiLine
  2214  			}
  2215  			return int32(1224)
  2216  		}()
  2217  		return &_err
  2218  	}(), str(378), str(3150))
  2219  	_filecopy_x(tls, func() *XError {
  2220  		_err.XiLine = func() int32 {
  2221  			if _err.Xrc != 0 {
  2222  				return _err.XiLine
  2223  			}
  2224  			return int32(1225)
  2225  		}()
  2226  		return &_err
  2227  	}(), str(1462), str(3161))
  2228  	_closedb_x(tls, func() *XError {
  2229  		_err.XiLine = func() int32 {
  2230  			if _err.Xrc != 0 {
  2231  				return _err.XiLine
  2232  			}
  2233  			return int32(1226)
  2234  		}()
  2235  		return &_err
  2236  	}(), &_db)
  2237  	_filecopy_x(tls, func() *XError {
  2238  		_err.XiLine = func() int32 {
  2239  			if _err.Xrc != 0 {
  2240  				return _err.XiLine
  2241  			}
  2242  			return int32(1228)
  2243  		}()
  2244  		return &_err
  2245  	}(), str(3150), str(378))
  2246  	_filecopy_x(tls, func() *XError {
  2247  		_err.XiLine = func() int32 {
  2248  			if _err.Xrc != 0 {
  2249  				return _err.XiLine
  2250  			}
  2251  			return int32(1229)
  2252  		}()
  2253  		return &_err
  2254  	}(), str(3161), str(1462))
  2255  	if _err.Xrc == int32(0) {
  2256  		crt.Xprintf(tls, str(3176), int32(_filesize_x(tls, func() *XError {
  2257  			_err.XiLine = func() int32 {
  2258  				if _err.Xrc != 0 {
  2259  					return _err.XiLine
  2260  				}
  2261  				return int32(1232)
  2262  			}()
  2263  			return &_err
  2264  		}(), str(1462))))
  2265  		crt.Xprintf(tls, str(3200), int32(_filesize_x(tls, func() *XError {
  2266  			_err.XiLine = func() int32 {
  2267  				if _err.Xrc != 0 {
  2268  					return _err.XiLine
  2269  				}
  2270  				return int32(1233)
  2271  			}()
  2272  			return &_err
  2273  		}(), str(378))))
  2274  	}
  2275  	_setstoptime_x(tls, func() *XError {
  2276  		_err.XiLine = func() int32 {
  2277  			if _err.Xrc != 0 {
  2278  				return _err.XiLine
  2279  			}
  2280  			return int32(1236)
  2281  		}()
  2282  		return &_err
  2283  	}(), _nMs)
  2284  	_launch_thread_x(tls, func() *XError {
  2285  		_err.XiLine = func() int32 {
  2286  			if _err.Xrc != 0 {
  2287  				return _err.XiLine
  2288  			}
  2289  			return int32(1237)
  2290  		}()
  2291  		return &_err
  2292  	}(), &_threads, _walthread5_thread, nil)
  2293  	_launch_thread_x(tls, func() *XError {
  2294  		_err.XiLine = func() int32 {
  2295  			if _err.Xrc != 0 {
  2296  				return _err.XiLine
  2297  			}
  2298  			return int32(1238)
  2299  		}()
  2300  		return &_err
  2301  	}(), &_threads, _walthread5_thread, nil)
  2302  	_launch_thread_x(tls, func() *XError {
  2303  		_err.XiLine = func() int32 {
  2304  			if _err.Xrc != 0 {
  2305  				return _err.XiLine
  2306  			}
  2307  			return int32(1239)
  2308  		}()
  2309  		return &_err
  2310  	}(), &_threads, _walthread5_thread, nil)
  2311  	_launch_thread_x(tls, func() *XError {
  2312  		_err.XiLine = func() int32 {
  2313  			if _err.Xrc != 0 {
  2314  				return _err.XiLine
  2315  			}
  2316  			return int32(1240)
  2317  		}()
  2318  		return &_err
  2319  	}(), &_threads, _walthread5_thread, nil)
  2320  	_launch_thread_x(tls, func() *XError {
  2321  		_err.XiLine = func() int32 {
  2322  			if _err.Xrc != 0 {
  2323  				return _err.XiLine
  2324  			}
  2325  			return int32(1241)
  2326  		}()
  2327  		return &_err
  2328  	}(), &_threads, _walthread5_thread, nil)
  2329  	_join_all_threads_x(tls, func() *XError {
  2330  		_err.XiLine = func() int32 {
  2331  			if _err.Xrc != 0 {
  2332  				return _err.XiLine
  2333  			}
  2334  			return int32(1242)
  2335  		}()
  2336  		return &_err
  2337  	}(), &_threads)
  2338  	if _err.Xrc == int32(0) {
  2339  		crt.Xprintf(tls, str(3176), int32(_filesize_x(tls, func() *XError {
  2340  			_err.XiLine = func() int32 {
  2341  				if _err.Xrc != 0 {
  2342  					return _err.XiLine
  2343  				}
  2344  				return int32(1245)
  2345  			}()
  2346  			return &_err
  2347  		}(), str(1462))))
  2348  		crt.Xprintf(tls, str(3200), int32(_filesize_x(tls, func() *XError {
  2349  			_err.XiLine = func() int32 {
  2350  				if _err.Xrc != 0 {
  2351  					return _err.XiLine
  2352  				}
  2353  				return int32(1246)
  2354  			}()
  2355  			return &_err
  2356  		}(), str(378))))
  2357  	}
  2358  	_print_and_free_err(tls, &_err)
  2359  }
  2360  
  2361  func _filecopy_x(tls *crt.TLS, _pErr *XError, _zFrom *int8, _zTo *int8) {
  2362  	var _3_fd1, _3_fd2, _6_nCopy int32
  2363  	var _1_nByte, _3_iOff int64
  2364  	var _3_aBuf [1024]int8
  2365  	if _pErr.Xrc != int32(0) {
  2366  		goto _0
  2367  	}
  2368  	_1_nByte = _filesize_x(tls, _pErr, _zFrom)
  2369  	if _1_nByte < (0) {
  2370  		_test_error_x(tls, _pErr, bin.Xsqlite3_mprintf(tls, str(3217), unsafe.Pointer(_zFrom)))
  2371  		goto _2
  2372  	}
  2373  	crt.Xunlink(tls, _zTo)
  2374  	_3_fd1 = crt.Xopen64(tls, _zFrom, int32(0))
  2375  	if _3_fd1 < int32(0) {
  2376  		_system_error(tls, _pErr, *crt.X__errno_location(tls))
  2377  		return
  2378  	}
  2379  	_3_fd2 = crt.Xopen64(tls, _zTo, int32(194), int32(420))
  2380  	if _3_fd2 < int32(0) {
  2381  		_system_error(tls, _pErr, *crt.X__errno_location(tls))
  2382  		crt.Xclose(tls, _3_fd1)
  2383  		return
  2384  	}
  2385  	_3_iOff = 0
  2386  _5:
  2387  	if _3_iOff >= _1_nByte {
  2388  		goto _6
  2389  	}
  2390  	_6_nCopy = int32(1024)
  2391  	if (int64(_6_nCopy) + _3_iOff) > _1_nByte {
  2392  		_6_nCopy = int32(_1_nByte - _3_iOff)
  2393  	}
  2394  	if int64(_6_nCopy) != crt.Xread(tls, _3_fd1, unsafe.Pointer(&_3_aBuf), uint64(_6_nCopy)) {
  2395  		_system_error(tls, _pErr, *crt.X__errno_location(tls))
  2396  		goto _6
  2397  	}
  2398  	if int64(_6_nCopy) != crt.Xwrite(tls, _3_fd2, unsafe.Pointer(&_3_aBuf), uint64(_6_nCopy)) {
  2399  		_system_error(tls, _pErr, *crt.X__errno_location(tls))
  2400  		goto _6
  2401  	}
  2402  	_3_iOff += int64(_6_nCopy)
  2403  	goto _5
  2404  _6:
  2405  	crt.Xclose(tls, _3_fd1)
  2406  	crt.Xclose(tls, _3_fd2)
  2407  _2:
  2408  _0:
  2409  	_ = _3_aBuf
  2410  }
  2411  
  2412  func _walthread5_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  2413  	var _nRow int64
  2414  	var _err XError
  2415  	var _db XSqlite
  2416  	_err = XError{}
  2417  	_db = XSqlite{}
  2418  	_opendb_x(tls, func() *XError {
  2419  		_err.XiLine = func() int32 {
  2420  			if _err.Xrc != 0 {
  2421  				return _err.XiLine
  2422  			}
  2423  			return int32(1185)
  2424  		}()
  2425  		return &_err
  2426  	}(), &_db, str(378), int32(0))
  2427  	_nRow = _execsql_i64_x(tls, func() *XError {
  2428  		_err.XiLine = func() int32 {
  2429  			if _err.Xrc != 0 {
  2430  				return _err.XiLine
  2431  			}
  2432  			return int32(1186)
  2433  		}()
  2434  		return &_err
  2435  	}(), &_db, unsafe.Pointer(str(3234)))
  2436  	_closedb_x(tls, func() *XError {
  2437  		_err.XiLine = func() int32 {
  2438  			if _err.Xrc != 0 {
  2439  				return _err.XiLine
  2440  			}
  2441  			return int32(1187)
  2442  		}()
  2443  		return &_err
  2444  	}(), &_db)
  2445  	if _nRow != int64(65536) {
  2446  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(3258), int32(_nRow)))
  2447  	}
  2448  	_print_and_free_err(tls, &_err)
  2449  	return nil
  2450  }
  2451  
  2452  func _cgt_pager_1(tls *crt.TLS, _nMs int32) {
  2453  	var _err XError
  2454  	var _db XSqlite
  2455  	var _xSub func(*crt.TLS, *XError, *XSqlite)
  2456  	_err = XError{}
  2457  	_db = XSqlite{}
  2458  	_opendb_x(tls, func() *XError {
  2459  		_err.XiLine = func() int32 {
  2460  			if _err.Xrc != 0 {
  2461  				return _err.XiLine
  2462  			}
  2463  			return int32(1289)
  2464  		}()
  2465  		return &_err
  2466  	}(), &_db, str(378), int32(1))
  2467  	_sql_script_x(tls, func() *XError {
  2468  		_err.XiLine = func() int32 {
  2469  			if _err.Xrc != 0 {
  2470  				return _err.XiLine
  2471  			}
  2472  			return int32(1290)
  2473  		}()
  2474  		return &_err
  2475  	}(), &_db, str(3276))
  2476  	_xSub = _cgt_pager_1_populate
  2477  	_xSub(tls, &_err, &_db)
  2478  	_xSub = _cgt_pager_1_update
  2479  	_xSub(tls, &_err, &_db)
  2480  	_xSub = _cgt_pager_1_read
  2481  	_xSub(tls, &_err, &_db)
  2482  	_closedb_x(tls, func() *XError {
  2483  		_err.XiLine = func() int32 {
  2484  			if _err.Xrc != 0 {
  2485  				return _err.XiLine
  2486  			}
  2487  			return int32(1300)
  2488  		}()
  2489  		return &_err
  2490  	}(), &_db)
  2491  	_print_and_free_err(tls, &_err)
  2492  }
  2493  
  2494  func _cgt_pager_1_populate(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) {
  2495  	var _iRow, _1_iBlob int64
  2496  	var _zInsert *int8
  2497  	_zInsert = str(3373)
  2498  	_sql_script_x(tls, func() *XError {
  2499  		_pErr.XiLine = func() int32 {
  2500  			if _pErr.Xrc != 0 {
  2501  				return _pErr.XiLine
  2502  			}
  2503  			return int32(1259)
  2504  		}()
  2505  		return _pErr
  2506  	}(), _pDb, str(767))
  2507  	_iRow = int64(1)
  2508  _2:
  2509  	if _iRow > int64(10000) {
  2510  		goto _5
  2511  	}
  2512  	_1_iBlob = int64(600) + (_iRow % int64(300))
  2513  	_execsql_i64_x(tls, func() *XError {
  2514  		_pErr.XiLine = func() int32 {
  2515  			if _pErr.Xrc != 0 {
  2516  				return _pErr.XiLine
  2517  			}
  2518  			return int32(1262)
  2519  		}()
  2520  		return _pErr
  2521  	}(), _pDb, unsafe.Pointer(_zInsert), unsafe.Pointer(&_iRow), unsafe.Pointer(&_1_iBlob))
  2522  	_iRow += 1
  2523  	goto _2
  2524  _5:
  2525  	_sql_script_x(tls, func() *XError {
  2526  		_pErr.XiLine = func() int32 {
  2527  			if _pErr.Xrc != 0 {
  2528  				return _pErr.XiLine
  2529  			}
  2530  			return int32(1264)
  2531  		}()
  2532  		return _pErr
  2533  	}(), _pDb, str(773))
  2534  }
  2535  
  2536  func _cgt_pager_1_update(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) {
  2537  	var _iRow, _1_iBlob int64
  2538  	var _zUpdate *int8
  2539  	_zUpdate = str(3420)
  2540  	_sql_script_x(tls, func() *XError {
  2541  		_pErr.XiLine = func() int32 {
  2542  			if _pErr.Xrc != 0 {
  2543  				return _pErr.XiLine
  2544  			}
  2545  			return int32(1269)
  2546  		}()
  2547  		return _pErr
  2548  	}(), _pDb, str(767))
  2549  	_iRow = int64(1)
  2550  _2:
  2551  	if _iRow > int64(10000) {
  2552  		goto _5
  2553  	}
  2554  	_1_iBlob = int64(600) + ((_iRow + int64(100)) % int64(300))
  2555  	_execsql_i64_x(tls, func() *XError {
  2556  		_pErr.XiLine = func() int32 {
  2557  			if _pErr.Xrc != 0 {
  2558  				return _pErr.XiLine
  2559  			}
  2560  			return int32(1272)
  2561  		}()
  2562  		return _pErr
  2563  	}(), _pDb, unsafe.Pointer(_zUpdate), unsafe.Pointer(&_1_iBlob), unsafe.Pointer(&_iRow))
  2564  	_iRow += 1
  2565  	goto _2
  2566  _5:
  2567  	_sql_script_x(tls, func() *XError {
  2568  		_pErr.XiLine = func() int32 {
  2569  			if _pErr.Xrc != 0 {
  2570  				return _pErr.XiLine
  2571  			}
  2572  			return int32(1274)
  2573  		}()
  2574  		return _pErr
  2575  	}(), _pDb, str(773))
  2576  }
  2577  
  2578  func _cgt_pager_1_read(tls *crt.TLS, _pErr *XError, _pDb *XSqlite) {
  2579  	var _iRow int64
  2580  	_sql_script_x(tls, func() *XError {
  2581  		_pErr.XiLine = func() int32 {
  2582  			if _pErr.Xrc != 0 {
  2583  				return _pErr.XiLine
  2584  			}
  2585  			return int32(1278)
  2586  		}()
  2587  		return _pErr
  2588  	}(), _pDb, str(767))
  2589  	_iRow = int64(1)
  2590  _2:
  2591  	if _iRow > int64(10000) {
  2592  		goto _5
  2593  	}
  2594  	_execsql_i64_x(tls, func() *XError {
  2595  		_pErr.XiLine = func() int32 {
  2596  			if _pErr.Xrc != 0 {
  2597  				return _pErr.XiLine
  2598  			}
  2599  			return int32(1280)
  2600  		}()
  2601  		return _pErr
  2602  	}(), _pDb, unsafe.Pointer(str(3471)), unsafe.Pointer(&_iRow))
  2603  	_iRow += 1
  2604  	goto _2
  2605  _5:
  2606  	_sql_script_x(tls, func() *XError {
  2607  		_pErr.XiLine = func() int32 {
  2608  			if _pErr.Xrc != 0 {
  2609  				return _pErr.XiLine
  2610  			}
  2611  			return int32(1282)
  2612  		}()
  2613  		return _pErr
  2614  	}(), _pDb, str(773))
  2615  }
  2616  
  2617  func _dynamic_triggers(tls *crt.TLS, _nMs int32) {
  2618  	var _err XError
  2619  	var _db XSqlite
  2620  	var _threads XThreadset
  2621  	_err = XError{}
  2622  	_db = XSqlite{}
  2623  	_threads = XThreadset{}
  2624  	_opendb_x(tls, func() *XError {
  2625  		_err.XiLine = func() int32 {
  2626  			if _err.Xrc != 0 {
  2627  				return _err.XiLine
  2628  			}
  2629  			return int32(1396)
  2630  		}()
  2631  		return &_err
  2632  	}(), &_db, str(378), int32(1))
  2633  	_sql_script_x(tls, func() *XError {
  2634  		_err.XiLine = func() int32 {
  2635  			if _err.Xrc != 0 {
  2636  				return _err.XiLine
  2637  			}
  2638  			return int32(1397)
  2639  		}()
  2640  		return &_err
  2641  	}(), &_db, str(3504))
  2642  	_closedb_x(tls, func() *XError {
  2643  		_err.XiLine = func() int32 {
  2644  			if _err.Xrc != 0 {
  2645  				return _err.XiLine
  2646  			}
  2647  			return int32(1410)
  2648  		}()
  2649  		return &_err
  2650  	}(), &_db)
  2651  	_setstoptime_x(tls, func() *XError {
  2652  		_err.XiLine = func() int32 {
  2653  			if _err.Xrc != 0 {
  2654  				return _err.XiLine
  2655  			}
  2656  			return int32(1412)
  2657  		}()
  2658  		return &_err
  2659  	}(), _nMs)
  2660  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  2661  	_launch_thread_x(tls, func() *XError {
  2662  		_err.XiLine = func() int32 {
  2663  			if _err.Xrc != 0 {
  2664  				return _err.XiLine
  2665  			}
  2666  			return int32(1415)
  2667  		}()
  2668  		return &_err
  2669  	}(), &_threads, _dynamic_triggers_2, nil)
  2670  	_launch_thread_x(tls, func() *XError {
  2671  		_err.XiLine = func() int32 {
  2672  			if _err.Xrc != 0 {
  2673  				return _err.XiLine
  2674  			}
  2675  			return int32(1416)
  2676  		}()
  2677  		return &_err
  2678  	}(), &_threads, _dynamic_triggers_2, nil)
  2679  	crt.Xsleep(tls, uint32(2))
  2680  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  2681  	_launch_thread_x(tls, func() *XError {
  2682  		_err.XiLine = func() int32 {
  2683  			if _err.Xrc != 0 {
  2684  				return _err.XiLine
  2685  			}
  2686  			return int32(1421)
  2687  		}()
  2688  		return &_err
  2689  	}(), &_threads, _dynamic_triggers_2, nil)
  2690  	_launch_thread_x(tls, func() *XError {
  2691  		_err.XiLine = func() int32 {
  2692  			if _err.Xrc != 0 {
  2693  				return _err.XiLine
  2694  			}
  2695  			return int32(1422)
  2696  		}()
  2697  		return &_err
  2698  	}(), &_threads, _dynamic_triggers_1, nil)
  2699  	_join_all_threads_x(tls, func() *XError {
  2700  		_err.XiLine = func() int32 {
  2701  			if _err.Xrc != 0 {
  2702  				return _err.XiLine
  2703  			}
  2704  			return int32(1424)
  2705  		}()
  2706  		return &_err
  2707  	}(), &_threads)
  2708  	_print_and_free_err(tls, &_err)
  2709  }
  2710  
  2711  func _dynamic_triggers_2(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  2712  	var _nInsert, _nDelete int32
  2713  	var _iVal int64
  2714  	var _err XError
  2715  	var _db XSqlite
  2716  	_err = XError{}
  2717  	_db = XSqlite{}
  2718  	_iVal = int64(0)
  2719  	_nInsert = int32(0)
  2720  	_nDelete = int32(0)
  2721  	_opendb_x(tls, func() *XError {
  2722  		_err.XiLine = func() int32 {
  2723  			if _err.Xrc != 0 {
  2724  				return _err.XiLine
  2725  			}
  2726  			return int32(1371)
  2727  		}()
  2728  		return &_err
  2729  	}(), &_db, str(378), int32(0))
  2730  _2:
  2731  	if _timetostop_x(tls, func() *XError {
  2732  		_err.XiLine = func() int32 {
  2733  			if _err.Xrc != 0 {
  2734  				return _err.XiLine
  2735  			}
  2736  			return int32(1372)
  2737  		}()
  2738  		return &_err
  2739  	}()) != 0 {
  2740  		goto _3
  2741  	}
  2742  _6:
  2743  	_iVal = (_iVal + int64(1)) % int64(100)
  2744  	_execsql_i64_x(tls, func() *XError {
  2745  		_err.XiLine = func() int32 {
  2746  			if _err.Xrc != 0 {
  2747  				return _err.XiLine
  2748  			}
  2749  			return int32(1375)
  2750  		}()
  2751  		return &_err
  2752  	}(), &_db, unsafe.Pointer(str(3753)), unsafe.Pointer(&_iVal), unsafe.Pointer(&_iVal))
  2753  	_nInsert += 1
  2754  	if _iVal != 0 {
  2755  		goto _6
  2756  	}
  2757  _9:
  2758  	_iVal = (_iVal + int64(1)) % int64(100)
  2759  	_execsql_i64_x(tls, func() *XError {
  2760  		_err.XiLine = func() int32 {
  2761  			if _err.Xrc != 0 {
  2762  				return _err.XiLine
  2763  			}
  2764  			return int32(1381)
  2765  		}()
  2766  		return &_err
  2767  	}(), &_db, unsafe.Pointer(str(3787)), unsafe.Pointer(&_iVal))
  2768  	_nDelete += 1
  2769  	if _iVal != 0 {
  2770  		goto _9
  2771  	}
  2772  	goto _2
  2773  _3:
  2774  	_closedb_x(tls, func() *XError {
  2775  		_err.XiLine = func() int32 {
  2776  			if _err.Xrc != 0 {
  2777  				return _err.XiLine
  2778  			}
  2779  			return int32(1385)
  2780  		}()
  2781  		return &_err
  2782  	}(), &_db)
  2783  	_print_and_free_err(tls, &_err)
  2784  	return bin.Xsqlite3_mprintf(tls, str(3816), _nInsert, _nDelete)
  2785  }
  2786  
  2787  func _dynamic_triggers_1(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  2788  	var _nDrop, _nCreate, _1_i int32
  2789  	var _2_zSql, _3_zSql, _4_zSql, _5_zSql *int8
  2790  	var _err XError
  2791  	var _db XSqlite
  2792  	_err = XError{}
  2793  	_db = XSqlite{}
  2794  	_nDrop = int32(0)
  2795  	_nCreate = int32(0)
  2796  	_opendb_x(tls, func() *XError {
  2797  		_err.XiLine = func() int32 {
  2798  			if _err.Xrc != 0 {
  2799  				return _err.XiLine
  2800  			}
  2801  			return int32(1318)
  2802  		}()
  2803  		return &_err
  2804  	}(), &_db, str(378), int32(0))
  2805  _2:
  2806  	if _timetostop_x(tls, func() *XError {
  2807  		_err.XiLine = func() int32 {
  2808  			if _err.Xrc != 0 {
  2809  				return _err.XiLine
  2810  			}
  2811  			return int32(1319)
  2812  		}()
  2813  		return &_err
  2814  	}()) != 0 {
  2815  		goto _3
  2816  	}
  2817  	_1_i = int32(1)
  2818  _6:
  2819  	if _1_i >= int32(9) {
  2820  		goto _9
  2821  	}
  2822  	_2_zSql = bin.Xsqlite3_mprintf(tls, str(3839), _1_i, _1_i, _1_i+int32(1))
  2823  	_execsql_i64_x(tls, func() *XError {
  2824  		_err.XiLine = func() int32 {
  2825  			if _err.Xrc != 0 {
  2826  				return _err.XiLine
  2827  			}
  2828  			return int32(1328)
  2829  		}()
  2830  		return &_err
  2831  	}(), &_db, unsafe.Pointer(_2_zSql))
  2832  	bin.Xsqlite3_free(tls, unsafe.Pointer(_2_zSql))
  2833  	_nCreate += 1
  2834  	_1_i += 1
  2835  	goto _6
  2836  _9:
  2837  	_1_i = int32(1)
  2838  _12:
  2839  	if _1_i >= int32(9) {
  2840  		goto _15
  2841  	}
  2842  	_3_zSql = bin.Xsqlite3_mprintf(tls, str(3929), _1_i, _1_i, _1_i+int32(1))
  2843  	_execsql_i64_x(tls, func() *XError {
  2844  		_err.XiLine = func() int32 {
  2845  			if _err.Xrc != 0 {
  2846  				return _err.XiLine
  2847  			}
  2848  			return int32(1339)
  2849  		}()
  2850  		return &_err
  2851  	}(), &_db, unsafe.Pointer(_3_zSql))
  2852  	bin.Xsqlite3_free(tls, unsafe.Pointer(_3_zSql))
  2853  	_nCreate += 1
  2854  	_1_i += 1
  2855  	goto _12
  2856  _15:
  2857  	_1_i = int32(1)
  2858  _18:
  2859  	if _1_i >= int32(9) {
  2860  		goto _21
  2861  	}
  2862  	_4_zSql = bin.Xsqlite3_mprintf(tls, str(4015), _1_i)
  2863  	_execsql_i64_x(tls, func() *XError {
  2864  		_err.XiLine = func() int32 {
  2865  			if _err.Xrc != 0 {
  2866  				return _err.XiLine
  2867  			}
  2868  			return int32(1346)
  2869  		}()
  2870  		return &_err
  2871  	}(), &_db, unsafe.Pointer(_4_zSql))
  2872  	bin.Xsqlite3_free(tls, unsafe.Pointer(_4_zSql))
  2873  	_nDrop += 1
  2874  	_1_i += 1
  2875  	goto _18
  2876  _21:
  2877  	_1_i = int32(1)
  2878  _24:
  2879  	if _1_i >= int32(9) {
  2880  		goto _27
  2881  	}
  2882  	_5_zSql = bin.Xsqlite3_mprintf(tls, str(4034), _1_i)
  2883  	_execsql_i64_x(tls, func() *XError {
  2884  		_err.XiLine = func() int32 {
  2885  			if _err.Xrc != 0 {
  2886  				return _err.XiLine
  2887  			}
  2888  			return int32(1353)
  2889  		}()
  2890  		return &_err
  2891  	}(), &_db, unsafe.Pointer(_5_zSql))
  2892  	bin.Xsqlite3_free(tls, unsafe.Pointer(_5_zSql))
  2893  	_nDrop += 1
  2894  	_1_i += 1
  2895  	goto _24
  2896  _27:
  2897  	goto _2
  2898  _3:
  2899  	_closedb_x(tls, func() *XError {
  2900  		_err.XiLine = func() int32 {
  2901  			if _err.Xrc != 0 {
  2902  				return _err.XiLine
  2903  			}
  2904  			return int32(1358)
  2905  		}()
  2906  		return &_err
  2907  	}(), &_db)
  2908  	_print_and_free_err(tls, &_err)
  2909  	return bin.Xsqlite3_mprintf(tls, str(4053), _nCreate, _nDrop)
  2910  }
  2911  
  2912  func _checkpoint_starvation_1(tls *crt.TLS, _nMs int32) {
  2913  	var _err XError
  2914  	var _ctx XCheckpointStarvationCtx
  2915  	_err = XError{}
  2916  	_ctx = XCheckpointStarvationCtx{}
  2917  	_checkpoint_starvation_main(tls, _nMs, &_ctx)
  2918  	if _ctx.XnMaxFrame < int32(500) {
  2919  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4076), _ctx.XnMaxFrame))
  2920  	}
  2921  	_print_and_free_err(tls, &_err)
  2922  }
  2923  
  2924  func _checkpoint_starvation_main(tls *crt.TLS, _nMs int32, _p *XCheckpointStarvationCtx) {
  2925  	var _nInsert, _i int32
  2926  	var _err XError
  2927  	var _db XSqlite
  2928  	var _threads XThreadset
  2929  	_err = XError{}
  2930  	_db = XSqlite{}
  2931  	_threads = XThreadset{}
  2932  	_nInsert = int32(0)
  2933  	_opendb_x(tls, func() *XError {
  2934  		_err.XiLine = func() int32 {
  2935  			if _err.Xrc != 0 {
  2936  				return _err.XiLine
  2937  			}
  2938  			return int32(99)
  2939  		}()
  2940  		return &_err
  2941  	}(), &_db, str(378), int32(1))
  2942  	_sql_script_x(tls, func() *XError {
  2943  		_err.XiLine = func() int32 {
  2944  			if _err.Xrc != 0 {
  2945  				return _err.XiLine
  2946  			}
  2947  			return int32(100)
  2948  		}()
  2949  		return &_err
  2950  	}(), &_db, str(4107))
  2951  	_setstoptime_x(tls, func() *XError {
  2952  		_err.XiLine = func() int32 {
  2953  			if _err.Xrc != 0 {
  2954  				return _err.XiLine
  2955  			}
  2956  			return int32(106)
  2957  		}()
  2958  		return &_err
  2959  	}(), _nMs)
  2960  	_i = int32(0)
  2961  _6:
  2962  	if _i >= int32(4) {
  2963  		goto _9
  2964  	}
  2965  	_launch_thread_x(tls, func() *XError {
  2966  		_err.XiLine = func() int32 {
  2967  			if _err.Xrc != 0 {
  2968  				return _err.XiLine
  2969  			}
  2970  			return int32(109)
  2971  		}()
  2972  		return &_err
  2973  	}(), &_threads, _checkpoint_starvation_reader, nil)
  2974  	crt.Xusleep(tls, uint32(25000))
  2975  	_i += 1
  2976  	goto _6
  2977  _9:
  2978  	bin.Xsqlite3_wal_hook(tls, (*bin.Xsqlite3)(_db.Xdb), func() func(*crt.TLS, unsafe.Pointer, *bin.Xsqlite3, *int8, int32) int32 {
  2979  		v := _checkpoint_starvation_walhook
  2980  		return *(*func(*crt.TLS, unsafe.Pointer, *bin.Xsqlite3, *int8, int32) int32)(unsafe.Pointer(&v))
  2981  	}(), unsafe.Pointer(_p))
  2982  _12:
  2983  	if _timetostop_x(tls, func() *XError {
  2984  		_err.XiLine = func() int32 {
  2985  			if _err.Xrc != 0 {
  2986  				return _err.XiLine
  2987  			}
  2988  			return int32(114)
  2989  		}()
  2990  		return &_err
  2991  	}()) == 0 {
  2992  		_sql_script_x(tls, func() *XError {
  2993  			_err.XiLine = func() int32 {
  2994  				if _err.Xrc != 0 {
  2995  					return _err.XiLine
  2996  				}
  2997  				return int32(115)
  2998  			}()
  2999  			return &_err
  3000  		}(), &_db, str(4177))
  3001  		_nInsert += 1
  3002  		goto _12
  3003  	}
  3004  	crt.Xprintf(tls, str(4217), unsafe.Pointer(func() *int8 {
  3005  		if _p.XeMode == int32(0) {
  3006  			return str(4241)
  3007  		}
  3008  		return str(4249)
  3009  	}()))
  3010  	crt.Xprintf(tls, str(4257), _p.XnMaxFrame)
  3011  	crt.Xprintf(tls, str(4288), _nInsert)
  3012  	_join_all_threads_x(tls, func() *XError {
  3013  		_err.XiLine = func() int32 {
  3014  			if _err.Xrc != 0 {
  3015  				return _err.XiLine
  3016  			}
  3017  			return int32(125)
  3018  		}()
  3019  		return &_err
  3020  	}(), &_threads)
  3021  	_closedb_x(tls, func() *XError {
  3022  		_err.XiLine = func() int32 {
  3023  			if _err.Xrc != 0 {
  3024  				return _err.XiLine
  3025  			}
  3026  			return int32(126)
  3027  		}()
  3028  		return &_err
  3029  	}(), &_db)
  3030  	_print_and_free_err(tls, &_err)
  3031  }
  3032  
  3033  func _checkpoint_starvation_reader(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3034  	var _1_iCount1, _1_iCount2 int64
  3035  	var _err XError
  3036  	var _db XSqlite
  3037  	_err = XError{}
  3038  	_db = XSqlite{}
  3039  	_opendb_x(tls, func() *XError {
  3040  		_err.XiLine = func() int32 {
  3041  			if _err.Xrc != 0 {
  3042  				return _err.XiLine
  3043  			}
  3044  			return int32(73)
  3045  		}()
  3046  		return &_err
  3047  	}(), &_db, str(378), int32(0))
  3048  _2:
  3049  	if _timetostop_x(tls, func() *XError {
  3050  		_err.XiLine = func() int32 {
  3051  			if _err.Xrc != 0 {
  3052  				return _err.XiLine
  3053  			}
  3054  			return int32(74)
  3055  		}()
  3056  		return &_err
  3057  	}()) != 0 {
  3058  		goto _3
  3059  	}
  3060  	_sql_script_x(tls, func() *XError {
  3061  		_err.XiLine = func() int32 {
  3062  			if _err.Xrc != 0 {
  3063  				return _err.XiLine
  3064  			}
  3065  			return int32(76)
  3066  		}()
  3067  		return &_err
  3068  	}(), &_db, str(767))
  3069  	_1_iCount1 = _execsql_i64_x(tls, func() *XError {
  3070  		_err.XiLine = func() int32 {
  3071  			if _err.Xrc != 0 {
  3072  				return _err.XiLine
  3073  			}
  3074  			return int32(77)
  3075  		}()
  3076  		return &_err
  3077  	}(), &_db, unsafe.Pointer(str(4325)))
  3078  	crt.Xusleep(tls, uint32(100000))
  3079  	_1_iCount2 = _execsql_i64_x(tls, func() *XError {
  3080  		_err.XiLine = func() int32 {
  3081  			if _err.Xrc != 0 {
  3082  				return _err.XiLine
  3083  			}
  3084  			return int32(79)
  3085  		}()
  3086  		return &_err
  3087  	}(), &_db, unsafe.Pointer(str(4325)))
  3088  	_sql_script_x(tls, func() *XError {
  3089  		_err.XiLine = func() int32 {
  3090  			if _err.Xrc != 0 {
  3091  				return _err.XiLine
  3092  			}
  3093  			return int32(80)
  3094  		}()
  3095  		return &_err
  3096  	}(), &_db, str(773))
  3097  	if _1_iCount1 != _1_iCount2 {
  3098  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4349), _1_iCount1, _1_iCount2))
  3099  	}
  3100  	goto _2
  3101  _3:
  3102  	_closedb_x(tls, func() *XError {
  3103  		_err.XiLine = func() int32 {
  3104  			if _err.Xrc != 0 {
  3105  				return _err.XiLine
  3106  			}
  3107  			return int32(86)
  3108  		}()
  3109  		return &_err
  3110  	}(), &_db)
  3111  	_print_and_free_err(tls, &_err)
  3112  	return nil
  3113  }
  3114  
  3115  func _checkpoint_starvation_walhook(tls *crt.TLS, _pCtx unsafe.Pointer, _db unsafe.Pointer, _zDb *int8, _nFrame int32) (r0 int32) {
  3116  	var _p *XCheckpointStarvationCtx
  3117  	_p = (*XCheckpointStarvationCtx)(_pCtx)
  3118  	if _nFrame > _p.XnMaxFrame {
  3119  		_p.XnMaxFrame = _nFrame
  3120  	}
  3121  	if _nFrame >= int32(50) {
  3122  		bin.Xsqlite3_wal_checkpoint_v2(tls, (*bin.Xsqlite3)(_db), _zDb, _p.XeMode, nil, nil)
  3123  	}
  3124  	return int32(0)
  3125  }
  3126  
  3127  func _checkpoint_starvation_2(tls *crt.TLS, _nMs int32) {
  3128  	var _err XError
  3129  	var _ctx XCheckpointStarvationCtx
  3130  	_err = XError{}
  3131  	_ctx = XCheckpointStarvationCtx{XeMode: int32(2)}
  3132  	_checkpoint_starvation_main(tls, _nMs, &_ctx)
  3133  	if _ctx.XnMaxFrame > int32(60) {
  3134  		_test_error_x(tls, &_err, bin.Xsqlite3_mprintf(tls, str(4379), _ctx.XnMaxFrame))
  3135  	}
  3136  	_print_and_free_err(tls, &_err)
  3137  }
  3138  
  3139  func _create_drop_index_1(tls *crt.TLS, _nMs int32) {
  3140  	var _err XError
  3141  	var _db XSqlite
  3142  	var _threads XThreadset
  3143  	_err = XError{}
  3144  	_db = XSqlite{}
  3145  	_threads = XThreadset{}
  3146  	_opendb_x(tls, func() *XError {
  3147  		_err.XiLine = func() int32 {
  3148  			if _err.Xrc != 0 {
  3149  				return _err.XiLine
  3150  			}
  3151  			return int32(54)
  3152  		}()
  3153  		return &_err
  3154  	}(), &_db, str(378), int32(1))
  3155  	_sql_script_x(tls, func() *XError {
  3156  		_err.XiLine = func() int32 {
  3157  			if _err.Xrc != 0 {
  3158  				return _err.XiLine
  3159  			}
  3160  			return int32(55)
  3161  		}()
  3162  		return &_err
  3163  	}(), &_db, str(4410))
  3164  	_closedb_x(tls, func() *XError {
  3165  		_err.XiLine = func() int32 {
  3166  			if _err.Xrc != 0 {
  3167  				return _err.XiLine
  3168  			}
  3169  			return int32(60)
  3170  		}()
  3171  		return &_err
  3172  	}(), &_db)
  3173  	_setstoptime_x(tls, func() *XError {
  3174  		_err.XiLine = func() int32 {
  3175  			if _err.Xrc != 0 {
  3176  				return _err.XiLine
  3177  			}
  3178  			return int32(62)
  3179  		}()
  3180  		return &_err
  3181  	}(), _nMs)
  3182  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  3183  	_launch_thread_x(tls, func() *XError {
  3184  		_err.XiLine = func() int32 {
  3185  			if _err.Xrc != 0 {
  3186  				return _err.XiLine
  3187  			}
  3188  			return int32(65)
  3189  		}()
  3190  		return &_err
  3191  	}(), &_threads, _create_drop_index_thread, nil)
  3192  	_launch_thread_x(tls, func() *XError {
  3193  		_err.XiLine = func() int32 {
  3194  			if _err.Xrc != 0 {
  3195  				return _err.XiLine
  3196  			}
  3197  			return int32(66)
  3198  		}()
  3199  		return &_err
  3200  	}(), &_threads, _create_drop_index_thread, nil)
  3201  	_launch_thread_x(tls, func() *XError {
  3202  		_err.XiLine = func() int32 {
  3203  			if _err.Xrc != 0 {
  3204  				return _err.XiLine
  3205  			}
  3206  			return int32(67)
  3207  		}()
  3208  		return &_err
  3209  	}(), &_threads, _create_drop_index_thread, nil)
  3210  	_launch_thread_x(tls, func() *XError {
  3211  		_err.XiLine = func() int32 {
  3212  			if _err.Xrc != 0 {
  3213  				return _err.XiLine
  3214  			}
  3215  			return int32(68)
  3216  		}()
  3217  		return &_err
  3218  	}(), &_threads, _create_drop_index_thread, nil)
  3219  	_launch_thread_x(tls, func() *XError {
  3220  		_err.XiLine = func() int32 {
  3221  			if _err.Xrc != 0 {
  3222  				return _err.XiLine
  3223  			}
  3224  			return int32(69)
  3225  		}()
  3226  		return &_err
  3227  	}(), &_threads, _create_drop_index_thread, nil)
  3228  	_join_all_threads_x(tls, func() *XError {
  3229  		_err.XiLine = func() int32 {
  3230  			if _err.Xrc != 0 {
  3231  				return _err.XiLine
  3232  			}
  3233  			return int32(71)
  3234  		}()
  3235  		return &_err
  3236  	}(), &_threads)
  3237  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  3238  	_print_and_free_err(tls, &_err)
  3239  }
  3240  
  3241  func _create_drop_index_thread(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3242  	var _err XError
  3243  	var _db XSqlite
  3244  	_err = XError{}
  3245  	_db = XSqlite{}
  3246  _0:
  3247  	if _timetostop_x(tls, func() *XError {
  3248  		_err.XiLine = func() int32 {
  3249  			if _err.Xrc != 0 {
  3250  				return _err.XiLine
  3251  			}
  3252  			return int32(21)
  3253  		}()
  3254  		return &_err
  3255  	}()) == 0 {
  3256  		_opendb_x(tls, func() *XError {
  3257  			_err.XiLine = func() int32 {
  3258  				if _err.Xrc != 0 {
  3259  					return _err.XiLine
  3260  				}
  3261  				return int32(22)
  3262  			}()
  3263  			return &_err
  3264  		}(), &_db, str(378), int32(0))
  3265  		_sql_script_x(tls, func() *XError {
  3266  			_err.XiLine = func() int32 {
  3267  				if _err.Xrc != 0 {
  3268  					return _err.XiLine
  3269  				}
  3270  				return int32(24)
  3271  			}()
  3272  			return &_err
  3273  		}(), &_db, str(4551))
  3274  		_clear_error_x(tls, &_err, int32(6))
  3275  		_closedb_x(tls, func() *XError {
  3276  			_err.XiLine = func() int32 {
  3277  				if _err.Xrc != 0 {
  3278  					return _err.XiLine
  3279  				}
  3280  				return int32(42)
  3281  			}()
  3282  			return &_err
  3283  		}(), &_db)
  3284  		goto _0
  3285  	}
  3286  	_print_and_free_err(tls, &_err)
  3287  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3288  }
  3289  
  3290  func _lookaside1(tls *crt.TLS, _nMs int32) {
  3291  	var _err XError
  3292  	var _db XSqlite
  3293  	var _threads XThreadset
  3294  	_err = XError{}
  3295  	_db = XSqlite{}
  3296  	_threads = XThreadset{}
  3297  	_opendb_x(tls, func() *XError {
  3298  		_err.XiLine = func() int32 {
  3299  			if _err.Xrc != 0 {
  3300  				return _err.XiLine
  3301  			}
  3302  			return int32(71)
  3303  		}()
  3304  		return &_err
  3305  	}(), &_db, str(378), int32(1))
  3306  	_sql_script_x(tls, func() *XError {
  3307  		_err.XiLine = func() int32 {
  3308  			if _err.Xrc != 0 {
  3309  				return _err.XiLine
  3310  			}
  3311  			return int32(72)
  3312  		}()
  3313  		return &_err
  3314  	}(), &_db, str(4924))
  3315  	_closedb_x(tls, func() *XError {
  3316  		_err.XiLine = func() int32 {
  3317  			if _err.Xrc != 0 {
  3318  				return _err.XiLine
  3319  			}
  3320  			return int32(85)
  3321  		}()
  3322  		return &_err
  3323  	}(), &_db)
  3324  	_setstoptime_x(tls, func() *XError {
  3325  		_err.XiLine = func() int32 {
  3326  			if _err.Xrc != 0 {
  3327  				return _err.XiLine
  3328  			}
  3329  			return int32(87)
  3330  		}()
  3331  		return &_err
  3332  	}(), _nMs)
  3333  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  3334  	_launch_thread_x(tls, func() *XError {
  3335  		_err.XiLine = func() int32 {
  3336  			if _err.Xrc != 0 {
  3337  				return _err.XiLine
  3338  			}
  3339  			return int32(90)
  3340  		}()
  3341  		return &_err
  3342  	}(), &_threads, _lookaside1_thread_reader, nil)
  3343  	_launch_thread_x(tls, func() *XError {
  3344  		_err.XiLine = func() int32 {
  3345  			if _err.Xrc != 0 {
  3346  				return _err.XiLine
  3347  			}
  3348  			return int32(91)
  3349  		}()
  3350  		return &_err
  3351  	}(), &_threads, _lookaside1_thread_reader, nil)
  3352  	_launch_thread_x(tls, func() *XError {
  3353  		_err.XiLine = func() int32 {
  3354  			if _err.Xrc != 0 {
  3355  				return _err.XiLine
  3356  			}
  3357  			return int32(92)
  3358  		}()
  3359  		return &_err
  3360  	}(), &_threads, _lookaside1_thread_reader, nil)
  3361  	_launch_thread_x(tls, func() *XError {
  3362  		_err.XiLine = func() int32 {
  3363  			if _err.Xrc != 0 {
  3364  				return _err.XiLine
  3365  			}
  3366  			return int32(93)
  3367  		}()
  3368  		return &_err
  3369  	}(), &_threads, _lookaside1_thread_reader, nil)
  3370  	_launch_thread_x(tls, func() *XError {
  3371  		_err.XiLine = func() int32 {
  3372  			if _err.Xrc != 0 {
  3373  				return _err.XiLine
  3374  			}
  3375  			return int32(94)
  3376  		}()
  3377  		return &_err
  3378  	}(), &_threads, _lookaside1_thread_reader, nil)
  3379  	_launch_thread_x(tls, func() *XError {
  3380  		_err.XiLine = func() int32 {
  3381  			if _err.Xrc != 0 {
  3382  				return _err.XiLine
  3383  			}
  3384  			return int32(95)
  3385  		}()
  3386  		return &_err
  3387  	}(), &_threads, _lookaside1_thread_writer, nil)
  3388  	_join_all_threads_x(tls, func() *XError {
  3389  		_err.XiLine = func() int32 {
  3390  			if _err.Xrc != 0 {
  3391  				return _err.XiLine
  3392  			}
  3393  			return int32(96)
  3394  		}()
  3395  		return &_err
  3396  	}(), &_threads)
  3397  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  3398  	_print_and_free_err(tls, &_err)
  3399  }
  3400  
  3401  func _lookaside1_thread_reader(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3402  	var _1_rc int32
  3403  	var _1_pStmt unsafe.Pointer
  3404  	var _err XError
  3405  	var _db XSqlite
  3406  	_err = XError{}
  3407  	_db = XSqlite{}
  3408  	_opendb_x(tls, func() *XError {
  3409  		_err.XiLine = func() int32 {
  3410  			if _err.Xrc != 0 {
  3411  				return _err.XiLine
  3412  			}
  3413  			return int32(25)
  3414  		}()
  3415  		return &_err
  3416  	}(), &_db, str(378), int32(0))
  3417  _2:
  3418  	if _timetostop_x(tls, func() *XError {
  3419  		_err.XiLine = func() int32 {
  3420  			if _err.Xrc != 0 {
  3421  				return _err.XiLine
  3422  			}
  3423  			return int32(27)
  3424  		}()
  3425  		return &_err
  3426  	}()) != 0 {
  3427  		goto _3
  3428  	}
  3429  	_1_pStmt = nil
  3430  	bin.Xsqlite3_prepare_v2(tls, (*bin.Xsqlite3)(_db.Xdb), str(5276), int32(-1), &_1_pStmt, nil)
  3431  _6:
  3432  	if bin.Xsqlite3_step(tls, _1_pStmt) == int32(100) {
  3433  		_execsql_i64_x(tls, func() *XError {
  3434  			_err.XiLine = func() int32 {
  3435  				if _err.Xrc != 0 {
  3436  					return _err.XiLine
  3437  				}
  3438  				return int32(33)
  3439  			}()
  3440  			return &_err
  3441  		}(), &_db, unsafe.Pointer(str(5293)))
  3442  		goto _6
  3443  	}
  3444  	_1_rc = bin.Xsqlite3_finalize(tls, _1_pStmt)
  3445  	if (_err.Xrc == int32(0)) && (_1_rc != int32(0)) {
  3446  		_sqlite_error(tls, &_err, &_db, str(5324))
  3447  	}
  3448  	goto _2
  3449  _3:
  3450  	_closedb_x(tls, func() *XError {
  3451  		_err.XiLine = func() int32 {
  3452  			if _err.Xrc != 0 {
  3453  				return _err.XiLine
  3454  			}
  3455  			return int32(41)
  3456  		}()
  3457  		return &_err
  3458  	}(), &_db)
  3459  	_print_and_free_err(tls, &_err)
  3460  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3461  }
  3462  
  3463  func _lookaside1_thread_writer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3464  	var _err XError
  3465  	var _db XSqlite
  3466  	_err = XError{}
  3467  	_db = XSqlite{}
  3468  	_opendb_x(tls, func() *XError {
  3469  		_err.XiLine = func() int32 {
  3470  			if _err.Xrc != 0 {
  3471  				return _err.XiLine
  3472  			}
  3473  			return int32(50)
  3474  		}()
  3475  		return &_err
  3476  	}(), &_db, str(378), int32(0))
  3477  _2:
  3478  	_sql_script_x(tls, func() *XError {
  3479  		_err.XiLine = func() int32 {
  3480  			if _err.Xrc != 0 {
  3481  				return _err.XiLine
  3482  			}
  3483  			return int32(53)
  3484  		}()
  3485  		return &_err
  3486  	}(), &_db, str(5333))
  3487  	if _timetostop_x(tls, func() *XError {
  3488  		_err.XiLine = func() int32 {
  3489  			if _err.Xrc != 0 {
  3490  				return _err.XiLine
  3491  			}
  3492  			return int32(58)
  3493  		}()
  3494  		return &_err
  3495  	}()) == 0 {
  3496  		goto _2
  3497  	}
  3498  	_closedb_x(tls, func() *XError {
  3499  		_err.XiLine = func() int32 {
  3500  			if _err.Xrc != 0 {
  3501  				return _err.XiLine
  3502  			}
  3503  			return int32(60)
  3504  		}()
  3505  		return &_err
  3506  	}(), &_db)
  3507  	_print_and_free_err(tls, &_err)
  3508  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3509  }
  3510  
  3511  func _vacuum1(tls *crt.TLS, _nMs int32) {
  3512  	var _err XError
  3513  	var _db XSqlite
  3514  	var _threads XThreadset
  3515  	_err = XError{}
  3516  	_db = XSqlite{}
  3517  	_threads = XThreadset{}
  3518  	_opendb_x(tls, func() *XError {
  3519  		_err.XiLine = func() int32 {
  3520  			if _err.Xrc != 0 {
  3521  				return _err.XiLine
  3522  			}
  3523  			return int32(72)
  3524  		}()
  3525  		return &_err
  3526  	}(), &_db, str(378), int32(1))
  3527  	_sql_script_x(tls, func() *XError {
  3528  		_err.XiLine = func() int32 {
  3529  			if _err.Xrc != 0 {
  3530  				return _err.XiLine
  3531  			}
  3532  			return int32(73)
  3533  		}()
  3534  		return &_err
  3535  	}(), &_db, str(5379))
  3536  	_closedb_x(tls, func() *XError {
  3537  		_err.XiLine = func() int32 {
  3538  			if _err.Xrc != 0 {
  3539  				return _err.XiLine
  3540  			}
  3541  			return int32(77)
  3542  		}()
  3543  		return &_err
  3544  	}(), &_db)
  3545  	_setstoptime_x(tls, func() *XError {
  3546  		_err.XiLine = func() int32 {
  3547  			if _err.Xrc != 0 {
  3548  				return _err.XiLine
  3549  			}
  3550  			return int32(79)
  3551  		}()
  3552  		return &_err
  3553  	}(), _nMs)
  3554  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  3555  	_launch_thread_x(tls, func() *XError {
  3556  		_err.XiLine = func() int32 {
  3557  			if _err.Xrc != 0 {
  3558  				return _err.XiLine
  3559  			}
  3560  			return int32(82)
  3561  		}()
  3562  		return &_err
  3563  	}(), &_threads, _vacuum1_thread_writer, nil)
  3564  	_launch_thread_x(tls, func() *XError {
  3565  		_err.XiLine = func() int32 {
  3566  			if _err.Xrc != 0 {
  3567  				return _err.XiLine
  3568  			}
  3569  			return int32(83)
  3570  		}()
  3571  		return &_err
  3572  	}(), &_threads, _vacuum1_thread_writer, nil)
  3573  	_launch_thread_x(tls, func() *XError {
  3574  		_err.XiLine = func() int32 {
  3575  			if _err.Xrc != 0 {
  3576  				return _err.XiLine
  3577  			}
  3578  			return int32(84)
  3579  		}()
  3580  		return &_err
  3581  	}(), &_threads, _vacuum1_thread_writer, nil)
  3582  	_launch_thread_x(tls, func() *XError {
  3583  		_err.XiLine = func() int32 {
  3584  			if _err.Xrc != 0 {
  3585  				return _err.XiLine
  3586  			}
  3587  			return int32(85)
  3588  		}()
  3589  		return &_err
  3590  	}(), &_threads, _vacuum1_thread_vacuumer, nil)
  3591  	_join_all_threads_x(tls, func() *XError {
  3592  		_err.XiLine = func() int32 {
  3593  			if _err.Xrc != 0 {
  3594  				return _err.XiLine
  3595  			}
  3596  			return int32(86)
  3597  		}()
  3598  		return &_err
  3599  	}(), &_threads)
  3600  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  3601  	_print_and_free_err(tls, &_err)
  3602  }
  3603  
  3604  func _vacuum1_thread_writer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3605  	var _i int64
  3606  	var _err XError
  3607  	var _db XSqlite
  3608  	_err = XError{}
  3609  	_db = XSqlite{}
  3610  	_opendb_x(tls, func() *XError {
  3611  		_err.XiLine = func() int32 {
  3612  			if _err.Xrc != 0 {
  3613  				return _err.XiLine
  3614  			}
  3615  			return int32(26)
  3616  		}()
  3617  		return &_err
  3618  	}(), &_db, str(378), int32(0))
  3619  	_i = int64(0)
  3620  _2:
  3621  	if _timetostop_x(tls, func() *XError {
  3622  		_err.XiLine = func() int32 {
  3623  			if _err.Xrc != 0 {
  3624  				return _err.XiLine
  3625  			}
  3626  			return int32(29)
  3627  		}()
  3628  		return &_err
  3629  	}()) == 0 {
  3630  		_i += 1
  3631  		_execsql_i64_x(tls, func() *XError {
  3632  			_err.XiLine = func() int32 {
  3633  				if _err.Xrc != 0 {
  3634  					return _err.XiLine
  3635  				}
  3636  				return int32(33)
  3637  			}()
  3638  			return &_err
  3639  		}(), &_db, unsafe.Pointer(str(5444)))
  3640  		_execsql_i64_x(tls, func() *XError {
  3641  			_err.XiLine = func() int32 {
  3642  				if _err.Xrc != 0 {
  3643  					return _err.XiLine
  3644  				}
  3645  				return int32(39)
  3646  			}()
  3647  			return &_err
  3648  		}(), &_db, unsafe.Pointer(str(5579)), unsafe.Pointer(&_i))
  3649  		_clear_error_x(tls, &_err, int32(6))
  3650  		_execsql_i64_x(tls, func() *XError {
  3651  			_err.XiLine = func() int32 {
  3652  				if _err.Xrc != 0 {
  3653  					return _err.XiLine
  3654  				}
  3655  				return int32(43)
  3656  			}()
  3657  			return &_err
  3658  		}(), &_db, unsafe.Pointer(str(5611)))
  3659  		_clear_error_x(tls, &_err, int32(6))
  3660  		goto _2
  3661  	}
  3662  	_closedb_x(tls, func() *XError {
  3663  		_err.XiLine = func() int32 {
  3664  			if _err.Xrc != 0 {
  3665  				return _err.XiLine
  3666  			}
  3667  			return int32(47)
  3668  		}()
  3669  		return &_err
  3670  	}(), &_db)
  3671  	_print_and_free_err(tls, &_err)
  3672  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3673  }
  3674  
  3675  func _vacuum1_thread_vacuumer(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3676  	var _err XError
  3677  	var _db XSqlite
  3678  	_err = XError{}
  3679  	_db = XSqlite{}
  3680  	_opendb_x(tls, func() *XError {
  3681  		_err.XiLine = func() int32 {
  3682  			if _err.Xrc != 0 {
  3683  				return _err.XiLine
  3684  			}
  3685  			return int32(55)
  3686  		}()
  3687  		return &_err
  3688  	}(), &_db, str(378), int32(0))
  3689  _2:
  3690  	_sql_script_x(tls, func() *XError {
  3691  		_err.XiLine = func() int32 {
  3692  			if _err.Xrc != 0 {
  3693  				return _err.XiLine
  3694  			}
  3695  			return int32(58)
  3696  		}()
  3697  		return &_err
  3698  	}(), &_db, str(5639))
  3699  	_clear_error_x(tls, &_err, int32(6))
  3700  	if _timetostop_x(tls, func() *XError {
  3701  		_err.XiLine = func() int32 {
  3702  			if _err.Xrc != 0 {
  3703  				return _err.XiLine
  3704  			}
  3705  			return int32(60)
  3706  		}()
  3707  		return &_err
  3708  	}()) == 0 {
  3709  		goto _2
  3710  	}
  3711  	_closedb_x(tls, func() *XError {
  3712  		_err.XiLine = func() int32 {
  3713  			if _err.Xrc != 0 {
  3714  				return _err.XiLine
  3715  			}
  3716  			return int32(62)
  3717  		}()
  3718  		return &_err
  3719  	}(), &_db)
  3720  	_print_and_free_err(tls, &_err)
  3721  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3722  }
  3723  
  3724  func _stress1(tls *crt.TLS, _nMs int32) {
  3725  	var _err XError
  3726  	var _threads XThreadset
  3727  	_err = XError{}
  3728  	_threads = XThreadset{}
  3729  	_setstoptime_x(tls, func() *XError {
  3730  		_err.XiLine = func() int32 {
  3731  			if _err.Xrc != 0 {
  3732  				return _err.XiLine
  3733  			}
  3734  			return int32(138)
  3735  		}()
  3736  		return &_err
  3737  	}(), _nMs)
  3738  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  3739  	_launch_thread_x(tls, func() *XError {
  3740  		_err.XiLine = func() int32 {
  3741  			if _err.Xrc != 0 {
  3742  				return _err.XiLine
  3743  			}
  3744  			return int32(141)
  3745  		}()
  3746  		return &_err
  3747  	}(), &_threads, _stress_thread_1, nil)
  3748  	_launch_thread_x(tls, func() *XError {
  3749  		_err.XiLine = func() int32 {
  3750  			if _err.Xrc != 0 {
  3751  				return _err.XiLine
  3752  			}
  3753  			return int32(142)
  3754  		}()
  3755  		return &_err
  3756  	}(), &_threads, _stress_thread_1, nil)
  3757  	_launch_thread_x(tls, func() *XError {
  3758  		_err.XiLine = func() int32 {
  3759  			if _err.Xrc != 0 {
  3760  				return _err.XiLine
  3761  			}
  3762  			return int32(144)
  3763  		}()
  3764  		return &_err
  3765  	}(), &_threads, _stress_thread_2, nil)
  3766  	_launch_thread_x(tls, func() *XError {
  3767  		_err.XiLine = func() int32 {
  3768  			if _err.Xrc != 0 {
  3769  				return _err.XiLine
  3770  			}
  3771  			return int32(145)
  3772  		}()
  3773  		return &_err
  3774  	}(), &_threads, _stress_thread_2, nil)
  3775  	_launch_thread_x(tls, func() *XError {
  3776  		_err.XiLine = func() int32 {
  3777  			if _err.Xrc != 0 {
  3778  				return _err.XiLine
  3779  			}
  3780  			return int32(147)
  3781  		}()
  3782  		return &_err
  3783  	}(), &_threads, _stress_thread_3, nil)
  3784  	_launch_thread_x(tls, func() *XError {
  3785  		_err.XiLine = func() int32 {
  3786  			if _err.Xrc != 0 {
  3787  				return _err.XiLine
  3788  			}
  3789  			return int32(148)
  3790  		}()
  3791  		return &_err
  3792  	}(), &_threads, _stress_thread_3, nil)
  3793  	_launch_thread_x(tls, func() *XError {
  3794  		_err.XiLine = func() int32 {
  3795  			if _err.Xrc != 0 {
  3796  				return _err.XiLine
  3797  			}
  3798  			return int32(150)
  3799  		}()
  3800  		return &_err
  3801  	}(), &_threads, _stress_thread_4, nil)
  3802  	_launch_thread_x(tls, func() *XError {
  3803  		_err.XiLine = func() int32 {
  3804  			if _err.Xrc != 0 {
  3805  				return _err.XiLine
  3806  			}
  3807  			return int32(151)
  3808  		}()
  3809  		return &_err
  3810  	}(), &_threads, _stress_thread_4, nil)
  3811  	_launch_thread_x(tls, func() *XError {
  3812  		_err.XiLine = func() int32 {
  3813  			if _err.Xrc != 0 {
  3814  				return _err.XiLine
  3815  			}
  3816  			return int32(153)
  3817  		}()
  3818  		return &_err
  3819  	}(), &_threads, _stress_thread_5, nil)
  3820  	_launch_thread_x(tls, func() *XError {
  3821  		_err.XiLine = func() int32 {
  3822  			if _err.Xrc != 0 {
  3823  				return _err.XiLine
  3824  			}
  3825  			return int32(154)
  3826  		}()
  3827  		return &_err
  3828  	}(), &_threads, _stress_thread_5, crt.U2P(uintptr(uint32(1))))
  3829  	_join_all_threads_x(tls, func() *XError {
  3830  		_err.XiLine = func() int32 {
  3831  			if _err.Xrc != 0 {
  3832  				return _err.XiLine
  3833  			}
  3834  			return int32(156)
  3835  		}()
  3836  		return &_err
  3837  	}(), &_threads)
  3838  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  3839  	_print_and_free_err(tls, &_err)
  3840  }
  3841  
  3842  // C comment
  3843  //  /*
  3844  //  ** Thread 1. CREATE and DROP a table.
  3845  //  */
  3846  func _stress_thread_1(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3847  	var _err XError
  3848  	var _db XSqlite
  3849  	_err = XError{}
  3850  	_db = XSqlite{}
  3851  	_opendb_x(tls, func() *XError {
  3852  		_err.XiLine = func() int32 {
  3853  			if _err.Xrc != 0 {
  3854  				return _err.XiLine
  3855  			}
  3856  			return int32(24)
  3857  		}()
  3858  		return &_err
  3859  	}(), &_db, str(378), int32(0))
  3860  _2:
  3861  	if _timetostop_x(tls, func() *XError {
  3862  		_err.XiLine = func() int32 {
  3863  			if _err.Xrc != 0 {
  3864  				return _err.XiLine
  3865  			}
  3866  			return int32(25)
  3867  		}()
  3868  		return &_err
  3869  	}()) == 0 {
  3870  		_sql_script_x(tls, func() *XError {
  3871  			_err.XiLine = func() int32 {
  3872  				if _err.Xrc != 0 {
  3873  					return _err.XiLine
  3874  				}
  3875  				return int32(26)
  3876  			}()
  3877  			return &_err
  3878  		}(), &_db, str(5646))
  3879  		_clear_error_x(tls, &_err, int32(6))
  3880  		_sql_script_x(tls, func() *XError {
  3881  			_err.XiLine = func() int32 {
  3882  				if _err.Xrc != 0 {
  3883  					return _err.XiLine
  3884  				}
  3885  				return int32(28)
  3886  			}()
  3887  			return &_err
  3888  		}(), &_db, str(5694))
  3889  		_clear_error_x(tls, &_err, int32(6))
  3890  		goto _2
  3891  	}
  3892  	_closedb_x(tls, func() *XError {
  3893  		_err.XiLine = func() int32 {
  3894  			if _err.Xrc != 0 {
  3895  				return _err.XiLine
  3896  			}
  3897  			return int32(31)
  3898  		}()
  3899  		return &_err
  3900  	}(), &_db)
  3901  	_print_and_free_err(tls, &_err)
  3902  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3903  }
  3904  
  3905  // C comment
  3906  //  /*
  3907  //  ** Thread 2. Open and close database connections.
  3908  //  */
  3909  func _stress_thread_2(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3910  	var _err XError
  3911  	var _db XSqlite
  3912  	_err = XError{}
  3913  	_db = XSqlite{}
  3914  _0:
  3915  	if _timetostop_x(tls, func() *XError {
  3916  		_err.XiLine = func() int32 {
  3917  			if _err.Xrc != 0 {
  3918  				return _err.XiLine
  3919  			}
  3920  			return int32(42)
  3921  		}()
  3922  		return &_err
  3923  	}()) == 0 {
  3924  		_opendb_x(tls, func() *XError {
  3925  			_err.XiLine = func() int32 {
  3926  				if _err.Xrc != 0 {
  3927  					return _err.XiLine
  3928  				}
  3929  				return int32(43)
  3930  			}()
  3931  			return &_err
  3932  		}(), &_db, str(378), int32(0))
  3933  		_sql_script_x(tls, func() *XError {
  3934  			_err.XiLine = func() int32 {
  3935  				if _err.Xrc != 0 {
  3936  					return _err.XiLine
  3937  				}
  3938  				return int32(44)
  3939  			}()
  3940  			return &_err
  3941  		}(), &_db, str(5718))
  3942  		_clear_error_x(tls, &_err, int32(6))
  3943  		_closedb_x(tls, func() *XError {
  3944  			_err.XiLine = func() int32 {
  3945  				if _err.Xrc != 0 {
  3946  					return _err.XiLine
  3947  				}
  3948  				return int32(46)
  3949  			}()
  3950  			return &_err
  3951  		}(), &_db)
  3952  		goto _0
  3953  	}
  3954  	_print_and_free_err(tls, &_err)
  3955  	return bin.Xsqlite3_mprintf(tls, str(1166))
  3956  }
  3957  
  3958  // C comment
  3959  //  /*
  3960  //  ** Thread 3. Attempt many small SELECT statements.
  3961  //  */
  3962  func _stress_thread_3(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  3963  	var _i1, _i2 int32
  3964  	var _err XError
  3965  	var _db XSqlite
  3966  	_err = XError{}
  3967  	_db = XSqlite{}
  3968  	_i1 = int32(0)
  3969  	_i2 = int32(0)
  3970  	_opendb_x(tls, func() *XError {
  3971  		_err.XiLine = func() int32 {
  3972  			if _err.Xrc != 0 {
  3973  				return _err.XiLine
  3974  			}
  3975  			return int32(62)
  3976  		}()
  3977  		return &_err
  3978  	}(), &_db, str(378), int32(0))
  3979  _2:
  3980  	if _timetostop_x(tls, func() *XError {
  3981  		_err.XiLine = func() int32 {
  3982  			if _err.Xrc != 0 {
  3983  				return _err.XiLine
  3984  			}
  3985  			return int32(63)
  3986  		}()
  3987  		return &_err
  3988  	}()) != 0 {
  3989  		goto _3
  3990  	}
  3991  	_sql_script_x(tls, func() *XError {
  3992  		_err.XiLine = func() int32 {
  3993  			if _err.Xrc != 0 {
  3994  				return _err.XiLine
  3995  			}
  3996  			return int32(64)
  3997  		}()
  3998  		return &_err
  3999  	}(), &_db, str(5747))
  4000  	_i1 += 1
  4001  	if _err.Xrc != 0 {
  4002  		_i2 += 1
  4003  	}
  4004  	_clear_error_x(tls, &_err, int32(6))
  4005  	_clear_error_x(tls, &_err, int32(1))
  4006  	goto _2
  4007  _3:
  4008  	_closedb_x(tls, func() *XError {
  4009  		_err.XiLine = func() int32 {
  4010  			if _err.Xrc != 0 {
  4011  				return _err.XiLine
  4012  			}
  4013  			return int32(70)
  4014  		}()
  4015  		return &_err
  4016  	}(), &_db)
  4017  	_print_and_free_err(tls, &_err)
  4018  	return bin.Xsqlite3_mprintf(tls, str(5776), _i2, _i1)
  4019  }
  4020  
  4021  // C comment
  4022  //  /*
  4023  //  ** Thread 5. Attempt INSERT statements.
  4024  //  */
  4025  func _stress_thread_4(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  4026  	var _i1, _i2, _iArg int32
  4027  	var _err XError
  4028  	var _db XSqlite
  4029  	_err = XError{}
  4030  	_db = XSqlite{}
  4031  	_i1 = int32(0)
  4032  	_i2 = int32(0)
  4033  	_iArg = int32(int64(crt.P2U(_pArg)))
  4034  	_opendb_x(tls, func() *XError {
  4035  		_err.XiLine = func() int32 {
  4036  			if _err.Xrc != 0 {
  4037  				return _err.XiLine
  4038  			}
  4039  			return int32(85)
  4040  		}()
  4041  		return &_err
  4042  	}(), &_db, str(378), int32(0))
  4043  _2:
  4044  	if _timetostop_x(tls, func() *XError {
  4045  		_err.XiLine = func() int32 {
  4046  			if _err.Xrc != 0 {
  4047  				return _err.XiLine
  4048  			}
  4049  			return int32(86)
  4050  		}()
  4051  		return &_err
  4052  	}()) != 0 {
  4053  		goto _3
  4054  	}
  4055  	if _iArg != 0 {
  4056  		_closedb_x(tls, func() *XError {
  4057  			_err.XiLine = func() int32 {
  4058  				if _err.Xrc != 0 {
  4059  					return _err.XiLine
  4060  				}
  4061  				return int32(88)
  4062  			}()
  4063  			return &_err
  4064  		}(), &_db)
  4065  		_opendb_x(tls, func() *XError {
  4066  			_err.XiLine = func() int32 {
  4067  				if _err.Xrc != 0 {
  4068  					return _err.XiLine
  4069  				}
  4070  				return int32(89)
  4071  			}()
  4072  			return &_err
  4073  		}(), &_db, str(378), int32(0))
  4074  	}
  4075  	_sql_script_x(tls, func() *XError {
  4076  		_err.XiLine = func() int32 {
  4077  			if _err.Xrc != 0 {
  4078  				return _err.XiLine
  4079  			}
  4080  			return int32(91)
  4081  		}()
  4082  		return &_err
  4083  	}(), &_db, str(5799))
  4084  	_i1 += 1
  4085  	if _err.Xrc != 0 {
  4086  		_i2 += 1
  4087  	}
  4088  	_clear_error_x(tls, &_err, int32(6))
  4089  	_clear_error_x(tls, &_err, int32(1))
  4090  	goto _2
  4091  _3:
  4092  	_closedb_x(tls, func() *XError {
  4093  		_err.XiLine = func() int32 {
  4094  			if _err.Xrc != 0 {
  4095  				return _err.XiLine
  4096  			}
  4097  			return int32(100)
  4098  		}()
  4099  		return &_err
  4100  	}(), &_db)
  4101  	_print_and_free_err(tls, &_err)
  4102  	return bin.Xsqlite3_mprintf(tls, str(5922), _i2, _i1)
  4103  }
  4104  
  4105  // C comment
  4106  //  /*
  4107  //  ** Thread 6. Attempt DELETE operations.
  4108  //  */
  4109  func _stress_thread_5(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  4110  	var _iArg, _i1, _i2 int32
  4111  	var _1_i int64
  4112  	var _err XError
  4113  	var _db XSqlite
  4114  	_err = XError{}
  4115  	_db = XSqlite{}
  4116  	_iArg = int32(int64(crt.P2U(_pArg)))
  4117  	_i1 = int32(0)
  4118  	_i2 = int32(0)
  4119  	_opendb_x(tls, func() *XError {
  4120  		_err.XiLine = func() int32 {
  4121  			if _err.Xrc != 0 {
  4122  				return _err.XiLine
  4123  			}
  4124  			return int32(116)
  4125  		}()
  4126  		return &_err
  4127  	}(), &_db, str(378), int32(0))
  4128  _2:
  4129  	if _timetostop_x(tls, func() *XError {
  4130  		_err.XiLine = func() int32 {
  4131  			if _err.Xrc != 0 {
  4132  				return _err.XiLine
  4133  			}
  4134  			return int32(117)
  4135  		}()
  4136  		return &_err
  4137  	}()) != 0 {
  4138  		goto _3
  4139  	}
  4140  	_1_i = int64(_i1 % int32(4))
  4141  	if _iArg != 0 {
  4142  		_closedb_x(tls, func() *XError {
  4143  			_err.XiLine = func() int32 {
  4144  				if _err.Xrc != 0 {
  4145  					return _err.XiLine
  4146  				}
  4147  				return int32(120)
  4148  			}()
  4149  			return &_err
  4150  		}(), &_db)
  4151  		_opendb_x(tls, func() *XError {
  4152  			_err.XiLine = func() int32 {
  4153  				if _err.Xrc != 0 {
  4154  					return _err.XiLine
  4155  				}
  4156  				return int32(121)
  4157  			}()
  4158  			return &_err
  4159  		}(), &_db, str(378), int32(0))
  4160  	}
  4161  	_execsql_i64_x(tls, func() *XError {
  4162  		_err.XiLine = func() int32 {
  4163  			if _err.Xrc != 0 {
  4164  				return _err.XiLine
  4165  			}
  4166  			return int32(123)
  4167  		}()
  4168  		return &_err
  4169  	}(), &_db, unsafe.Pointer(str(5946)), unsafe.Pointer(&_1_i))
  4170  	_i1 += 1
  4171  	if _err.Xrc != 0 {
  4172  		_i2 += 1
  4173  	}
  4174  	_clear_error_x(tls, &_err, int32(6))
  4175  	goto _2
  4176  _3:
  4177  	_closedb_x(tls, func() *XError {
  4178  		_err.XiLine = func() int32 {
  4179  			if _err.Xrc != 0 {
  4180  				return _err.XiLine
  4181  			}
  4182  			return int32(128)
  4183  		}()
  4184  		return &_err
  4185  	}(), &_db)
  4186  	_print_and_free_err(tls, &_err)
  4187  	return bin.Xsqlite3_mprintf(tls, str(5983), _i2, _i1)
  4188  }
  4189  
  4190  func _stress2(tls *crt.TLS, _nMs int32) {
  4191  	var _i int32
  4192  	var _zDb *int8
  4193  	var _err XError
  4194  	var _db XSqlite
  4195  	var _threads XThreadset
  4196  	var _aTask [13]TStress2Task
  4197  	_aTask = [13]TStress2Task{}
  4198  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), 0).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4199  		v := _stress2_workload1
  4200  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4201  	}()
  4202  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(1)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4203  		v := _stress2_workload2
  4204  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4205  	}()
  4206  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(2)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4207  		v := _stress2_workload3
  4208  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4209  	}()
  4210  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(3)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4211  		v := _stress2_workload4
  4212  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4213  	}()
  4214  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(4)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4215  		v := _stress2_workload5
  4216  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4217  	}()
  4218  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(5)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4219  		v := _stress2_workload6
  4220  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4221  	}()
  4222  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(6)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4223  		v := _stress2_workload7
  4224  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4225  	}()
  4226  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(7)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4227  		v := _stress2_workload8
  4228  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4229  	}()
  4230  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(8)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4231  		v := _stress2_workload9
  4232  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4233  	}()
  4234  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(9)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4235  		v := _stress2_workload10
  4236  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4237  	}()
  4238  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(10)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4239  		v := _stress2_workload11
  4240  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4241  	}()
  4242  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(11)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4243  		v := _stress2_workload14
  4244  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4245  	}()
  4246  	elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(12)).Xx = func() func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32) {
  4247  		v := _stress2_workload17
  4248  		return *(*func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32))(unsafe.Pointer(&v))
  4249  	}()
  4250  	_zDb = str(378)
  4251  	_err = XError{}
  4252  	_db = XSqlite{}
  4253  	_threads = XThreadset{}
  4254  	_opendb_x(tls, func() *XError {
  4255  		_err.XiLine = func() int32 {
  4256  			if _err.Xrc != 0 {
  4257  				return _err.XiLine
  4258  			}
  4259  			return int32(345)
  4260  		}()
  4261  		return &_err
  4262  	}(), &_db, _zDb, int32(1))
  4263  	_sql_script_x(tls, func() *XError {
  4264  		_err.XiLine = func() int32 {
  4265  			if _err.Xrc != 0 {
  4266  				return _err.XiLine
  4267  			}
  4268  			return int32(346)
  4269  		}()
  4270  		return &_err
  4271  	}(), &_db, str(6014))
  4272  	_closedb_x(tls, func() *XError {
  4273  		_err.XiLine = func() int32 {
  4274  			if _err.Xrc != 0 {
  4275  				return _err.XiLine
  4276  			}
  4277  			return int32(350)
  4278  		}()
  4279  		return &_err
  4280  	}(), &_db)
  4281  	_setstoptime_x(tls, func() *XError {
  4282  		_err.XiLine = func() int32 {
  4283  			if _err.Xrc != 0 {
  4284  				return _err.XiLine
  4285  			}
  4286  			return int32(352)
  4287  		}()
  4288  		return &_err
  4289  	}(), _nMs)
  4290  	bin.Xsqlite3_enable_shared_cache(tls, int32(1))
  4291  	_i = int32(0)
  4292  _8:
  4293  	if uint64(_i) >= uint64(13) {
  4294  		goto _11
  4295  	}
  4296  	_stress2_launch_thread_loop(tls, &_err, &_threads, _zDb, func() func(*crt.TLS, *XError, *XSqlite, int32) {
  4297  		v := elem9((*TStress2Task)(unsafe.Pointer(&_aTask)), uintptr(_i)).Xx
  4298  		return *(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&v))
  4299  	}())
  4300  	_i += 1
  4301  	goto _8
  4302  _11:
  4303  	_launch_thread_x(tls, func() *XError {
  4304  		_err.XiLine = func() int32 {
  4305  			if _err.Xrc != 0 {
  4306  				return _err.XiLine
  4307  			}
  4308  			return int32(358)
  4309  		}()
  4310  		return &_err
  4311  	}(), &_threads, _stress2_workload19, unsafe.Pointer(_zDb))
  4312  	_launch_thread_x(tls, func() *XError {
  4313  		_err.XiLine = func() int32 {
  4314  			if _err.Xrc != 0 {
  4315  				return _err.XiLine
  4316  			}
  4317  			return int32(359)
  4318  		}()
  4319  		return &_err
  4320  	}(), &_threads, _stress2_workload19, unsafe.Pointer(_zDb))
  4321  	_join_all_threads_x(tls, func() *XError {
  4322  		_err.XiLine = func() int32 {
  4323  			if _err.Xrc != 0 {
  4324  				return _err.XiLine
  4325  			}
  4326  			return int32(361)
  4327  		}()
  4328  		return &_err
  4329  	}(), &_threads)
  4330  	bin.Xsqlite3_enable_shared_cache(tls, int32(0))
  4331  	_print_and_free_err(tls, &_err)
  4332  	_ = _aTask
  4333  }
  4334  
  4335  func _stress2_workload1(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4336  	var _iTab int32
  4337  	_iTab = (_i % int32(4)) + int32(1)
  4338  	_sql_script_printf_x(tls, func() *XError {
  4339  		_pErr.XiLine = func() int32 {
  4340  			if _pErr.Xrc != 0 {
  4341  				return _pErr.XiLine
  4342  			}
  4343  			return int32(193)
  4344  		}()
  4345  		return _pErr
  4346  	}(), _pDb, str(6105), _iTab)
  4347  }
  4348  
  4349  func _sql_script_printf_x(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _zFormat *int8, args ...interface{}) {
  4350  	var _1_zSql *int8
  4351  	var _ap []interface{}
  4352  	_ap = args
  4353  	if _pErr.Xrc == int32(0) {
  4354  		_1_zSql = bin.Xsqlite3_vmprintf(tls, _zFormat, _ap)
  4355  		_pErr.Xrc = bin.Xsqlite3_exec(tls, (*bin.Xsqlite3)(_pDb.Xdb), _1_zSql, nil, nil, &_pErr.XzErr)
  4356  		bin.Xsqlite3_free(tls, unsafe.Pointer(_1_zSql))
  4357  	}
  4358  	_ap = nil
  4359  }
  4360  
  4361  func _stress2_workload2(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4362  	var _iTab int32
  4363  	_iTab = (_i % int32(4)) + int32(1)
  4364  	_sql_script_printf_x(tls, func() *XError {
  4365  		_pErr.XiLine = func() int32 {
  4366  			if _pErr.Xrc != 0 {
  4367  				return _pErr.XiLine
  4368  			}
  4369  			return int32(200)
  4370  		}()
  4371  		return _pErr
  4372  	}(), _pDb, str(6158), _iTab)
  4373  }
  4374  
  4375  func _stress2_workload3(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4376  	_sql_script_x(tls, func() *XError {
  4377  		_pErr.XiLine = func() int32 {
  4378  			if _pErr.Xrc != 0 {
  4379  				return _pErr.XiLine
  4380  			}
  4381  			return int32(204)
  4382  		}()
  4383  		return _pErr
  4384  	}(), _pDb, str(6184))
  4385  }
  4386  
  4387  func _stress2_workload4(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4388  	_sql_script_x(tls, func() *XError {
  4389  		_pErr.XiLine = func() int32 {
  4390  			if _pErr.Xrc != 0 {
  4391  				return _pErr.XiLine
  4392  			}
  4393  			return int32(208)
  4394  		}()
  4395  		return _pErr
  4396  	}(), _pDb, str(6219))
  4397  }
  4398  
  4399  func _stress2_workload5(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4400  	_sql_script_x(tls, func() *XError {
  4401  		_pErr.XiLine = func() int32 {
  4402  			if _pErr.Xrc != 0 {
  4403  				return _pErr.XiLine
  4404  			}
  4405  			return int32(212)
  4406  		}()
  4407  		return _pErr
  4408  	}(), _pDb, str(6252))
  4409  }
  4410  
  4411  func _stress2_workload6(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4412  	_sql_script_x(tls, func() *XError {
  4413  		_pErr.XiLine = func() int32 {
  4414  			if _pErr.Xrc != 0 {
  4415  				return _pErr.XiLine
  4416  			}
  4417  			return int32(218)
  4418  		}()
  4419  		return _pErr
  4420  	}(), _pDb, str(6321))
  4421  }
  4422  
  4423  func _stress2_workload7(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4424  	_sql_script_printf_x(tls, func() *XError {
  4425  		_pErr.XiLine = func() int32 {
  4426  			if _pErr.Xrc != 0 {
  4427  				return _pErr.XiLine
  4428  			}
  4429  			return int32(224)
  4430  		}()
  4431  		return _pErr
  4432  	}(), _pDb, str(6387), _i)
  4433  }
  4434  
  4435  func _stress2_workload8(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4436  	_sql_script_printf_x(tls, func() *XError {
  4437  		_pErr.XiLine = func() int32 {
  4438  			if _pErr.Xrc != 0 {
  4439  				return _pErr.XiLine
  4440  			}
  4441  			return int32(231)
  4442  		}()
  4443  		return _pErr
  4444  	}(), _pDb, str(6469), _i)
  4445  }
  4446  
  4447  func _stress2_workload9(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4448  	_sql_script_printf_x(tls, func() *XError {
  4449  		_pErr.XiLine = func() int32 {
  4450  			if _pErr.Xrc != 0 {
  4451  				return _pErr.XiLine
  4452  			}
  4453  			return int32(239)
  4454  		}()
  4455  		return _pErr
  4456  	}(), _pDb, str(6546), _i)
  4457  }
  4458  
  4459  func _stress2_workload10(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4460  	_sql_script_printf_x(tls, func() *XError {
  4461  		_pErr.XiLine = func() int32 {
  4462  			if _pErr.Xrc != 0 {
  4463  				return _pErr.XiLine
  4464  			}
  4465  			return int32(244)
  4466  		}()
  4467  		return _pErr
  4468  	}(), _pDb, str(6602), _i)
  4469  }
  4470  
  4471  func _stress2_workload11(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4472  	_sql_script_x(tls, func() *XError {
  4473  		_pErr.XiLine = func() int32 {
  4474  			if _pErr.Xrc != 0 {
  4475  				return _pErr.XiLine
  4476  			}
  4477  			return int32(250)
  4478  		}()
  4479  		return _pErr
  4480  	}(), _pDb, str(5639))
  4481  }
  4482  
  4483  func _stress2_workload14(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4484  	_sql_script_x(tls, func() *XError {
  4485  		_pErr.XiLine = func() int32 {
  4486  			if _pErr.Xrc != 0 {
  4487  				return _pErr.XiLine
  4488  			}
  4489  			return int32(254)
  4490  		}()
  4491  		return _pErr
  4492  	}(), _pDb, str(1143))
  4493  }
  4494  
  4495  func _stress2_workload17(tls *crt.TLS, _pErr *XError, _pDb *XSqlite, _i int32) {
  4496  	_sql_script_printf_x(tls, func() *XError {
  4497  		_pErr.XiLine = func() int32 {
  4498  			if _pErr.Xrc != 0 {
  4499  				return _pErr.XiLine
  4500  			}
  4501  			return int32(258)
  4502  		}()
  4503  		return _pErr
  4504  	}(), _pDb, str(6656), unsafe.Pointer(func() *int8 {
  4505  		if (_i % int32(2)) != 0 {
  4506  			return str(6681)
  4507  		}
  4508  		return str(6688)
  4509  	}()))
  4510  }
  4511  
  4512  func _stress2_launch_thread_loop(tls *crt.TLS, _pErr *XError, _pThreads *XThreadset, _zDb *int8, _x func(*crt.TLS, *XError, *XSqlite, int32)) {
  4513  	var _pCtx *XStress2Ctx
  4514  	_pCtx = (*XStress2Ctx)(bin.Xsqlite3_malloc(tls, int32(16)))
  4515  	_pCtx.XzDb = _zDb
  4516  	*(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&_pCtx.XxProc)) = _x
  4517  	_launch_thread_x(tls, func() *XError {
  4518  		_pErr.XiLine = func() int32 {
  4519  			if _pErr.Xrc != 0 {
  4520  				return _pErr.XiLine
  4521  			}
  4522  			return int32(316)
  4523  		}()
  4524  		return _pErr
  4525  	}(), _pThreads, _stress2_thread_wrapper, unsafe.Pointer(_pCtx))
  4526  }
  4527  
  4528  func _stress2_thread_wrapper(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  4529  	var _i1, _i2, _1_cnt int32
  4530  	var _err XError
  4531  	var _db XSqlite
  4532  	var _pCtx *XStress2Ctx
  4533  	_pCtx = (*XStress2Ctx)(_pArg)
  4534  	_err = XError{}
  4535  	_db = XSqlite{}
  4536  	_i1 = int32(0)
  4537  	_i2 = int32(0)
  4538  _0:
  4539  	if _timetostop_x(tls, func() *XError {
  4540  		_err.XiLine = func() int32 {
  4541  			if _err.Xrc != 0 {
  4542  				return _err.XiLine
  4543  			}
  4544  			return int32(291)
  4545  		}()
  4546  		return &_err
  4547  	}()) != 0 {
  4548  		goto _1
  4549  	}
  4550  	_opendb_x(tls, func() *XError {
  4551  		_err.XiLine = func() int32 {
  4552  			if _err.Xrc != 0 {
  4553  				return _err.XiLine
  4554  			}
  4555  			return int32(293)
  4556  		}()
  4557  		return &_err
  4558  	}(), &_db, _pCtx.XzDb, int32(0))
  4559  	_1_cnt = int32(0)
  4560  _6:
  4561  	if _err.Xrc != int32(0) || _1_cnt >= int32(5) {
  4562  		goto _10
  4563  	}
  4564  	func() func(*crt.TLS, *XError, *XSqlite, int32) {
  4565  		v := _pCtx.XxProc
  4566  		return *(*func(*crt.TLS, *XError, *XSqlite, int32))(unsafe.Pointer(&v))
  4567  	}()(tls, &_err, &_db, _i1)
  4568  	_i2 += bool2int(_err.Xrc == int32(0))
  4569  	_clear_error_x(tls, &_err, int32(6))
  4570  	_i1 += 1
  4571  	_1_cnt += 1
  4572  	goto _6
  4573  _10:
  4574  	_closedb_x(tls, func() *XError {
  4575  		_err.XiLine = func() int32 {
  4576  			if _err.Xrc != 0 {
  4577  				return _err.XiLine
  4578  			}
  4579  			return int32(300)
  4580  		}()
  4581  		return &_err
  4582  	}(), &_db)
  4583  	goto _0
  4584  _1:
  4585  	_print_and_free_err(tls, &_err)
  4586  	return bin.Xsqlite3_mprintf(tls, str(6692), _i2, _i1)
  4587  }
  4588  
  4589  func _stress2_workload19(tls *crt.TLS, _iTid int32, _pArg unsafe.Pointer) (r0 *int8) {
  4590  	var _zDb *int8
  4591  	var _err XError
  4592  	var _db XSqlite
  4593  	_err = XError{}
  4594  	_db = XSqlite{}
  4595  	_zDb = (*int8)(_pArg)
  4596  _0:
  4597  	if _timetostop_x(tls, func() *XError {
  4598  		_err.XiLine = func() int32 {
  4599  			if _err.Xrc != 0 {
  4600  				return _err.XiLine
  4601  			}
  4602  			return int32(267)
  4603  		}()
  4604  		return &_err
  4605  	}()) == 0 {
  4606  		_opendb_x(tls, func() *XError {
  4607  			_err.XiLine = func() int32 {
  4608  				if _err.Xrc != 0 {
  4609  					return _err.XiLine
  4610  				}
  4611  				return int32(268)
  4612  			}()
  4613  			return &_err
  4614  		}(), &_db, _zDb, int32(0))
  4615  		_sql_script_x(tls, func() *XError {
  4616  			_err.XiLine = func() int32 {
  4617  				if _err.Xrc != 0 {
  4618  					return _err.XiLine
  4619  				}
  4620  				return int32(269)
  4621  			}()
  4622  			return &_err
  4623  		}(), &_db, str(5718))
  4624  		_clear_error_x(tls, &_err, int32(6))
  4625  		_closedb_x(tls, func() *XError {
  4626  			_err.XiLine = func() int32 {
  4627  				if _err.Xrc != 0 {
  4628  					return _err.XiLine
  4629  				}
  4630  				return int32(271)
  4631  			}()
  4632  			return &_err
  4633  		}(), &_db)
  4634  		goto _0
  4635  	}
  4636  	_print_and_free_err(tls, &_err)
  4637  	return bin.Xsqlite3_mprintf(tls, str(1166))
  4638  }
  4639  
  4640  var _mainØ00substArgvØ001 [3]*int8
  4641  
  4642  func init() {
  4643  	_mainØ00substArgvØ001 = [3]*int8{nil, str(6701), nil}
  4644  }
  4645  
  4646  // C comment
  4647  //  /************************** Public Interfaces *****************************/
  4648  //  /*
  4649  //  ** CAPI: Initialize the multiplex VFS shim - sqlite3_multiplex_initialize()
  4650  //  **
  4651  //  ** Use the VFS named zOrigVfsName as the VFS that does the actual work.
  4652  //  ** Use the default if zOrigVfsName==NULL.
  4653  //  **
  4654  //  ** The multiplex VFS shim is named "multiplex".  It will become the default
  4655  //  ** VFS if makeDefault is non-zero.
  4656  //  **
  4657  //  ** THIS ROUTINE IS NOT THREADSAFE.  Call this routine exactly once
  4658  //  ** during start-up.
  4659  //  */
  4660  func Xsqlite3_multiplex_initialize(tls *crt.TLS, _zOrigVfsName *int8, _makeDefault int32) (r0 int32) {
  4661  	var _pOrigVfs *bin.Xsqlite3_vfs
  4662  	if _gMultiplex.XisInitialized != 0 {
  4663  		return int32(21)
  4664  	}
  4665  	_pOrigVfs = bin.Xsqlite3_vfs_find(tls, _zOrigVfsName)
  4666  	if _pOrigVfs == nil {
  4667  		return int32(1)
  4668  	}
  4669  	func() {
  4670  		if _pOrigVfs == &_gMultiplex.XsThisVfs {
  4671  			crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(6703)), int32(1099), unsafe.Pointer(&_sqlite3_multiplex_initializeØ00__func__Ø000), unsafe.Pointer(str(6763)))
  4672  			crt.X__builtin_abort(tls)
  4673  		}
  4674  	}()
  4675  	_gMultiplex.XisInitialized = int32(1)
  4676  	*(**bin.Xsqlite3_vfs)(unsafe.Pointer(&_gMultiplex.XpOrigVfs)) = _pOrigVfs
  4677  	_gMultiplex.XsThisVfs = *_pOrigVfs
  4678  	{
  4679  		p := &(_gMultiplex.XsThisVfs.XszOsFile)
  4680  		*p = int32(uint64(*p) + uint64(16))
  4681  	}
  4682  	_gMultiplex.XsThisVfs.XzName = str(6794)
  4683  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxOpen))) = _multiplexOpen
  4684  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDelete))) = _multiplexDelete
  4685  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxAccess))) = _multiplexAccess
  4686  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxFullPathname))) = _multiplexFullPathname
  4687  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlOpen))) = _multiplexDlOpen
  4688  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlError))) = _multiplexDlError
  4689  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlSym))) = _multiplexDlSym
  4690  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer))(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxDlClose))) = _multiplexDlClose
  4691  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxRandomness))) = _multiplexRandomness
  4692  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxSleep))) = _multiplexSleep
  4693  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxCurrentTime))) = _multiplexCurrentTime
  4694  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxGetLastError))) = _multiplexGetLastError
  4695  	*(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&(_gMultiplex.XsThisVfs.XxCurrentTimeInt64))) = _multiplexCurrentTimeInt64
  4696  	_gMultiplex.XsIoMethodsV1.XiVersion = int32(1)
  4697  	*(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxClose))) = _multiplexClose
  4698  	*(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxRead))) = _multiplexRead
  4699  	*(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxWrite))) = _multiplexWrite
  4700  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxTruncate))) = _multiplexTruncate
  4701  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxSync))) = _multiplexSync
  4702  	*(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxFileSize))) = _multiplexFileSize
  4703  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxLock))) = _multiplexLock
  4704  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxUnlock))) = _multiplexUnlock
  4705  	*(*func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxCheckReservedLock))) = _multiplexCheckReservedLock
  4706  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxFileControl))) = _multiplexFileControl
  4707  	*(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxSectorSize))) = _multiplexSectorSize
  4708  	*(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV1.XxDeviceCharacteristics))) = _multiplexDeviceCharacteristics
  4709  	_gMultiplex.XsIoMethodsV2 = _gMultiplex.XsIoMethodsV1
  4710  	_gMultiplex.XsIoMethodsV2.XiVersion = int32(2)
  4711  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmMap))) = _multiplexShmMap
  4712  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmLock))) = _multiplexShmLock
  4713  	*(*func(*crt.TLS, *bin.Xsqlite3_file))(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmBarrier))) = _multiplexShmBarrier
  4714  	*(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&(_gMultiplex.XsIoMethodsV2.XxShmUnmap))) = _multiplexShmUnmap
  4715  	bin.Xsqlite3_vfs_register(tls, &_gMultiplex.XsThisVfs, _makeDefault)
  4716  	bin.Xsqlite3_auto_extension(tls, func() func(*crt.TLS) { v := _multiplexFuncInit; return *(*func(*crt.TLS))(unsafe.Pointer(&v)) }())
  4717  	return int32(0)
  4718  }
  4719  
  4720  // C comment
  4721  //  /************************* Global Variables **********************************/
  4722  //  /*
  4723  //  ** All global variables used by this file are containing within the following
  4724  //  ** gMultiplex structure.
  4725  //  */
  4726  var _gMultiplex t10
  4727  
  4728  var _sqlite3_multiplex_initializeØ00__func__Ø000 [29]int8
  4729  
  4730  func init() {
  4731  	crt.Xstrncpy(nil, &_sqlite3_multiplex_initializeØ00__func__Ø000[0], str(6804), 29)
  4732  }
  4733  
  4734  // C comment
  4735  //  /*
  4736  //  ** This is the xOpen method used for the "multiplex" VFS.
  4737  //  **
  4738  //  ** Most of the work is done by the underlying original VFS.  This method
  4739  //  ** simply links the new file into the appropriate multiplex group if it is a
  4740  //  ** file that needs to be tracked.
  4741  //  */
  4742  func _multiplexOpen(tls *crt.TLS, _pVfs *bin.Xsqlite3_vfs, _zName *int8, _pConn *bin.Xsqlite3_file, _flags int32, _pOutFlags *int32) (r0 int32) {
  4743  	var _rc, _nName, _sz, _9_bExists, _12_iChunk int32
  4744  	var _8_sz64 int64
  4745  	var _zToFree, _3_zUri, _4_p *int8
  4746  	var _pSubOpen *bin.Xsqlite3_file
  4747  	var _pOrigVfs *bin.Xsqlite3_vfs
  4748  	var _pGroup *XmultiplexGroup
  4749  	var _pMultiplexOpen *XmultiplexConn
  4750  	_rc = int32(0)
  4751  	_pGroup = nil
  4752  	_pSubOpen = nil
  4753  	_pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs)
  4754  	_nName = int32(0)
  4755  	_sz = int32(0)
  4756  	_zToFree = nil
  4757  
  4758  	crt.Xmemset(tls, unsafe.Pointer(_pConn), int32(0), uint64(_pVfs.XszOsFile))
  4759  	func() {
  4760  		if _zName == nil && (_flags&int32(8)) == 0 {
  4761  			crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(6703)), int32(484), unsafe.Pointer(&_multiplexOpenØ00__func__Ø000), unsafe.Pointer(str(6833)))
  4762  			crt.X__builtin_abort(tls)
  4763  		}
  4764  	}()
  4765  	_pMultiplexOpen = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  4766  	if _rc != int32(0) {
  4767  		goto _3
  4768  	}
  4769  	_nName = func() int32 {
  4770  		if _zName != nil {
  4771  			return _multiplexStrlen30(tls, _zName)
  4772  		}
  4773  		return int32(0)
  4774  	}()
  4775  	_sz = int32((uint64(40) + uint64(_nName)) + uint64(1))
  4776  	_pGroup = (*XmultiplexGroup)(bin.Xsqlite3_malloc64(tls, uint64(_sz)))
  4777  	if _pGroup == nil {
  4778  		_rc = int32(7)
  4779  	}
  4780  _3:
  4781  	if _rc != int32(0) {
  4782  		goto _7
  4783  	}
  4784  	_3_zUri = func() *int8 {
  4785  		if (_flags & int32(64)) != 0 {
  4786  			return _zName
  4787  		}
  4788  		return nil
  4789  	}()
  4790  	crt.Xmemset(tls, unsafe.Pointer(_pGroup), int32(0), uint64(_sz))
  4791  	*(**XmultiplexGroup)(unsafe.Pointer(&_pMultiplexOpen.XpGroup)) = _pGroup
  4792  	_pGroup.XbEnabled = uint8(255)
  4793  	_pGroup.XbTruncate = uint8(bin.Xsqlite3_uri_boolean(tls, _3_zUri, str(6878), bool2int((_flags&int32(256)) == int32(0))))
  4794  	_pGroup.XszChunk = uint32(int32(bin.Xsqlite3_uri_int64(tls, _3_zUri, str(6887), int64(2147418112))))
  4795  	_pGroup.XszChunk = (_pGroup.XszChunk + uint32(65535)) & uint32(4294901760)
  4796  	if _zName != nil {
  4797  		_4_p = (*int8)(unsafe.Pointer(elem11(_pGroup, uintptr(1))))
  4798  		_pGroup.XzName = _4_p
  4799  		crt.Xmemcpy(tls, unsafe.Pointer(_pGroup.XzName), unsafe.Pointer(_zName), uint64(_nName+int32(1)))
  4800  		_pGroup.XnName = _nName
  4801  	}
  4802  	if _pGroup.XbEnabled == 0 {
  4803  		goto _11
  4804  	}
  4805  _12:
  4806  	if (uint32(bin.Xsqlite3PendingByte()) % _pGroup.XszChunk) >= (_pGroup.XszChunk - uint32(65536)) {
  4807  		_pGroup.XszChunk += uint32(65536)
  4808  		goto _12
  4809  	}
  4810  _11:
  4811  	_pGroup.Xflags = _flags
  4812  	_rc = _multiplexSubFilename(tls, _pGroup, int32(1))
  4813  	if _rc != int32(0) {
  4814  		goto _14
  4815  	}
  4816  	_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, _pOutFlags, int32(0))
  4817  	if (_pSubOpen == nil) && (_rc == int32(0)) {
  4818  		_rc = int32(14)
  4819  	}
  4820  _14:
  4821  	if _rc != int32(0) {
  4822  		goto _17
  4823  	}
  4824  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 {
  4825  		v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxFileSize
  4826  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v))
  4827  	}()(tls, _pSubOpen, &_8_sz64)
  4828  	if _rc != int32(0) || _zName == nil {
  4829  		goto _19
  4830  	}
  4831  	if (_flags & int32(16384)) != 0 {
  4832  		_pGroup.XbEnabled = 0
  4833  		goto _29
  4834  	}
  4835  	if _8_sz64 != (0) {
  4836  		goto _22
  4837  	}
  4838  	if (_flags & int32(2048)) == 0 {
  4839  		goto _23
  4840  	}
  4841  	_12_iChunk = int32(1)
  4842  _24:
  4843  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  4844  		v := _pOrigVfs.XxAccess
  4845  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  4846  	}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_12_iChunk)).Xz, int32(0), &_9_bExists)
  4847  	if _rc != int32(0) || _9_bExists == 0 {
  4848  		goto _26
  4849  	}
  4850  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 {
  4851  		v := _pOrigVfs.XxDelete
  4852  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v))
  4853  	}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_12_iChunk)).Xz, int32(0))
  4854  	if _rc == int32(0) {
  4855  		_rc = _multiplexSubFilename(tls, _pGroup, preInc7(&_12_iChunk, 1))
  4856  	}
  4857  _26:
  4858  	if (_rc == int32(0)) && _9_bExists != 0 {
  4859  		goto _24
  4860  	}
  4861  _23:
  4862  	goto _29
  4863  _22:
  4864  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  4865  		v := _pOrigVfs.XxAccess
  4866  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  4867  	}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(1)).Xz, int32(0), &_9_bExists)
  4868  	_9_bExists = bool2int(_multiplexSubSize(tls, _pGroup, int32(1), &_rc) > (0))
  4869  	if ((((_rc == int32(0)) && _9_bExists != 0) && (_8_sz64 == (_8_sz64 & int64(4294901760)))) && (_8_sz64 > (0))) && (_8_sz64 != int64(_pGroup.XszChunk)) {
  4870  		_pGroup.XszChunk = uint32(int32(_8_sz64))
  4871  		goto _38
  4872  	}
  4873  	if ((_rc == int32(0)) && (_9_bExists == 0)) && (_8_sz64 > int64(_pGroup.XszChunk)) {
  4874  		_pGroup.XbEnabled = 0
  4875  	}
  4876  _38:
  4877  _29:
  4878  _19:
  4879  _17:
  4880  	if _rc != int32(0) {
  4881  		goto _39
  4882  	}
  4883  	if ((*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XiVersion) == int32(1) {
  4884  		*(**bin.Xsqlite3_io_methods)(unsafe.Pointer(&(_pMultiplexOpen.Xbase.XpMethods))) = &_gMultiplex.XsIoMethodsV1
  4885  		goto _41
  4886  	}
  4887  	*(**bin.Xsqlite3_io_methods)(unsafe.Pointer(&(_pMultiplexOpen.Xbase.XpMethods))) = &_gMultiplex.XsIoMethodsV2
  4888  _41:
  4889  	goto _42
  4890  _39:
  4891  	_multiplexFreeComponents(tls, _pGroup)
  4892  	bin.Xsqlite3_free(tls, unsafe.Pointer(_pGroup))
  4893  _42:
  4894  _7:
  4895  	bin.Xsqlite3_free(tls, unsafe.Pointer(_zToFree))
  4896  	return _rc
  4897  }
  4898  
  4899  var _multiplexOpenØ00__func__Ø000 [14]int8
  4900  
  4901  func init() {
  4902  	crt.Xstrncpy(nil, &_multiplexOpenØ00__func__Ø000[0], str(6897), 14)
  4903  }
  4904  
  4905  // C comment
  4906  //  /************************* Utility Routines *********************************/
  4907  //  /*
  4908  //  ** Compute a string length that is limited to what can be stored in
  4909  //  ** lower 30 bits of a 32-bit signed integer.
  4910  //  **
  4911  //  ** The value returned will never be negative.  Nor will it ever be greater
  4912  //  ** than the actual length of the string.  For very long strings (greater
  4913  //  ** than 1GiB) the value returned might be less than the true string length.
  4914  //  */
  4915  func _multiplexStrlen30(tls *crt.TLS, _z *int8) (r0 int32) {
  4916  	var _z2 *int8
  4917  	_z2 = _z
  4918  	if _z == nil {
  4919  		return int32(0)
  4920  	}
  4921  _0:
  4922  	if (*_z2) != 0 {
  4923  		*(*uintptr)(unsafe.Pointer(&_z2)) += uintptr(1)
  4924  		goto _0
  4925  	}
  4926  	return int32(1073741823) & int32(int64(uintptr(unsafe.Pointer(_z2))-uintptr(unsafe.Pointer(_z))))
  4927  }
  4928  
  4929  // C comment
  4930  //  /* Compute the filename for the iChunk-th chunk
  4931  //  */
  4932  func _multiplexSubFilename(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32) (r0 int32) {
  4933  	var _3_n int32
  4934  	var _3_z *int8
  4935  	var _1_p *TmultiplexReal
  4936  	if _iChunk < _pGroup.XnReal {
  4937  		goto _0
  4938  	}
  4939  	_1_p = (*TmultiplexReal)(bin.Xsqlite3_realloc64(tls, _pGroup.XaReal, uint64(_iChunk+int32(1))*uint64(16)))
  4940  	if _1_p == nil {
  4941  		return int32(7)
  4942  	}
  4943  	crt.Xmemset(tls, unsafe.Pointer(elem12(_1_p, uintptr(_pGroup.XnReal))), int32(0), uint64(16)*uint64((_iChunk+int32(1))-_pGroup.XnReal))
  4944  	*(**TmultiplexReal)(unsafe.Pointer(&_pGroup.XaReal)) = _1_p
  4945  	_pGroup.XnReal = _iChunk + int32(1)
  4946  _0:
  4947  	if _pGroup.XzName == nil || (elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) != nil {
  4948  		goto _3
  4949  	}
  4950  	_3_n = _pGroup.XnName
  4951  	elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz = store2(&_3_z, (*int8)(bin.Xsqlite3_malloc64(tls, uint64(_3_n+int32(5)))))
  4952  	if _3_z == nil {
  4953  		return int32(7)
  4954  	}
  4955  	_multiplexFilename(tls, _pGroup.XzName, _pGroup.XnName, _pGroup.Xflags, _iChunk, _3_z)
  4956  _3:
  4957  	return int32(0)
  4958  }
  4959  
  4960  // C comment
  4961  //  /*
  4962  //  ** Generate the file-name for chunk iChunk of the group with base name
  4963  //  ** zBase. The file-name is written to buffer zOut before returning. Buffer
  4964  //  ** zOut must be allocated by the caller so that it is at least (nBase+5)
  4965  //  ** bytes in size, where nBase is the length of zBase, not including the
  4966  //  ** nul-terminator.
  4967  //  **
  4968  //  ** If iChunk is 0 (or 400 - the number for the first journal file chunk),
  4969  //  ** the output is a copy of the input string. Otherwise, if
  4970  //  ** SQLITE_ENABLE_8_3_NAMES is not defined or the input buffer does not contain
  4971  //  ** a "." character, then the output is a copy of the input string with the
  4972  //  ** three-digit zero-padded decimal representation if iChunk appended to it.
  4973  //  ** For example:
  4974  //  **
  4975  //  **   zBase="test.db", iChunk=4  ->  zOut="test.db004"
  4976  //  **
  4977  //  ** Or, if SQLITE_ENABLE_8_3_NAMES is defined and the input buffer contains
  4978  //  ** a "." character, then everything after the "." is replaced by the
  4979  //  ** three-digit representation of iChunk.
  4980  //  **
  4981  //  **   zBase="test.db", iChunk=4  ->  zOut="test.004"
  4982  //  **
  4983  //  ** The output buffer string is terminated by 2 0x00 bytes. This makes it safe
  4984  //  ** to pass to sqlite3_uri_parameter() and similar.
  4985  //  */
  4986  func _multiplexFilename(tls *crt.TLS, _zBase *int8, _nBase int32, _flags int32, _iChunk int32, _zOut *int8) {
  4987  	var _n int32
  4988  	_n = _nBase
  4989  	crt.Xmemcpy(tls, unsafe.Pointer(_zOut), unsafe.Pointer(_zBase), uint64(_n+int32(1)))
  4990  	if (_iChunk != int32(0)) && (_iChunk <= int32(299)) {
  4991  		bin.Xsqlite3_snprintf(tls, int32(4), elem2(_zOut, uintptr(_n)), str(6911), _iChunk)
  4992  		_n += int32(3)
  4993  	}
  4994  	func() {
  4995  		if int32(*elem2(_zOut, uintptr(_n))) != int32(0) {
  4996  			crt.X__builtin_fprintf(tls, Xstderr, str(991), unsafe.Pointer(str(6703)), int32(250), unsafe.Pointer(&_multiplexFilenameØ00__func__Ø000), unsafe.Pointer(str(6916)))
  4997  			crt.X__builtin_abort(tls)
  4998  		}
  4999  	}()
  5000  	*elem2(_zOut, uintptr(_n+int32(1))) = 0
  5001  }
  5002  
  5003  var _multiplexFilenameØ00__func__Ø000 [18]int8
  5004  
  5005  func init() {
  5006  	crt.Xstrncpy(nil, &_multiplexFilenameØ00__func__Ø000[0], str(6930), 18)
  5007  }
  5008  
  5009  // C comment
  5010  //  /* Translate an sqlite3_file* that is really a multiplexGroup* into
  5011  //  ** the sqlite3_file* for the underlying original VFS.
  5012  //  **
  5013  //  ** For chunk 0, the pGroup->flags determines whether or not a new file
  5014  //  ** is created if it does not already exist.  For chunks 1 and higher, the
  5015  //  ** file is created only if createFlag is 1.
  5016  //  */
  5017  func _multiplexSubOpen(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _rc *int32, _pOutFlags *int32, _createFlag int32) (r0 *bin.Xsqlite3_file) {
  5018  	var _1_flags, _1_bExists int32
  5019  	var _pSubOpen *bin.Xsqlite3_file
  5020  	var _pOrigVfs *bin.Xsqlite3_vfs
  5021  	_pSubOpen = nil
  5022  	_pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs)
  5023  	*_rc = _multiplexSubFilename(tls, _pGroup, _iChunk)
  5024  	if (*_rc) != int32(0) || store13(&_pSubOpen, (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp)) != nil {
  5025  		goto _1
  5026  	}
  5027  	_1_flags = _pGroup.Xflags
  5028  	if _createFlag != 0 {
  5029  		_1_flags |= int32(4)
  5030  		goto _7
  5031  	}
  5032  	if _iChunk == int32(0) {
  5033  		goto _7
  5034  	}
  5035  	if (elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) == nil {
  5036  		return nil
  5037  	}
  5038  	*_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  5039  		v := _pOrigVfs.XxAccess
  5040  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  5041  	}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, int32(0), &_1_bExists)
  5042  	if (*_rc) == 0 && _1_bExists != 0 {
  5043  		goto _9
  5044  	}
  5045  	if (*_rc) != 0 {
  5046  		bin.Xsqlite3_log(tls, *_rc, str(6948), unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz))
  5047  	}
  5048  	return nil
  5049  
  5050  _9:
  5051  	_1_flags &= int32(-5)
  5052  _7:
  5053  	_pSubOpen = (*bin.Xsqlite3_file)(bin.Xsqlite3_malloc64(tls, uint64(_pOrigVfs.XszOsFile)))
  5054  	if _pSubOpen == nil {
  5055  		*_rc = int32(3082)
  5056  		return nil
  5057  	}
  5058  	*(**bin.Xsqlite3_file)(unsafe.Pointer(&(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp))) = _pSubOpen
  5059  	*_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32 {
  5060  		v := _pOrigVfs.XxOpen
  5061  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, *bin.Xsqlite3_file, int32, *int32) int32)(unsafe.Pointer(&v))
  5062  	}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, _pSubOpen, _1_flags, _pOutFlags)
  5063  	if (*_rc) != int32(0) {
  5064  		bin.Xsqlite3_log(tls, *_rc, str(6982), unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz))
  5065  		bin.Xsqlite3_free(tls, unsafe.Pointer(_pSubOpen))
  5066  		*(**bin.Xsqlite3_file)(unsafe.Pointer(&(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp))) = nil
  5067  		return nil
  5068  	}
  5069  _1:
  5070  	return _pSubOpen
  5071  }
  5072  
  5073  // C comment
  5074  //  /*
  5075  //  ** Return the size, in bytes, of chunk number iChunk.  If that chunk
  5076  //  ** does not exist, then return 0.  This function does not distingish between
  5077  //  ** non-existant files and zero-length files.
  5078  //  */
  5079  func _multiplexSubSize(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _rc *int32) (r0 int64) {
  5080  	var _sz int64
  5081  	var _pSub *bin.Xsqlite3_file
  5082  	_sz = int64(0)
  5083  	if (*_rc) != 0 {
  5084  		return 0
  5085  	}
  5086  	_pSub = _multiplexSubOpen(tls, _pGroup, _iChunk, _rc, nil, int32(0))
  5087  	if _pSub == nil {
  5088  		return 0
  5089  	}
  5090  	*_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 {
  5091  		v := (*bin.Xsqlite3_io_methods)(_pSub.XpMethods).XxFileSize
  5092  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v))
  5093  	}()(tls, _pSub, &_sz)
  5094  	return _sz
  5095  }
  5096  
  5097  // C comment
  5098  //  /*
  5099  //  ** Deallocate memory held by a multiplexGroup
  5100  //  */
  5101  func _multiplexFreeComponents(tls *crt.TLS, _pGroup *XmultiplexGroup) {
  5102  	var _i int32
  5103  	_i = int32(0)
  5104  _0:
  5105  	if _i >= _pGroup.XnReal {
  5106  		goto _3
  5107  	}
  5108  	_multiplexSubClose(tls, _pGroup, _i, nil)
  5109  	_i += 1
  5110  	goto _0
  5111  _3:
  5112  	bin.Xsqlite3_free(tls, _pGroup.XaReal)
  5113  	*(**TmultiplexReal)(unsafe.Pointer(&_pGroup.XaReal)) = nil
  5114  	_pGroup.XnReal = int32(0)
  5115  }
  5116  
  5117  // C comment
  5118  //  /*
  5119  //  ** Close a single sub-file in the connection group.
  5120  //  */
  5121  func _multiplexSubClose(tls *crt.TLS, _pGroup *XmultiplexGroup, _iChunk int32, _pOrigVfs *bin.Xsqlite3_vfs) {
  5122  	var _pSubOpen *bin.Xsqlite3_file
  5123  	_pSubOpen = (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp)
  5124  	if _pSubOpen == nil {
  5125  		goto _0
  5126  	}
  5127  	func() func(*crt.TLS, *bin.Xsqlite3_file) int32 {
  5128  		v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxClose
  5129  		return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v))
  5130  	}()(tls, _pSubOpen)
  5131  	if (_pOrigVfs != nil) && ((elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz) != nil) {
  5132  		func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 {
  5133  			v := _pOrigVfs.XxDelete
  5134  			return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v))
  5135  		}()(tls, _pOrigVfs, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz, int32(0))
  5136  	}
  5137  	bin.Xsqlite3_free(tls, elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xp)
  5138  _0:
  5139  	bin.Xsqlite3_free(tls, unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk)).Xz))
  5140  	crt.Xmemset(tls, unsafe.Pointer(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_iChunk))), int32(0), uint64(16))
  5141  }
  5142  
  5143  // C comment
  5144  //  /*
  5145  //  ** This is the xDelete method used for the "multiplex" VFS.
  5146  //  ** It attempts to delete the filename specified.
  5147  //  */
  5148  func _multiplexDelete(tls *crt.TLS, _pVfs *bin.Xsqlite3_vfs, _zName *int8, _syncDir int32) (r0 int32) {
  5149  	var _rc, _1_nName, _3_iChunk, _3_bExists int32
  5150  	var _1_z *int8
  5151  	var _pOrigVfs *bin.Xsqlite3_vfs
  5152  	_pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs)
  5153  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 {
  5154  		v := _pOrigVfs.XxDelete
  5155  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v))
  5156  	}()(tls, _pOrigVfs, _zName, _syncDir)
  5157  	if _rc != int32(0) {
  5158  		goto _0
  5159  	}
  5160  	_1_nName = int32(crt.Xstrlen(tls, _zName))
  5161  	_1_z = (*int8)(bin.Xsqlite3_malloc64(tls, uint64(_1_nName+int32(5))))
  5162  	if _1_z == nil {
  5163  		_rc = int32(3082)
  5164  		goto _2
  5165  	}
  5166  	_3_iChunk = int32(0)
  5167  _3:
  5168  	_multiplexFilename(tls, _zName, _1_nName, int32(2048), preInc7(&_3_iChunk, 1), _1_z)
  5169  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  5170  		v := _pOrigVfs.XxAccess
  5171  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  5172  	}()(tls, _pOrigVfs, _1_z, int32(0), &_3_bExists)
  5173  	if (_rc == int32(0)) && _3_bExists != 0 {
  5174  		goto _3
  5175  	}
  5176  _5:
  5177  	if (_rc == int32(0)) && (_3_iChunk > int32(1)) {
  5178  		_multiplexFilename(tls, _zName, _1_nName, int32(2048), preInc7(&_3_iChunk, -1), _1_z)
  5179  		_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 {
  5180  			v := _pOrigVfs.XxDelete
  5181  			return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v))
  5182  		}()(tls, _pOrigVfs, _1_z, _syncDir)
  5183  		goto _5
  5184  	}
  5185  	if _rc != int32(0) {
  5186  		goto _8
  5187  	}
  5188  	_3_iChunk = int32(0)
  5189  _9:
  5190  	_multiplexFilename(tls, _zName, _1_nName, int32(524288), preInc7(&_3_iChunk, 1), _1_z)
  5191  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  5192  		v := _pOrigVfs.XxAccess
  5193  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  5194  	}()(tls, _pOrigVfs, _1_z, int32(0), &_3_bExists)
  5195  	if (_rc == int32(0)) && _3_bExists != 0 {
  5196  		goto _9
  5197  	}
  5198  _11:
  5199  	if (_rc == int32(0)) && (_3_iChunk > int32(1)) {
  5200  		_multiplexFilename(tls, _zName, _1_nName, int32(524288), preInc7(&_3_iChunk, -1), _1_z)
  5201  		_rc = func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32 {
  5202  			v := _pOrigVfs.XxDelete
  5203  			return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32) int32)(unsafe.Pointer(&v))
  5204  		}()(tls, _pOrigVfs, _1_z, _syncDir)
  5205  		goto _11
  5206  	}
  5207  _8:
  5208  _2:
  5209  	bin.Xsqlite3_free(tls, unsafe.Pointer(_1_z))
  5210  _0:
  5211  	return _rc
  5212  }
  5213  
  5214  func _multiplexAccess(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8, _c int32, _d *int32) (r0 int32) {
  5215  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32 {
  5216  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxAccess
  5217  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int32) int32)(unsafe.Pointer(&v))
  5218  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c, _d)
  5219  }
  5220  
  5221  func _multiplexFullPathname(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8, _c int32, _d *int8) (r0 int32) {
  5222  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32 {
  5223  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxFullPathname
  5224  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8, int32, *int8) int32)(unsafe.Pointer(&v))
  5225  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c, _d)
  5226  }
  5227  
  5228  func _multiplexDlOpen(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int8) (r0 unsafe.Pointer) {
  5229  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer {
  5230  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlOpen
  5231  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int8) unsafe.Pointer)(unsafe.Pointer(&v))
  5232  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b)
  5233  }
  5234  
  5235  func _multiplexDlError(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) {
  5236  	func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) {
  5237  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlError
  5238  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8))(unsafe.Pointer(&v))
  5239  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c)
  5240  }
  5241  
  5242  func _multiplexDlSym(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b unsafe.Pointer, _c *int8) (r0 func(*crt.TLS)) {
  5243  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS) {
  5244  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlSym
  5245  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer, *int8) func(*crt.TLS))(unsafe.Pointer(&v))
  5246  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c)
  5247  }
  5248  
  5249  func _multiplexDlClose(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b unsafe.Pointer) {
  5250  	func() func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer) {
  5251  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxDlClose
  5252  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, unsafe.Pointer))(unsafe.Pointer(&v))
  5253  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b)
  5254  }
  5255  
  5256  func _multiplexRandomness(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) (r0 int32) {
  5257  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32 {
  5258  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxRandomness
  5259  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&v))
  5260  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c)
  5261  }
  5262  
  5263  func _multiplexSleep(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32) (r0 int32) {
  5264  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32 {
  5265  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxSleep
  5266  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32) int32)(unsafe.Pointer(&v))
  5267  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b)
  5268  }
  5269  
  5270  func _multiplexCurrentTime(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *float64) (r0 int32) {
  5271  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32 {
  5272  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxCurrentTime
  5273  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *float64) int32)(unsafe.Pointer(&v))
  5274  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b)
  5275  }
  5276  
  5277  func _multiplexGetLastError(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b int32, _c *int8) (r0 int32) {
  5278  	if ((*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxGetLastError) != nil {
  5279  		return func() func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32 {
  5280  			v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxGetLastError
  5281  			return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, int32, *int8) int32)(unsafe.Pointer(&v))
  5282  		}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b, _c)
  5283  	}
  5284  	return int32(0)
  5285  }
  5286  
  5287  func _multiplexCurrentTimeInt64(tls *crt.TLS, _a *bin.Xsqlite3_vfs, _b *int64) (r0 int32) {
  5288  	return func() func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32 {
  5289  		v := (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs).XxCurrentTimeInt64
  5290  		return *(*func(*crt.TLS, *bin.Xsqlite3_vfs, *int64) int32)(unsafe.Pointer(&v))
  5291  	}()(tls, (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs), _b)
  5292  }
  5293  
  5294  // C comment
  5295  //  /* xClose requests get passed through to the original VFS.
  5296  //  ** We loop over all open chunk handles and close them.
  5297  //  ** The group structure for this file is unlinked from
  5298  //  ** our list of groups and freed.
  5299  //  */
  5300  func _multiplexClose(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) {
  5301  	var _rc int32
  5302  	var _pGroup *XmultiplexGroup
  5303  	var _p *XmultiplexConn
  5304  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5305  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5306  	_rc = int32(0)
  5307  	_multiplexFreeComponents(tls, _pGroup)
  5308  	bin.Xsqlite3_free(tls, unsafe.Pointer(_pGroup))
  5309  	return _rc
  5310  }
  5311  
  5312  // C comment
  5313  //  /* Pass xRead requests thru to the original VFS after
  5314  //  ** determining the correct chunk to operate on.
  5315  //  ** Break up reads across chunk boundaries.
  5316  //  */
  5317  func _multiplexRead(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) {
  5318  	var _rc, _5_i, _6_extra int32
  5319  	var _1_pSubOpen, _5_pSubOpen *bin.Xsqlite3_file
  5320  	var _pGroup *XmultiplexGroup
  5321  	var _p *XmultiplexConn
  5322  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5323  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5324  	_rc = int32(0)
  5325  	if _pGroup.XbEnabled != 0 {
  5326  		goto _0
  5327  	}
  5328  	_1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0))
  5329  	if _1_pSubOpen == nil {
  5330  		_rc = int32(266)
  5331  		goto _2
  5332  	}
  5333  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 {
  5334  		v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxRead
  5335  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v))
  5336  	}()(tls, _1_pSubOpen, _pBuf, _iAmt, _iOfst)
  5337  _2:
  5338  	goto _3
  5339  _0:
  5340  _4:
  5341  	if _iAmt <= int32(0) {
  5342  		goto _5
  5343  	}
  5344  	_5_i = int32(_iOfst / int64(_pGroup.XszChunk))
  5345  	_5_pSubOpen = _multiplexSubOpen(tls, _pGroup, _5_i, &_rc, nil, int32(1))
  5346  	if _5_pSubOpen == nil {
  5347  		goto _6
  5348  	}
  5349  	_6_extra = int32(uint32(int32(_iOfst%int64(_pGroup.XszChunk))+_iAmt) - _pGroup.XszChunk)
  5350  	if _6_extra < int32(0) {
  5351  		_6_extra = int32(0)
  5352  	}
  5353  	_iAmt -= _6_extra
  5354  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 {
  5355  		v := (*bin.Xsqlite3_io_methods)(_5_pSubOpen.XpMethods).XxRead
  5356  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v))
  5357  	}()(tls, _5_pSubOpen, _pBuf, _iAmt, _iOfst%int64(_pGroup.XszChunk))
  5358  	if _rc != int32(0) {
  5359  		goto _5
  5360  	}
  5361  	_pBuf = unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_pBuf) + uintptr(_iAmt))))
  5362  	_iOfst += int64(_iAmt)
  5363  	_iAmt = _6_extra
  5364  	goto _9
  5365  _6:
  5366  	_rc = int32(266)
  5367  	goto _5
  5368  _9:
  5369  	goto _4
  5370  _5:
  5371  _3:
  5372  	return _rc
  5373  }
  5374  
  5375  // C comment
  5376  //  /* Pass xWrite requests thru to the original VFS after
  5377  //  ** determining the correct chunk to operate on.
  5378  //  ** Break up writes across chunk boundaries.
  5379  //  */
  5380  func _multiplexWrite(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pBuf unsafe.Pointer, _iAmt int32, _iOfst int64) (r0 int32) {
  5381  	var _rc, _5_i, _6_extra int32
  5382  	var _1_pSubOpen, _5_pSubOpen *bin.Xsqlite3_file
  5383  	var _pGroup *XmultiplexGroup
  5384  	var _p *XmultiplexConn
  5385  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5386  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5387  	_rc = int32(0)
  5388  	if _pGroup.XbEnabled != 0 {
  5389  		goto _0
  5390  	}
  5391  	_1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0))
  5392  	if _1_pSubOpen == nil {
  5393  		_rc = int32(778)
  5394  		goto _2
  5395  	}
  5396  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 {
  5397  		v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxWrite
  5398  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v))
  5399  	}()(tls, _1_pSubOpen, _pBuf, _iAmt, _iOfst)
  5400  _2:
  5401  	goto _3
  5402  _0:
  5403  _4:
  5404  	if _rc != int32(0) || _iAmt <= int32(0) {
  5405  		goto _5
  5406  	}
  5407  	_5_i = int32(_iOfst / int64(_pGroup.XszChunk))
  5408  	_5_pSubOpen = _multiplexSubOpen(tls, _pGroup, _5_i, &_rc, nil, int32(1))
  5409  	if _5_pSubOpen == nil {
  5410  		goto _7
  5411  	}
  5412  	_6_extra = int32(uint32(int32(_iOfst%int64(_pGroup.XszChunk))+_iAmt) - _pGroup.XszChunk)
  5413  	if _6_extra < int32(0) {
  5414  		_6_extra = int32(0)
  5415  	}
  5416  	_iAmt -= _6_extra
  5417  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32 {
  5418  		v := (*bin.Xsqlite3_io_methods)(_5_pSubOpen.XpMethods).XxWrite
  5419  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, unsafe.Pointer, int32, int64) int32)(unsafe.Pointer(&v))
  5420  	}()(tls, _5_pSubOpen, _pBuf, _iAmt, _iOfst%int64(_pGroup.XszChunk))
  5421  	_pBuf = unsafe.Pointer((*int8)(unsafe.Pointer(uintptr(_pBuf) + uintptr(_iAmt))))
  5422  	_iOfst += int64(_iAmt)
  5423  	_iAmt = _6_extra
  5424  _7:
  5425  	goto _4
  5426  _5:
  5427  _3:
  5428  	return _rc
  5429  }
  5430  
  5431  // C comment
  5432  //  /* Pass xTruncate requests thru to the original VFS after
  5433  //  ** determining the correct chunk to operate on.  Delete any
  5434  //  ** chunks above the truncate mark.
  5435  //  */
  5436  func _multiplexTruncate(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _size int64) (r0 int32) {
  5437  	var _rc, _4_i, _4_iBaseGroup int32
  5438  	var _1_pSubOpen, _4_pSubOpen *bin.Xsqlite3_file
  5439  	var _4_pOrigVfs *bin.Xsqlite3_vfs
  5440  	var _pGroup *XmultiplexGroup
  5441  	var _p *XmultiplexConn
  5442  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5443  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5444  	_rc = int32(0)
  5445  	if _pGroup.XbEnabled != 0 {
  5446  		goto _0
  5447  	}
  5448  	_1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0))
  5449  	if _1_pSubOpen == nil {
  5450  		_rc = int32(1546)
  5451  		goto _2
  5452  	}
  5453  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 {
  5454  		v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxTruncate
  5455  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v))
  5456  	}()(tls, _1_pSubOpen, _size)
  5457  _2:
  5458  	goto _3
  5459  _0:
  5460  	_4_iBaseGroup = int32(_size / int64(_pGroup.XszChunk))
  5461  	_4_pOrigVfs = (*bin.Xsqlite3_vfs)(_gMultiplex.XpOrigVfs)
  5462  	_4_i = _pGroup.XnReal - int32(1)
  5463  _4:
  5464  	if _4_i <= _4_iBaseGroup || _rc != int32(0) {
  5465  		goto _8
  5466  	}
  5467  	if _pGroup.XbTruncate != 0 {
  5468  		_multiplexSubClose(tls, _pGroup, _4_i, _4_pOrigVfs)
  5469  		goto _10
  5470  	}
  5471  	_4_pSubOpen = _multiplexSubOpen(tls, _pGroup, _4_i, &_rc, nil, int32(0))
  5472  	if _4_pSubOpen != nil {
  5473  		_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 {
  5474  			v := (*bin.Xsqlite3_io_methods)(_4_pSubOpen.XpMethods).XxTruncate
  5475  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v))
  5476  		}()(tls, _4_pSubOpen, 0)
  5477  	}
  5478  _10:
  5479  	_4_i -= 1
  5480  	goto _4
  5481  _8:
  5482  	if _rc != int32(0) {
  5483  		goto _12
  5484  	}
  5485  	_4_pSubOpen = _multiplexSubOpen(tls, _pGroup, _4_iBaseGroup, &_rc, nil, int32(0))
  5486  	if _4_pSubOpen != nil {
  5487  		_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int64) int32 {
  5488  			v := (*bin.Xsqlite3_io_methods)(_4_pSubOpen.XpMethods).XxTruncate
  5489  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int64) int32)(unsafe.Pointer(&v))
  5490  		}()(tls, _4_pSubOpen, _size%int64(_pGroup.XszChunk))
  5491  	}
  5492  _12:
  5493  	if _rc != 0 {
  5494  		_rc = int32(1546)
  5495  	}
  5496  _3:
  5497  	return _rc
  5498  }
  5499  
  5500  // C comment
  5501  //  /* Pass xSync requests through to the original VFS without change
  5502  //  */
  5503  func _multiplexSync(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _flags int32) (r0 int32) {
  5504  	var _rc, _i, _2_rc2 int32
  5505  	var _1_pSubOpen *bin.Xsqlite3_file
  5506  	var _pGroup *XmultiplexGroup
  5507  	var _p *XmultiplexConn
  5508  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5509  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5510  	_rc = int32(0)
  5511  	_i = int32(0)
  5512  _0:
  5513  	if _i >= _pGroup.XnReal {
  5514  		goto _3
  5515  	}
  5516  	_1_pSubOpen = (*bin.Xsqlite3_file)(elem12((*TmultiplexReal)(_pGroup.XaReal), uintptr(_i)).Xp)
  5517  	if _1_pSubOpen == nil {
  5518  		goto _4
  5519  	}
  5520  	_2_rc2 = func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 {
  5521  		v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxSync
  5522  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v))
  5523  	}()(tls, _1_pSubOpen, _flags)
  5524  	if _2_rc2 != int32(0) {
  5525  		_rc = _2_rc2
  5526  	}
  5527  _4:
  5528  	_i += 1
  5529  	goto _0
  5530  _3:
  5531  	return _rc
  5532  }
  5533  
  5534  // C comment
  5535  //  /* Pass xFileSize requests through to the original VFS.
  5536  //  ** Aggregate the size of all the chunks before returning.
  5537  //  */
  5538  func _multiplexFileSize(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pSize *int64) (r0 int32) {
  5539  	var _rc, _i int32
  5540  	var _5_sz int64
  5541  	var _1_pSubOpen *bin.Xsqlite3_file
  5542  	var _pGroup *XmultiplexGroup
  5543  	var _p *XmultiplexConn
  5544  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5545  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5546  	_rc = int32(0)
  5547  	if _pGroup.XbEnabled != 0 {
  5548  		goto _0
  5549  	}
  5550  	_1_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0))
  5551  	if _1_pSubOpen == nil {
  5552  		_rc = int32(1802)
  5553  		goto _2
  5554  	}
  5555  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32 {
  5556  		v := (*bin.Xsqlite3_io_methods)(_1_pSubOpen.XpMethods).XxFileSize
  5557  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int64) int32)(unsafe.Pointer(&v))
  5558  	}()(tls, _1_pSubOpen, _pSize)
  5559  _2:
  5560  	goto _3
  5561  _0:
  5562  	*_pSize = 0
  5563  	_i = int32(0)
  5564  _4:
  5565  	if _rc != int32(0) {
  5566  		goto _7
  5567  	}
  5568  	_5_sz = _multiplexSubSize(tls, _pGroup, _i, &_rc)
  5569  	if _5_sz == (0) {
  5570  		goto _7
  5571  	}
  5572  	*_pSize = (int64(_i) * int64(_pGroup.XszChunk)) + _5_sz
  5573  	_i += 1
  5574  	goto _4
  5575  _7:
  5576  _3:
  5577  	return _rc
  5578  }
  5579  
  5580  // C comment
  5581  //  /* Pass xLock requests through to the original VFS unchanged.
  5582  //  */
  5583  func _multiplexLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _lock int32) (r0 int32) {
  5584  	var _rc int32
  5585  	var _pSubOpen *bin.Xsqlite3_file
  5586  	var _p *XmultiplexConn
  5587  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5588  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5589  	if _pSubOpen != nil {
  5590  		return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 {
  5591  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxLock
  5592  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v))
  5593  		}()(tls, _pSubOpen, _lock)
  5594  	}
  5595  	return int32(5)
  5596  }
  5597  
  5598  // C comment
  5599  //  /* Pass xUnlock requests through to the original VFS unchanged.
  5600  //  */
  5601  func _multiplexUnlock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _lock int32) (r0 int32) {
  5602  	var _rc int32
  5603  	var _pSubOpen *bin.Xsqlite3_file
  5604  	var _p *XmultiplexConn
  5605  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5606  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5607  	if _pSubOpen != nil {
  5608  		return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 {
  5609  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxUnlock
  5610  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v))
  5611  		}()(tls, _pSubOpen, _lock)
  5612  	}
  5613  	return int32(2058)
  5614  }
  5615  
  5616  // C comment
  5617  //  /* Pass xCheckReservedLock requests through to the original VFS unchanged.
  5618  //  */
  5619  func _multiplexCheckReservedLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _pResOut *int32) (r0 int32) {
  5620  	var _rc int32
  5621  	var _pSubOpen *bin.Xsqlite3_file
  5622  	var _p *XmultiplexConn
  5623  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5624  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5625  	if _pSubOpen != nil {
  5626  		return func() func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32 {
  5627  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxCheckReservedLock
  5628  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, *int32) int32)(unsafe.Pointer(&v))
  5629  		}()(tls, _pSubOpen, _pResOut)
  5630  	}
  5631  	return int32(3594)
  5632  }
  5633  
  5634  // C comment
  5635  //  /* Pass xFileControl requests through to the original VFS unchanged,
  5636  //  ** except for any MULTIPLEX_CTRL_* requests here.
  5637  //  */
  5638  func _multiplexFileControl(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _op int32, _pArg unsafe.Pointer) (r0 int32) {
  5639  	var _rc, _2_bEnabled int32
  5640  	var _3_szChunk uint32
  5641  	var _6_aFcntl **int8
  5642  	var _pSubOpen *bin.Xsqlite3_file
  5643  	var _pGroup *XmultiplexGroup
  5644  	var _p *XmultiplexConn
  5645  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5646  	_pGroup = (*XmultiplexGroup)(_p.XpGroup)
  5647  	_rc = int32(1)
  5648  	if _gMultiplex.XisInitialized == 0 {
  5649  		return int32(21)
  5650  	}
  5651  	switch _op {
  5652  	case int32(5):
  5653  		goto _5
  5654  	case int32(6):
  5655  		goto _5
  5656  	case int32(14):
  5657  		goto _7
  5658  	case int32(214014):
  5659  		goto _2
  5660  	case int32(214015):
  5661  		goto _3
  5662  	case int32(214016):
  5663  		goto _4
  5664  	default:
  5665  		goto _8
  5666  	}
  5667  
  5668  _2:
  5669  	if _pArg != nil {
  5670  		_2_bEnabled = *(*int32)(_pArg)
  5671  		_pGroup.XbEnabled = uint8(_2_bEnabled)
  5672  		_rc = int32(0)
  5673  	}
  5674  	goto _10
  5675  _3:
  5676  	if _pArg == nil {
  5677  		goto _11
  5678  	}
  5679  	_3_szChunk = *(*uint32)(_pArg)
  5680  	if _3_szChunk < uint32(1) {
  5681  		_rc = int32(21)
  5682  		goto _13
  5683  	}
  5684  	_3_szChunk = _3_szChunk + uint32(65535)
  5685  	_3_szChunk &= uint32(4294901760)
  5686  	_pGroup.XszChunk = _3_szChunk
  5687  	_rc = int32(0)
  5688  _13:
  5689  _11:
  5690  	goto _10
  5691  _4:
  5692  	_rc = int32(0)
  5693  	goto _10
  5694  _5:
  5695  	_rc = int32(0)
  5696  	goto _10
  5697  _7:
  5698  	_6_aFcntl = (**int8)(_pArg)
  5699  	if (*elem1(_6_aFcntl, uintptr(1))) == nil || bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(1)), str(7014)) != int32(0) {
  5700  		goto _15
  5701  	}
  5702  	if (*elem1(_6_aFcntl, uintptr(2))) == nil || (*elem2(*elem1(_6_aFcntl, uintptr(2)), 0)) == 0 {
  5703  		goto _17
  5704  	}
  5705  	if (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7033)) == int32(0)) || (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7036)) == int32(0)) {
  5706  		_pGroup.XbTruncate = uint8(1)
  5707  		goto _22
  5708  	}
  5709  	if (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7038)) == int32(0)) || (bin.Xsqlite3_stricmp(tls, *elem1(_6_aFcntl, uintptr(2)), str(7042)) == int32(0)) {
  5710  		_pGroup.XbTruncate = 0
  5711  	}
  5712  _22:
  5713  _17:
  5714  	*elem1(_6_aFcntl, 0) = bin.Xsqlite3_mprintf(tls, func() *int8 {
  5715  		if _pGroup.XbTruncate != 0 {
  5716  			return str(7033)
  5717  		}
  5718  		return str(7038)
  5719  	}())
  5720  	_rc = int32(0)
  5721  	goto _10
  5722  _15:
  5723  _8:
  5724  	_pSubOpen = _multiplexSubOpen(tls, _pGroup, int32(0), &_rc, nil, int32(0))
  5725  	if _pSubOpen == nil {
  5726  		goto _25
  5727  	}
  5728  	_rc = func() func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32 {
  5729  		v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxFileControl
  5730  		return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, unsafe.Pointer) int32)(unsafe.Pointer(&v))
  5731  	}()(tls, _pSubOpen, _op, _pArg)
  5732  	if (_op == int32(12)) && (_rc == int32(0)) {
  5733  		*(**int8)(_pArg) = bin.Xsqlite3_mprintf(tls, str(7044), unsafe.Pointer(*(**int8)(_pArg)))
  5734  	}
  5735  _25:
  5736  	goto _10
  5737  _10:
  5738  	return _rc
  5739  }
  5740  
  5741  // C comment
  5742  //  /* Pass xSectorSize requests through to the original VFS unchanged.
  5743  //  */
  5744  func _multiplexSectorSize(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) {
  5745  	var _rc int32
  5746  	var _pSubOpen *bin.Xsqlite3_file
  5747  	var _p *XmultiplexConn
  5748  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5749  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5750  	if (_pSubOpen != nil) && (((*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxSectorSize) != nil) {
  5751  		return func() func(*crt.TLS, *bin.Xsqlite3_file) int32 {
  5752  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxSectorSize
  5753  			return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v))
  5754  		}()(tls, _pSubOpen)
  5755  	}
  5756  	return int32(4096)
  5757  }
  5758  
  5759  // C comment
  5760  //  /* Pass xDeviceCharacteristics requests through to the original VFS unchanged.
  5761  //  */
  5762  func _multiplexDeviceCharacteristics(tls *crt.TLS, _pConn *bin.Xsqlite3_file) (r0 int32) {
  5763  	var _rc int32
  5764  	var _pSubOpen *bin.Xsqlite3_file
  5765  	var _p *XmultiplexConn
  5766  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5767  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5768  	if _pSubOpen != nil {
  5769  		return func() func(*crt.TLS, *bin.Xsqlite3_file) int32 {
  5770  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxDeviceCharacteristics
  5771  			return *(*func(*crt.TLS, *bin.Xsqlite3_file) int32)(unsafe.Pointer(&v))
  5772  		}()(tls, _pSubOpen)
  5773  	}
  5774  	return int32(0)
  5775  }
  5776  
  5777  // C comment
  5778  //  /* Pass xShmMap requests through to the original VFS unchanged.
  5779  //  */
  5780  func _multiplexShmMap(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _iRegion int32, _szRegion int32, _bExtend int32, _pp *unsafe.Pointer) (r0 int32) {
  5781  	var _rc int32
  5782  	var _pSubOpen *bin.Xsqlite3_file
  5783  	var _p *XmultiplexConn
  5784  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5785  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5786  	if _pSubOpen != nil {
  5787  		return func() func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32 {
  5788  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmMap
  5789  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32, *unsafe.Pointer) int32)(unsafe.Pointer(&v))
  5790  		}()(tls, _pSubOpen, _iRegion, _szRegion, _bExtend, _pp)
  5791  	}
  5792  	return int32(10)
  5793  }
  5794  
  5795  // C comment
  5796  //  /* Pass xShmLock requests through to the original VFS unchanged.
  5797  //  */
  5798  func _multiplexShmLock(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _ofst int32, _n int32, _flags int32) (r0 int32) {
  5799  	var _rc int32
  5800  	var _pSubOpen *bin.Xsqlite3_file
  5801  	var _p *XmultiplexConn
  5802  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5803  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5804  	if _pSubOpen != nil {
  5805  		return func() func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32 {
  5806  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmLock
  5807  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32, int32, int32) int32)(unsafe.Pointer(&v))
  5808  		}()(tls, _pSubOpen, _ofst, _n, _flags)
  5809  	}
  5810  	return int32(5)
  5811  }
  5812  
  5813  // C comment
  5814  //  /* Pass xShmBarrier requests through to the original VFS unchanged.
  5815  //  */
  5816  func _multiplexShmBarrier(tls *crt.TLS, _pConn *bin.Xsqlite3_file) {
  5817  	var _rc int32
  5818  	var _pSubOpen *bin.Xsqlite3_file
  5819  	var _p *XmultiplexConn
  5820  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5821  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5822  	if _pSubOpen != nil {
  5823  		func() func(*crt.TLS, *bin.Xsqlite3_file) {
  5824  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmBarrier
  5825  			return *(*func(*crt.TLS, *bin.Xsqlite3_file))(unsafe.Pointer(&v))
  5826  		}()(tls, _pSubOpen)
  5827  	}
  5828  }
  5829  
  5830  // C comment
  5831  //  /* Pass xShmUnmap requests through to the original VFS unchanged.
  5832  //  */
  5833  func _multiplexShmUnmap(tls *crt.TLS, _pConn *bin.Xsqlite3_file, _deleteFlag int32) (r0 int32) {
  5834  	var _rc int32
  5835  	var _pSubOpen *bin.Xsqlite3_file
  5836  	var _p *XmultiplexConn
  5837  	_p = (*XmultiplexConn)(unsafe.Pointer(_pConn))
  5838  	_pSubOpen = _multiplexSubOpen(tls, (*XmultiplexGroup)(_p.XpGroup), int32(0), &_rc, nil, int32(0))
  5839  	if _pSubOpen != nil {
  5840  		return func() func(*crt.TLS, *bin.Xsqlite3_file, int32) int32 {
  5841  			v := (*bin.Xsqlite3_io_methods)(_pSubOpen.XpMethods).XxShmUnmap
  5842  			return *(*func(*crt.TLS, *bin.Xsqlite3_file, int32) int32)(unsafe.Pointer(&v))
  5843  		}()(tls, _pSubOpen, _deleteFlag)
  5844  	}
  5845  	return int32(0)
  5846  }
  5847  
  5848  // C comment
  5849  //  /*
  5850  //  ** This is the entry point to register the auto-extension for the
  5851  //  ** multiplex_control() function.
  5852  //  */
  5853  func _multiplexFuncInit(tls *crt.TLS, _db unsafe.Pointer, _pzErrMsg **int8, _pApi *t14) (r0 int32) {
  5854  	var _rc int32
  5855  	_rc = bin.Xsqlite3_create_function(tls, (*bin.Xsqlite3)(_db), str(7057), int32(2), int32(5), nil, func() func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem) {
  5856  		v := _multiplexControlFunc
  5857  		return *(*func(*crt.TLS, *bin.Xsqlite3_context, int32, **bin.XMem))(unsafe.Pointer(&v))
  5858  	}(), nil, nil)
  5859  	return _rc
  5860  }
  5861  
  5862  // C comment
  5863  //  /*
  5864  //  ** This is the implementation of the multiplex_control() SQL function.
  5865  //  */
  5866  func _multiplexControlFunc(tls *crt.TLS, _context unsafe.Pointer, _argc int32, _argv *unsafe.Pointer) {
  5867  	var _rc, _op, _iVal int32
  5868  	var _db unsafe.Pointer
  5869  	_rc = int32(0)
  5870  	_db = unsafe.Pointer(bin.Xsqlite3_context_db_handle(tls, (*bin.Xsqlite3_context)(_context)))
  5871  	_op = int32(0)
  5872  	if (_db == nil) || (_argc != int32(2)) {
  5873  		_rc = int32(1)
  5874  		goto _2
  5875  	}
  5876  	_op = bin.Xsqlite3_value_int(tls, (*bin.XMem)(*elem3(_argv, 0)))
  5877  	_iVal = bin.Xsqlite3_value_int(tls, (*bin.XMem)(*elem3(_argv, uintptr(1))))
  5878  	switch _op {
  5879  	case int32(1):
  5880  		goto _4
  5881  	case int32(2):
  5882  		goto _5
  5883  	case int32(3):
  5884  		goto _6
  5885  	default:
  5886  		goto _7
  5887  	}
  5888  
  5889  _4:
  5890  	_op = int32(214014)
  5891  	goto _8
  5892  _5:
  5893  	_op = int32(214015)
  5894  	goto _8
  5895  _6:
  5896  	_op = int32(214016)
  5897  	goto _8
  5898  _7:
  5899  	_rc = int32(12)
  5900  	goto _8
  5901  _8:
  5902  _2:
  5903  	if _rc == int32(0) {
  5904  		_rc = bin.Xsqlite3_file_control(tls, (*bin.Xsqlite3)(_db), nil, _op, unsafe.Pointer(&_iVal))
  5905  	}
  5906  	bin.Xsqlite3_result_error_code(tls, (*bin.Xsqlite3_context)(_context), _rc)
  5907  	_ = _iVal
  5908  }
  5909  
  5910  func bool2int(b bool) int32 {
  5911  	if b {
  5912  		return 1
  5913  	}
  5914  	return 0
  5915  }
  5916  func bug20530(interface{}) {} //TODO remove when https://github.com/golang/go/issues/20530 is fixed.
  5917  func init()                { nzf32 *= -1; nzf64 *= -1 }
  5918  
  5919  var inf = math.Inf(1)
  5920  var nzf32 float32 // -0.0
  5921  var nzf64 float64 // -0.0
  5922  func elem1(a **int8, index uintptr) **int8 {
  5923  	return (**int8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 8*index))
  5924  }
  5925  func elem3(a *unsafe.Pointer, index uintptr) *unsafe.Pointer {
  5926  	return (*unsafe.Pointer)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 8*index))
  5927  }
  5928  func elem8(a *int32, index uintptr) *int32 {
  5929  	return (*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index))
  5930  }
  5931  func elem2(a *int8, index uintptr) *int8 {
  5932  	return (*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 1*index))
  5933  }
  5934  func elem11(a *XmultiplexGroup, index uintptr) *XmultiplexGroup {
  5935  	return (*XmultiplexGroup)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 40*index))
  5936  }
  5937  func elem12(a *TmultiplexReal, index uintptr) *TmultiplexReal {
  5938  	return (*TmultiplexReal)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 16*index))
  5939  }
  5940  func elem9(a *TStress2Task, index uintptr) *TStress2Task {
  5941  	return (*TStress2Task)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 8*index))
  5942  }
  5943  func elem0(a *TThreadTest, index uintptr) *TThreadTest {
  5944  	return (*TThreadTest)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 24*index))
  5945  }
  5946  func elem4(a *uint32, index uintptr) *uint32 {
  5947  	return (*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 4*index))
  5948  }
  5949  func elem6(a *uint8, index uintptr) *uint8 {
  5950  	return (*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(a)) + 1*index))
  5951  }
  5952  func postInc6(p **uint8, d int) *uint8 {
  5953  	q := (*uintptr)(unsafe.Pointer(p))
  5954  	v := *q
  5955  	*q += uintptr(d)
  5956  	return (*uint8)(unsafe.Pointer(v))
  5957  }
  5958  func postInc7(p *int32, d int32) int32                                       { v := *p; *p += d; return v }
  5959  func preInc7(p *int32, d int32) int32                                        { v := *p + d; *p = v; return v }
  5960  func preInc5(p *uint32, d uint32) uint32                                     { v := *p + d; *p = v; return v }
  5961  func store2(p **int8, v *int8) *int8                                         { *p = v; return v }
  5962  func store13(p **bin.Xsqlite3_file, v *bin.Xsqlite3_file) *bin.Xsqlite3_file { *p = v; return v }
  5963  func store7(p *int32, v int32) int32                                         { *p = v; return v }
  5964  func store5(p *uint32, v uint32) uint32                                      { *p = v; return v }
  5965  
  5966  type XmultiplexGroup struct {
  5967  	XaReal     unsafe.Pointer
  5968  	XnReal     int32
  5969  	XzName     *int8
  5970  	XnName     int32
  5971  	Xflags     int32
  5972  	XszChunk   uint32
  5973  	XbEnabled  uint8
  5974  	XbTruncate uint8
  5975  } // t15 struct{aReal *struct{},nReal int32,zName *int8,nName int32,flags int32,szChunk uint32,bEnabled uint8,bTruncate uint8}
  5976  
  5977  type TmultiplexReal struct {
  5978  	Xp unsafe.Pointer
  5979  	Xz *int8
  5980  } // t16 struct{p *struct{},z *int8}
  5981  
  5982  type XmultiplexConn struct {
  5983  	Xbase   bin.Xsqlite3_file
  5984  	XpGroup unsafe.Pointer
  5985  } // t17 struct{base struct{pMethods *struct{}},pGroup *struct{}}
  5986  
  5987  type XMD5Context struct {
  5988  	XisInit int32
  5989  	Xbuf    [4]uint32
  5990  	Xbits   [2]uint32
  5991  	Xu      t18
  5992  } // t19 struct{isInit int32,buf [4]uint32,bits [2]uint32,u union{in [64]uint8,in32 [16]uint32}}
  5993  
  5994  type XError struct {
  5995  	Xrc    int32
  5996  	XiLine int32
  5997  	XzErr  *int8
  5998  } // t20 struct{rc int32,iLine int32,zErr *int8}
  5999  
  6000  type XSqlite struct {
  6001  	Xdb     unsafe.Pointer
  6002  	XpCache unsafe.Pointer
  6003  	XnText  int32
  6004  	XaText  **int8
  6005  } // t21 struct{db *struct{},pCache *struct{},nText int32,aText **int8}
  6006  
  6007  type XStatement struct {
  6008  	XpStmt unsafe.Pointer
  6009  	XpNext unsafe.Pointer
  6010  } // t22 struct{pStmt *struct{},pNext *struct{}}
  6011  
  6012  type XThread struct {
  6013  	XiTid  int32
  6014  	XpArg  unsafe.Pointer
  6015  	Xtid   uint64
  6016  	XxProc func(*crt.TLS, int32, unsafe.Pointer) *int8
  6017  	XpNext unsafe.Pointer
  6018  } // t23 struct{iTid int32,pArg *struct{},tid uint64,xProc *func(int32,*struct{})*int8,pNext *struct{}}
  6019  
  6020  type XThreadset struct {
  6021  	XiMaxTid int32
  6022  	XpThread unsafe.Pointer
  6023  } // t24 struct{iMaxTid int32,pThread *struct{}}
  6024  
  6025  type XCheckpointStarvationCtx struct {
  6026  	XeMode     int32
  6027  	XnMaxFrame int32
  6028  } // t25 struct{eMode int32,nMaxFrame int32}
  6029  
  6030  type XStress2Ctx struct {
  6031  	XzDb   *int8
  6032  	XxProc func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32)
  6033  } // t26 struct{zDb *int8,xProc *func(*struct{},*struct{},int32)}
  6034  
  6035  type TStress2Task struct {
  6036  	Xx func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32)
  6037  } // t27 struct{x *func(*struct{},*struct{},int32)}
  6038  
  6039  type TThreadTest struct {
  6040  	XxTest func(*crt.TLS, int32)
  6041  	XzTest *int8
  6042  	XnMs   int32
  6043  } // t28 struct{xTest *func(int32),zTest *int8,nMs int32}
  6044  
  6045  type t10 struct {
  6046  	XpOrigVfs      unsafe.Pointer
  6047  	XsThisVfs      bin.Xsqlite3_vfs
  6048  	XsIoMethodsV1  bin.Xsqlite3_io_methods
  6049  	XsIoMethodsV2  bin.Xsqlite3_io_methods
  6050  	XisInitialized int32
  6051  } // struct{pOrigVfs *struct{},sThisVfs struct{iVersion int32,szOsFile int32,mxPathname int32,pNext *struct{},zName *int8,pAppData *struct{},xOpen *func(*struct{},*int8,*struct{},int32,*int32)int32,xDelete *func(*struct{},*int8,int32)int32,xAccess *func(*struct{},*int8,int32,*int32)int32,xFullPathname *func(*struct{},*int8,int32,*int8)int32,xDlOpen *func(*struct{},*int8)*struct{},xDlError *func(*struct{},int32,*int8),xDlSym *func(*struct{},*struct{},*int8)*func(),xDlClose *func(*struct{},*struct{}),xRandomness *func(*struct{},int32,*int8)int32,xSleep *func(*struct{},int32)int32,xCurrentTime *func(*struct{},*float64)int32,xGetLastError *func(*struct{},int32,*int8)int32,xCurrentTimeInt64 *func(*struct{},*int64)int32,xSetSystemCall *func(*struct{},*int8,*func())int32,xGetSystemCall *func(*struct{},*int8)*func(),xNextSystemCall *func(*struct{},*int8)*int8},sIoMethodsV1 struct{iVersion int32,xClose *func(*struct{})int32,xRead *func(*struct{},*struct{},int32,int64)int32,xWrite *func(*struct{},*struct{},int32,int64)int32,xTruncate *func(*struct{},int64)int32,xSync *func(*struct{},int32)int32,xFileSize *func(*struct{},*int64)int32,xLock *func(*struct{},int32)int32,xUnlock *func(*struct{},int32)int32,xCheckReservedLock *func(*struct{},*int32)int32,xFileControl *func(*struct{},int32,*struct{})int32,xSectorSize *func(*struct{})int32,xDeviceCharacteristics *func(*struct{})int32,xShmMap *func(*struct{},int32,int32,int32,**struct{})int32,xShmLock *func(*struct{},int32,int32,int32)int32,xShmBarrier *func(*struct{}),xShmUnmap *func(*struct{},int32)int32,xFetch *func(*struct{},int64,int32,**struct{})int32,xUnfetch *func(*struct{},int64,*struct{})int32},sIoMethodsV2 struct{iVersion int32,xClose *func(*struct{})int32,xRead *func(*struct{},*struct{},int32,int64)int32,xWrite *func(*struct{},*struct{},int32,int64)int32,xTruncate *func(*struct{},int64)int32,xSync *func(*struct{},int32)int32,xFileSize *func(*struct{},*int64)int32,xLock *func(*struct{},int32)int32,xUnlock *func(*struct{},int32)int32,xCheckReservedLock *func(*struct{},*int32)int32,xFileControl *func(*struct{},int32,*struct{})int32,xSectorSize *func(*struct{})int32,xDeviceCharacteristics *func(*struct{})int32,xShmMap *func(*struct{},int32,int32,int32,**struct{})int32,xShmLock *func(*struct{},int32,int32,int32)int32,xShmBarrier *func(*struct{}),xShmUnmap *func(*struct{},int32)int32,xFetch *func(*struct{},int64,int32,**struct{})int32,xUnfetch *func(*struct{},int64,*struct{})int32},isInitialized int32}
  6052  
  6053  type t14 struct {
  6054  	Xaggregate_context      func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6055  	Xaggregate_count        func(*crt.TLS, unsafe.Pointer) int32
  6056  	Xbind_blob              func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32
  6057  	Xbind_double            func(*crt.TLS, unsafe.Pointer, int32, float64) int32
  6058  	Xbind_int               func(*crt.TLS, unsafe.Pointer, int32, int32) int32
  6059  	Xbind_int64             func(*crt.TLS, unsafe.Pointer, int32, int64) int32
  6060  	Xbind_null              func(*crt.TLS, unsafe.Pointer, int32) int32
  6061  	Xbind_parameter_count   func(*crt.TLS, unsafe.Pointer) int32
  6062  	Xbind_parameter_index   func(*crt.TLS, unsafe.Pointer, *int8) int32
  6063  	Xbind_parameter_name    func(*crt.TLS, unsafe.Pointer, int32) *int8
  6064  	Xbind_text              func(*crt.TLS, unsafe.Pointer, int32, *int8, int32, func(*crt.TLS, unsafe.Pointer)) int32
  6065  	Xbind_text16            func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer)) int32
  6066  	Xbind_value             func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer) int32
  6067  	Xbusy_handler           func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32) int32, unsafe.Pointer) int32
  6068  	Xbusy_timeout           func(*crt.TLS, unsafe.Pointer, int32) int32
  6069  	Xchanges                func(*crt.TLS, unsafe.Pointer) int32
  6070  	Xclose                  func(*crt.TLS, unsafe.Pointer) int32
  6071  	Xcollation_needed       func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *int8)) int32
  6072  	Xcollation_needed16     func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer)) int32
  6073  	Xcolumn_blob            func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6074  	Xcolumn_bytes           func(*crt.TLS, unsafe.Pointer, int32) int32
  6075  	Xcolumn_bytes16         func(*crt.TLS, unsafe.Pointer, int32) int32
  6076  	Xcolumn_count           func(*crt.TLS, unsafe.Pointer) int32
  6077  	Xcolumn_database_name   func(*crt.TLS, unsafe.Pointer, int32) *int8
  6078  	Xcolumn_database_name16 func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6079  	Xcolumn_decltype        func(*crt.TLS, unsafe.Pointer, int32) *int8
  6080  	Xcolumn_decltype16      func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6081  	Xcolumn_double          func(*crt.TLS, unsafe.Pointer, int32) float64
  6082  	Xcolumn_int             func(*crt.TLS, unsafe.Pointer, int32) int32
  6083  	Xcolumn_int64           func(*crt.TLS, unsafe.Pointer, int32) int64
  6084  	Xcolumn_name            func(*crt.TLS, unsafe.Pointer, int32) *int8
  6085  	Xcolumn_name16          func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6086  	Xcolumn_origin_name     func(*crt.TLS, unsafe.Pointer, int32) *int8
  6087  	Xcolumn_origin_name16   func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6088  	Xcolumn_table_name      func(*crt.TLS, unsafe.Pointer, int32) *int8
  6089  	Xcolumn_table_name16    func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6090  	Xcolumn_text            func(*crt.TLS, unsafe.Pointer, int32) *uint8
  6091  	Xcolumn_text16          func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6092  	Xcolumn_type            func(*crt.TLS, unsafe.Pointer, int32) int32
  6093  	Xcolumn_value           func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6094  	Xcommit_hook            func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer) unsafe.Pointer
  6095  	Xcomplete               func(*crt.TLS, *int8) int32
  6096  	Xcomplete16             func(*crt.TLS, unsafe.Pointer) int32
  6097  	Xcreate_collation       func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32
  6098  	Xcreate_collation16     func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32) int32
  6099  	Xcreate_function        func(*crt.TLS, unsafe.Pointer, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32
  6100  	Xcreate_function16      func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32
  6101  	Xcreate_module          func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer) int32
  6102  	Xdata_count             func(*crt.TLS, unsafe.Pointer) int32
  6103  	Xdb_handle              func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6104  	Xdeclare_vtab           func(*crt.TLS, unsafe.Pointer, *int8) int32
  6105  	Xenable_shared_cache    func(*crt.TLS, int32) int32
  6106  	Xerrcode                func(*crt.TLS, unsafe.Pointer) int32
  6107  	Xerrmsg                 func(*crt.TLS, unsafe.Pointer) *int8
  6108  	Xerrmsg16               func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6109  	Xexec                   func(*crt.TLS, unsafe.Pointer, *int8, func(*crt.TLS, unsafe.Pointer, int32, **int8, **int8) int32, unsafe.Pointer, **int8) int32
  6110  	Xexpired                func(*crt.TLS, unsafe.Pointer) int32
  6111  	Xfinalize               func(*crt.TLS, unsafe.Pointer) int32
  6112  	Xfree                   func(*crt.TLS, unsafe.Pointer)
  6113  	Xfree_table             func(*crt.TLS, **int8)
  6114  	Xget_autocommit         func(*crt.TLS, unsafe.Pointer) int32
  6115  	Xget_auxdata            func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6116  	Xget_table              func(*crt.TLS, unsafe.Pointer, *int8, ***int8, *int32, *int32, **int8) int32
  6117  	Xglobal_recover         func(*crt.TLS) int32
  6118  	Xinterruptx             func(*crt.TLS, unsafe.Pointer)
  6119  	Xlast_insert_rowid      func(*crt.TLS, unsafe.Pointer) int64
  6120  	Xlibversion             func(*crt.TLS) *int8
  6121  	Xlibversion_number      func(*crt.TLS) int32
  6122  	Xmalloc                 func(*crt.TLS, int32) unsafe.Pointer
  6123  	Xmprintf                func(*crt.TLS, *int8, ...interface{}) *int8
  6124  	Xopen                   func(*crt.TLS, *int8, *unsafe.Pointer) int32
  6125  	Xopen16                 func(*crt.TLS, unsafe.Pointer, *unsafe.Pointer) int32
  6126  	Xprepare                func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32
  6127  	Xprepare16              func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32
  6128  	Xprofile                func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8, uint64), unsafe.Pointer) unsafe.Pointer
  6129  	Xprogress_handler       func(*crt.TLS, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer) int32, unsafe.Pointer)
  6130  	Xrealloc                func(*crt.TLS, unsafe.Pointer, int32) unsafe.Pointer
  6131  	Xreset                  func(*crt.TLS, unsafe.Pointer) int32
  6132  	Xresult_blob            func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer))
  6133  	Xresult_double          func(*crt.TLS, unsafe.Pointer, float64)
  6134  	Xresult_error           func(*crt.TLS, unsafe.Pointer, *int8, int32)
  6135  	Xresult_error16         func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32)
  6136  	Xresult_int             func(*crt.TLS, unsafe.Pointer, int32)
  6137  	Xresult_int64           func(*crt.TLS, unsafe.Pointer, int64)
  6138  	Xresult_null            func(*crt.TLS, unsafe.Pointer)
  6139  	Xresult_text            func(*crt.TLS, unsafe.Pointer, *int8, int32, func(*crt.TLS, unsafe.Pointer))
  6140  	Xresult_text16          func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer))
  6141  	Xresult_text16be        func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer))
  6142  	Xresult_text16le        func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, func(*crt.TLS, unsafe.Pointer))
  6143  	Xresult_value           func(*crt.TLS, unsafe.Pointer, unsafe.Pointer)
  6144  	Xrollback_hook          func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer), unsafe.Pointer) unsafe.Pointer
  6145  	Xset_authorizer         func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, *int8, *int8) int32, unsafe.Pointer) int32
  6146  	Xset_auxdata            func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer))
  6147  	Xsnprintf               func(*crt.TLS, int32, *int8, *int8, ...interface{}) *int8
  6148  	Xstep                   func(*crt.TLS, unsafe.Pointer) int32
  6149  	Xtable_column_metadata  func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, **int8, **int8, *int32, *int32, *int32) int32
  6150  	Xthread_cleanup         func(*crt.TLS)
  6151  	Xtotal_changes          func(*crt.TLS, unsafe.Pointer) int32
  6152  	Xtrace                  func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, *int8), unsafe.Pointer) unsafe.Pointer
  6153  	Xtransfer_bindings      func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) int32
  6154  	Xupdate_hook            func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *int8, *int8, int64), unsafe.Pointer) unsafe.Pointer
  6155  	Xuser_data              func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6156  	Xvalue_blob             func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6157  	Xvalue_bytes            func(*crt.TLS, unsafe.Pointer) int32
  6158  	Xvalue_bytes16          func(*crt.TLS, unsafe.Pointer) int32
  6159  	Xvalue_double           func(*crt.TLS, unsafe.Pointer) float64
  6160  	Xvalue_int              func(*crt.TLS, unsafe.Pointer) int32
  6161  	Xvalue_int64            func(*crt.TLS, unsafe.Pointer) int64
  6162  	Xvalue_numeric_type     func(*crt.TLS, unsafe.Pointer) int32
  6163  	Xvalue_text             func(*crt.TLS, unsafe.Pointer) *uint8
  6164  	Xvalue_text16           func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6165  	Xvalue_text16be         func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6166  	Xvalue_text16le         func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6167  	Xvalue_type             func(*crt.TLS, unsafe.Pointer) int32
  6168  	Xvmprintf               func(*crt.TLS, *int8, unsafe.Pointer) *int8
  6169  	Xoverload_function      func(*crt.TLS, unsafe.Pointer, *int8, int32) int32
  6170  	Xprepare_v2             func(*crt.TLS, unsafe.Pointer, *int8, int32, *unsafe.Pointer, **int8) int32
  6171  	Xprepare16_v2           func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, *unsafe.Pointer, *unsafe.Pointer) int32
  6172  	Xclear_bindings         func(*crt.TLS, unsafe.Pointer) int32
  6173  	Xcreate_module_v2       func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer)) int32
  6174  	Xbind_zeroblob          func(*crt.TLS, unsafe.Pointer, int32, int32) int32
  6175  	Xblob_bytes             func(*crt.TLS, unsafe.Pointer) int32
  6176  	Xblob_close             func(*crt.TLS, unsafe.Pointer) int32
  6177  	Xblob_open              func(*crt.TLS, unsafe.Pointer, *int8, *int8, *int8, int64, int32, *unsafe.Pointer) int32
  6178  	Xblob_read              func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32
  6179  	Xblob_write             func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, int32, int32) int32
  6180  	Xcreate_collation_v2    func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, int32, unsafe.Pointer) int32, func(*crt.TLS, unsafe.Pointer)) int32
  6181  	Xfile_control           func(*crt.TLS, unsafe.Pointer, *int8, int32, unsafe.Pointer) int32
  6182  	Xmemory_highwater       func(*crt.TLS, int32) int64
  6183  	Xmemory_used            func(*crt.TLS) int64
  6184  	Xmutex_alloc            func(*crt.TLS, int32) unsafe.Pointer
  6185  	Xmutex_enter            func(*crt.TLS, unsafe.Pointer)
  6186  	Xmutex_free             func(*crt.TLS, unsafe.Pointer)
  6187  	Xmutex_leave            func(*crt.TLS, unsafe.Pointer)
  6188  	Xmutex_try              func(*crt.TLS, unsafe.Pointer) int32
  6189  	Xopen_v2                func(*crt.TLS, *int8, *unsafe.Pointer, int32, *int8) int32
  6190  	Xrelease_memory         func(*crt.TLS, int32) int32
  6191  	Xresult_error_nomem     func(*crt.TLS, unsafe.Pointer)
  6192  	Xresult_error_toobig    func(*crt.TLS, unsafe.Pointer)
  6193  	Xsleep                  func(*crt.TLS, int32) int32
  6194  	Xsoft_heap_limit        func(*crt.TLS, int32)
  6195  	Xvfs_find               func(*crt.TLS, *int8) unsafe.Pointer
  6196  	Xvfs_register           func(*crt.TLS, unsafe.Pointer, int32) int32
  6197  	Xvfs_unregister         func(*crt.TLS, unsafe.Pointer) int32
  6198  	Xxthreadsafe            func(*crt.TLS) int32
  6199  	Xresult_zeroblob        func(*crt.TLS, unsafe.Pointer, int32)
  6200  	Xresult_error_code      func(*crt.TLS, unsafe.Pointer, int32)
  6201  	Xtest_control           func(*crt.TLS, int32, ...interface{}) int32
  6202  	Xrandomness             func(*crt.TLS, int32, unsafe.Pointer)
  6203  	Xcontext_db_handle      func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6204  	Xextended_result_codes  func(*crt.TLS, unsafe.Pointer, int32) int32
  6205  	Xlimit                  func(*crt.TLS, unsafe.Pointer, int32, int32) int32
  6206  	Xnext_stmt              func(*crt.TLS, unsafe.Pointer, unsafe.Pointer) unsafe.Pointer
  6207  	Xsql                    func(*crt.TLS, unsafe.Pointer) *int8
  6208  	Xstatus                 func(*crt.TLS, int32, *int32, *int32, int32) int32
  6209  	Xbackup_finish          func(*crt.TLS, unsafe.Pointer) int32
  6210  	Xbackup_init            func(*crt.TLS, unsafe.Pointer, *int8, unsafe.Pointer, *int8) unsafe.Pointer
  6211  	Xbackup_pagecount       func(*crt.TLS, unsafe.Pointer) int32
  6212  	Xbackup_remaining       func(*crt.TLS, unsafe.Pointer) int32
  6213  	Xbackup_step            func(*crt.TLS, unsafe.Pointer, int32) int32
  6214  	Xcompileoption_get      func(*crt.TLS, int32) *int8
  6215  	Xcompileoption_used     func(*crt.TLS, *int8) int32
  6216  	Xcreate_function_v2     func(*crt.TLS, unsafe.Pointer, *int8, int32, int32, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer, int32, *unsafe.Pointer), func(*crt.TLS, unsafe.Pointer), func(*crt.TLS, unsafe.Pointer)) int32
  6217  	Xdb_config              func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32
  6218  	Xdb_mutex               func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6219  	Xdb_status              func(*crt.TLS, unsafe.Pointer, int32, *int32, *int32, int32) int32
  6220  	Xextended_errcode       func(*crt.TLS, unsafe.Pointer) int32
  6221  	Xlog                    func(*crt.TLS, int32, *int8, ...interface{})
  6222  	Xsoft_heap_limit64      func(*crt.TLS, int64) int64
  6223  	Xsourceid               func(*crt.TLS) *int8
  6224  	Xstmt_status            func(*crt.TLS, unsafe.Pointer, int32, int32) int32
  6225  	Xstrnicmp               func(*crt.TLS, *int8, *int8, int32) int32
  6226  	Xunlock_notify          func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, *unsafe.Pointer, int32), unsafe.Pointer) int32
  6227  	Xwal_autocheckpoint     func(*crt.TLS, unsafe.Pointer, int32) int32
  6228  	Xwal_checkpoint         func(*crt.TLS, unsafe.Pointer, *int8) int32
  6229  	Xwal_hook               func(*crt.TLS, unsafe.Pointer, func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, *int8, int32) int32, unsafe.Pointer) unsafe.Pointer
  6230  	Xblob_reopen            func(*crt.TLS, unsafe.Pointer, int64) int32
  6231  	Xvtab_config            func(*crt.TLS, unsafe.Pointer, int32, ...interface{}) int32
  6232  	Xvtab_on_conflict       func(*crt.TLS, unsafe.Pointer) int32
  6233  	Xclose_v2               func(*crt.TLS, unsafe.Pointer) int32
  6234  	Xdb_filename            func(*crt.TLS, unsafe.Pointer, *int8) *int8
  6235  	Xdb_readonly            func(*crt.TLS, unsafe.Pointer, *int8) int32
  6236  	Xdb_release_memory      func(*crt.TLS, unsafe.Pointer) int32
  6237  	Xerrstr                 func(*crt.TLS, int32) *int8
  6238  	Xstmt_busy              func(*crt.TLS, unsafe.Pointer) int32
  6239  	Xstmt_readonly          func(*crt.TLS, unsafe.Pointer) int32
  6240  	Xstricmp                func(*crt.TLS, *int8, *int8) int32
  6241  	Xuri_boolean            func(*crt.TLS, *int8, *int8, int32) int32
  6242  	Xuri_int64              func(*crt.TLS, *int8, *int8, int64) int64
  6243  	Xuri_parameter          func(*crt.TLS, *int8, *int8) *int8
  6244  	Xvsnprintf              func(*crt.TLS, int32, *int8, *int8, unsafe.Pointer) *int8
  6245  	Xwal_checkpoint_v2      func(*crt.TLS, unsafe.Pointer, *int8, int32, *int32, *int32) int32
  6246  	Xauto_extension         func(*crt.TLS, func(*crt.TLS)) int32
  6247  	Xbind_blob64            func(*crt.TLS, unsafe.Pointer, int32, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer)) int32
  6248  	Xbind_text64            func(*crt.TLS, unsafe.Pointer, int32, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8) int32
  6249  	Xcancel_auto_extension  func(*crt.TLS, func(*crt.TLS)) int32
  6250  	Xload_extension         func(*crt.TLS, unsafe.Pointer, *int8, *int8, **int8) int32
  6251  	Xmalloc64               func(*crt.TLS, uint64) unsafe.Pointer
  6252  	Xmsize                  func(*crt.TLS, unsafe.Pointer) uint64
  6253  	Xrealloc64              func(*crt.TLS, unsafe.Pointer, uint64) unsafe.Pointer
  6254  	Xreset_auto_extension   func(*crt.TLS)
  6255  	Xresult_blob64          func(*crt.TLS, unsafe.Pointer, unsafe.Pointer, uint64, func(*crt.TLS, unsafe.Pointer))
  6256  	Xresult_text64          func(*crt.TLS, unsafe.Pointer, *int8, uint64, func(*crt.TLS, unsafe.Pointer), uint8)
  6257  	Xstrglob                func(*crt.TLS, *int8, *int8) int32
  6258  	Xvalue_dup              func(*crt.TLS, unsafe.Pointer) unsafe.Pointer
  6259  	Xvalue_free             func(*crt.TLS, unsafe.Pointer)
  6260  	Xresult_zeroblob64      func(*crt.TLS, unsafe.Pointer, uint64) int32
  6261  	Xbind_zeroblob64        func(*crt.TLS, unsafe.Pointer, int32, uint64) int32
  6262  	Xvalue_subtype          func(*crt.TLS, unsafe.Pointer) uint32
  6263  	Xresult_subtype         func(*crt.TLS, unsafe.Pointer, uint32)
  6264  	Xstatus64               func(*crt.TLS, int32, *int64, *int64, int32) int32
  6265  	Xstrlike                func(*crt.TLS, *int8, *int8, uint32) int32
  6266  	Xdb_cacheflush          func(*crt.TLS, unsafe.Pointer) int32
  6267  	Xsystem_errno           func(*crt.TLS, unsafe.Pointer) int32
  6268  	Xtrace_v2               func(*crt.TLS, unsafe.Pointer, uint32, func(*crt.TLS, uint32, unsafe.Pointer, unsafe.Pointer, unsafe.Pointer) int32, unsafe.Pointer) int32
  6269  	Xexpanded_sql           func(*crt.TLS, unsafe.Pointer) *int8
  6270  	Xset_last_insert_rowid  func(*crt.TLS, unsafe.Pointer, int64)
  6271  } // struct{aggregate_context *func(*struct{},int32)*struct{},aggregate_count *func(*struct{})int32,bind_blob *func(*struct{},int32,*struct{},int32,*func(*struct{}))int32,bind_double *func(*struct{},int32,float64)int32,bind_int *func(*struct{},int32,int32)int32,bind_int64 *func(*struct{},int32,int64)int32,bind_null *func(*struct{},int32)int32,bind_parameter_count *func(*struct{})int32,bind_parameter_index *func(*struct{},*int8)int32,bind_parameter_name *func(*struct{},int32)*int8,bind_text *func(*struct{},int32,*int8,int32,*func(*struct{}))int32,bind_text16 *func(*struct{},int32,*struct{},int32,*func(*struct{}))int32,bind_value *func(*struct{},int32,*struct{})int32,busy_handler *func(*struct{},*func(*struct{},int32)int32,*struct{})int32,busy_timeout *func(*struct{},int32)int32,changes *func(*struct{})int32,close *func(*struct{})int32,collation_needed *func(*struct{},*struct{},*func(*struct{},*struct{},int32,*int8))int32,collation_needed16 *func(*struct{},*struct{},*func(*struct{},*struct{},int32,*struct{}))int32,column_blob *func(*struct{},int32)*struct{},column_bytes *func(*struct{},int32)int32,column_bytes16 *func(*struct{},int32)int32,column_count *func(*struct{})int32,column_database_name *func(*struct{},int32)*int8,column_database_name16 *func(*struct{},int32)*struct{},column_decltype *func(*struct{},int32)*int8,column_decltype16 *func(*struct{},int32)*struct{},column_double *func(*struct{},int32)float64,column_int *func(*struct{},int32)int32,column_int64 *func(*struct{},int32)int64,column_name *func(*struct{},int32)*int8,column_name16 *func(*struct{},int32)*struct{},column_origin_name *func(*struct{},int32)*int8,column_origin_name16 *func(*struct{},int32)*struct{},column_table_name *func(*struct{},int32)*int8,column_table_name16 *func(*struct{},int32)*struct{},column_text *func(*struct{},int32)*uint8,column_text16 *func(*struct{},int32)*struct{},column_type *func(*struct{},int32)int32,column_value *func(*struct{},int32)*struct{},commit_hook *func(*struct{},*func(*struct{})int32,*struct{})*struct{},complete *func(*int8)int32,complete16 *func(*struct{})int32,create_collation *func(*struct{},*int8,int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32)int32,create_collation16 *func(*struct{},*struct{},int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32)int32,create_function *func(*struct{},*int8,int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}))int32,create_function16 *func(*struct{},*struct{},int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}))int32,create_module *func(*struct{},*int8,*struct{},*struct{})int32,data_count *func(*struct{})int32,db_handle *func(*struct{})*struct{},declare_vtab *func(*struct{},*int8)int32,enable_shared_cache *func(int32)int32,errcode *func(*struct{})int32,errmsg *func(*struct{})*int8,errmsg16 *func(*struct{})*struct{},exec *func(*struct{},*int8,*func(*struct{},int32,**int8,**int8)int32,*struct{},**int8)int32,expired *func(*struct{})int32,finalize *func(*struct{})int32,free *func(*struct{}),free_table *func(**int8),get_autocommit *func(*struct{})int32,get_auxdata *func(*struct{},int32)*struct{},get_table *func(*struct{},*int8,***int8,*int32,*int32,**int8)int32,global_recover *func()int32,interruptx *func(*struct{}),last_insert_rowid *func(*struct{})int64,libversion *func()*int8,libversion_number *func()int32,malloc *func(int32)*struct{},mprintf *func(*int8...)*int8,open *func(*int8,**struct{})int32,open16 *func(*struct{},**struct{})int32,prepare *func(*struct{},*int8,int32,**struct{},**int8)int32,prepare16 *func(*struct{},*struct{},int32,**struct{},**struct{})int32,profile *func(*struct{},*func(*struct{},*int8,uint64),*struct{})*struct{},progress_handler *func(*struct{},int32,*func(*struct{})int32,*struct{}),realloc *func(*struct{},int32)*struct{},reset *func(*struct{})int32,result_blob *func(*struct{},*struct{},int32,*func(*struct{})),result_double *func(*struct{},float64),result_error *func(*struct{},*int8,int32),result_error16 *func(*struct{},*struct{},int32),result_int *func(*struct{},int32),result_int64 *func(*struct{},int64),result_null *func(*struct{}),result_text *func(*struct{},*int8,int32,*func(*struct{})),result_text16 *func(*struct{},*struct{},int32,*func(*struct{})),result_text16be *func(*struct{},*struct{},int32,*func(*struct{})),result_text16le *func(*struct{},*struct{},int32,*func(*struct{})),result_value *func(*struct{},*struct{}),rollback_hook *func(*struct{},*func(*struct{}),*struct{})*struct{},set_authorizer *func(*struct{},*func(*struct{},int32,*int8,*int8,*int8,*int8)int32,*struct{})int32,set_auxdata *func(*struct{},int32,*struct{},*func(*struct{})),snprintf *func(int32,*int8,*int8...)*int8,step *func(*struct{})int32,table_column_metadata *func(*struct{},*int8,*int8,*int8,**int8,**int8,*int32,*int32,*int32)int32,thread_cleanup *func(),total_changes *func(*struct{})int32,trace *func(*struct{},*func(*struct{},*int8),*struct{})*struct{},transfer_bindings *func(*struct{},*struct{})int32,update_hook *func(*struct{},*func(*struct{},int32,*int8,*int8,int64),*struct{})*struct{},user_data *func(*struct{})*struct{},value_blob *func(*struct{})*struct{},value_bytes *func(*struct{})int32,value_bytes16 *func(*struct{})int32,value_double *func(*struct{})float64,value_int *func(*struct{})int32,value_int64 *func(*struct{})int64,value_numeric_type *func(*struct{})int32,value_text *func(*struct{})*uint8,value_text16 *func(*struct{})*struct{},value_text16be *func(*struct{})*struct{},value_text16le *func(*struct{})*struct{},value_type *func(*struct{})int32,vmprintf *func(*int8,*struct{})*int8,overload_function *func(*struct{},*int8,int32)int32,prepare_v2 *func(*struct{},*int8,int32,**struct{},**int8)int32,prepare16_v2 *func(*struct{},*struct{},int32,**struct{},**struct{})int32,clear_bindings *func(*struct{})int32,create_module_v2 *func(*struct{},*int8,*struct{},*struct{},*func(*struct{}))int32,bind_zeroblob *func(*struct{},int32,int32)int32,blob_bytes *func(*struct{})int32,blob_close *func(*struct{})int32,blob_open *func(*struct{},*int8,*int8,*int8,int64,int32,**struct{})int32,blob_read *func(*struct{},*struct{},int32,int32)int32,blob_write *func(*struct{},*struct{},int32,int32)int32,create_collation_v2 *func(*struct{},*int8,int32,*struct{},*func(*struct{},int32,*struct{},int32,*struct{})int32,*func(*struct{}))int32,file_control *func(*struct{},*int8,int32,*struct{})int32,memory_highwater *func(int32)int64,memory_used *func()int64,mutex_alloc *func(int32)*struct{},mutex_enter *func(*struct{}),mutex_free *func(*struct{}),mutex_leave *func(*struct{}),mutex_try *func(*struct{})int32,open_v2 *func(*int8,**struct{},int32,*int8)int32,release_memory *func(int32)int32,result_error_nomem *func(*struct{}),result_error_toobig *func(*struct{}),sleep *func(int32)int32,soft_heap_limit *func(int32),vfs_find *func(*int8)*struct{},vfs_register *func(*struct{},int32)int32,vfs_unregister *func(*struct{})int32,xthreadsafe *func()int32,result_zeroblob *func(*struct{},int32),result_error_code *func(*struct{},int32),test_control *func(int32...)int32,randomness *func(int32,*struct{}),context_db_handle *func(*struct{})*struct{},extended_result_codes *func(*struct{},int32)int32,limit *func(*struct{},int32,int32)int32,next_stmt *func(*struct{},*struct{})*struct{},sql *func(*struct{})*int8,status *func(int32,*int32,*int32,int32)int32,backup_finish *func(*struct{})int32,backup_init *func(*struct{},*int8,*struct{},*int8)*struct{},backup_pagecount *func(*struct{})int32,backup_remaining *func(*struct{})int32,backup_step *func(*struct{},int32)int32,compileoption_get *func(int32)*int8,compileoption_used *func(*int8)int32,create_function_v2 *func(*struct{},*int8,int32,int32,*struct{},*func(*struct{},int32,**struct{}),*func(*struct{},int32,**struct{}),*func(*struct{}),*func(*struct{}))int32,db_config *func(*struct{},int32...)int32,db_mutex *func(*struct{})*struct{},db_status *func(*struct{},int32,*int32,*int32,int32)int32,extended_errcode *func(*struct{})int32,log *func(int32,*int8...),soft_heap_limit64 *func(int64)int64,sourceid *func()*int8,stmt_status *func(*struct{},int32,int32)int32,strnicmp *func(*int8,*int8,int32)int32,unlock_notify *func(*struct{},*func(**struct{},int32),*struct{})int32,wal_autocheckpoint *func(*struct{},int32)int32,wal_checkpoint *func(*struct{},*int8)int32,wal_hook *func(*struct{},*func(*struct{},*struct{},*int8,int32)int32,*struct{})*struct{},blob_reopen *func(*struct{},int64)int32,vtab_config *func(*struct{},int32...)int32,vtab_on_conflict *func(*struct{})int32,close_v2 *func(*struct{})int32,db_filename *func(*struct{},*int8)*int8,db_readonly *func(*struct{},*int8)int32,db_release_memory *func(*struct{})int32,errstr *func(int32)*int8,stmt_busy *func(*struct{})int32,stmt_readonly *func(*struct{})int32,stricmp *func(*int8,*int8)int32,uri_boolean *func(*int8,*int8,int32)int32,uri_int64 *func(*int8,*int8,int64)int64,uri_parameter *func(*int8,*int8)*int8,vsnprintf *func(int32,*int8,*int8,*struct{})*int8,wal_checkpoint_v2 *func(*struct{},*int8,int32,*int32,*int32)int32,auto_extension *func(*func())int32,bind_blob64 *func(*struct{},int32,*struct{},uint64,*func(*struct{}))int32,bind_text64 *func(*struct{},int32,*int8,uint64,*func(*struct{}),uint8)int32,cancel_auto_extension *func(*func())int32,load_extension *func(*struct{},*int8,*int8,**int8)int32,malloc64 *func(uint64)*struct{},msize *func(*struct{})uint64,realloc64 *func(*struct{},uint64)*struct{},reset_auto_extension *func(),result_blob64 *func(*struct{},*struct{},uint64,*func(*struct{})),result_text64 *func(*struct{},*int8,uint64,*func(*struct{}),uint8),strglob *func(*int8,*int8)int32,value_dup *func(*struct{})*struct{},value_free *func(*struct{}),result_zeroblob64 *func(*struct{},uint64)int32,bind_zeroblob64 *func(*struct{},int32,uint64)int32,value_subtype *func(*struct{})uint32,result_subtype *func(*struct{},uint32),status64 *func(int32,*int64,*int64,int32)int32,strlike *func(*int8,*int8,uint32)int32,db_cacheflush *func(*struct{})int32,system_errno *func(*struct{})int32,trace_v2 *func(*struct{},uint32,*func(uint32,*struct{},*struct{},*struct{})int32,*struct{})int32,expanded_sql *func(*struct{})*int8,set_last_insert_rowid *func(*struct{},int64)}
  6272  
  6273  type t18 struct {
  6274  	X [0]struct {
  6275  		Xin   [64]uint8
  6276  		Xin32 [16]uint32
  6277  	}
  6278  	U [64]byte
  6279  }                       // union{in [64]uint8,in32 [16]uint32}
  6280  func str(n int) *int8   { return (*int8)(unsafe.Pointer(&strTab[n])) }
  6281  func wstr(n int) *int32 { return (*int32)(unsafe.Pointer(&strTab[n])) }
  6282  
  6283  var strTab = []byte("walthread1\x00walthread2\x00walthread3\x00walthread4\x00walthread5\x00cgt_pager_1\x00dynamic_triggers\x00checkpoint_starvation_1\x00checkpoint_starvation_2\x00create_drop_index_1\x00lookaside1\x00vacuum1\x00stress1\x00stress2\x00-multiplexor\x00Failed to install multiplexor VFS (%d)\x0a\x00Running %s for %d seconds...\x0a\x00%d errors out of %d tests\x0a\x00Usage: %s [-multiplexor] [testname|testprefix*]...\x0a\x00Available tests are:\x0a\x00   %s\x0a\x00test.db\x00PRAGMA journal_mode = WAL;CREATE TABLE t1(x PRIMARY KEY);INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 SELECT md5sum(x) FROM t1;\x00open\x00md5sum\x00PRAGMA synchronous=OFF\x00sqlite3_%s() - %s (%d)\x000123456789abcdef\x00%s\x00SELECT md5sum(x) FROM t1 WHERE rowid != (SELECT max(rowid) FROM t1)\x00SELECT x FROM t1 WHERE rowid = (SELECT max(rowid) FROM t1)\x00BEGIN\x00COMMIT\x00Failed read: %s %s %s\x00BEGIN;INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 VALUES(randomblob(100));INSERT INTO t1 SELECT md5sum(x) FROM t1;COMMIT;\x00%d iterations\x00reset\x00Cannot discern type: \"%s\"\x00prepare_v2\x00%s:%i: assertion failure in %s: %s\x0a\x00../../../sqlite.org/sqlite-src-3190300/test/threadtest3.c\x000==strcmp(sqlite3_sql(pRet->pStmt), zSql)\x00getSqlStatement\x00PRAGMA integrity_check\x00ok\x00%z\x0a%s\x00* - no such table: *\x00%s: (%d) \"%s\" at line %d\x0a\x00Warning\x00Error\x00PRAGMA wal_checkpoint\x00%d checkpoints\x00Thread %d says: %s\x0a\x00...\x00CREATE TABLE t1(x INTEGER PRIMARY KEY, y UNIQUE)\x00PRAGMA journal_mode = WAL\x00PRAGMA journal_mode = DELETE\x00INSERT INTO t1 VALUES(NULL, randomblob(100))\x00test.db-journal\x00test.db-wal\x00File system looks incorrect (%d, %d)\x00W %d R %d\x00PRAGMA journal_mode = WAL;CREATE TABLE t1(cnt PRIMARY KEY, sum1, sum2);CREATE INDEX i1 ON t1(sum1);CREATE INDEX i2 ON t1(sum2);INSERT INTO t1 VALUES(0, 0, 0);\x00PRAGMA wal_autocheckpoint = 10\x00SELECT max(cnt) FROM t1\x00SELECT sum(cnt) FROM t1\x00SELECT sum(sum1) FROM t1\x00INSERT INTO t1 VALUES(:iNextWrite, :iSum1, :iSum2)\x00PRAGMA journal_mode = WAL;CREATE TABLE t1(a INTEGER PRIMARY KEY, b UNIQUE);\x00PRAGMA wal_autocheckpoint = 15;\x00REPLACE INTO t1 VALUES(:iRow, randomblob(300))\x00PRAGMA wal_autocheckpoint = 0;PRAGMA page_size = 1024;PRAGMA journal_mode = WAL;CREATE TABLE t1(x);BEGIN;INSERT INTO t1 VALUES(randomblob(900));INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*     2 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*     4 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*     8 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*    16 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*    32 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*    64 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*   128 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*   256 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*   512 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*  1024 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*  2048 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*  4096 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /*  8192 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /* 16384 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /* 32768 */INSERT INTO t1 SELECT randomblob(900) FROM t1;      /* 65536 */COMMIT;\x00test_sv.db\x00test_sv.db-wal\x00  WAL file is %d bytes,\x00 DB file is %d.\x0a\x00no such file: %s\x00SELECT count(*) FROM t1\x00Bad row count: %d\x00PRAGMA cache_size = 2000;PRAGMA page_size = 1024;CREATE TABLE t1(a INTEGER PRIMARY KEY, b BLOB);\x00INSERT INTO t1 VALUES(:iRow, zeroblob(:iBlob))\x00UPDATE t1 SET b = zeroblob(:iBlob) WHERE a = :iRow\x00SELECT * FROM t1 WHERE a = :iRow\x00PRAGMA page_size = 1024;PRAGMA journal_mode = WAL;CREATE TABLE t1(x, y);CREATE TABLE t2(x, y);CREATE TABLE t3(x, y);CREATE TABLE t4(x, y);CREATE TABLE t5(x, y);CREATE TABLE t6(x, y);CREATE TABLE t7(x, y);CREATE TABLE t8(x, y);CREATE TABLE t9(x, y);\x00INSERT INTO t1 VALUES(:iX, :iY+1)\x00DELETE FROM t1 WHERE x = :iX\x00%d inserts, %d deletes\x00CREATE TRIGGER itr%d BEFORE INSERT ON t%d BEGIN INSERT INTO t%d VALUES(new.x, new.y);END;\x00CREATE TRIGGER dtr%d BEFORE DELETE ON t%d BEGIN DELETE FROM t%d WHERE x = old.x; END;\x00DROP TRIGGER itr%d\x00DROP TRIGGER dtr%d\x00%d created, %d dropped\x00WAL failed to grow - %d frames\x00PRAGMA page_size = 1024;PRAGMA journal_mode = WAL;CREATE TABLE t1(x);\x00INSERT INTO t1 VALUES(randomblob(1200))\x00 Checkpoint mode  : %s\x0a\x00PASSIVE\x00RESTART\x00 Peak WAL         : %d frames\x0a\x00 Transaction count: %d transactions\x0a\x00SELECT count(x) FROM t1\x00Isolation failure - %lld %lld\x00WAL grew too large - %d frames\x00CREATE TABLE t11(a, b, c, d);WITH data(x) AS (SELECT 1 UNION ALL SELECT x+1 FROM data WHERE x<100) INSERT INTO t11 SELECT x,x,x,x FROM data;\x00DROP INDEX IF EXISTS i1;DROP INDEX IF EXISTS i2;DROP INDEX IF EXISTS i3;DROP INDEX IF EXISTS i4;CREATE INDEX IF NOT EXISTS i1 ON t11(a);CREATE INDEX IF NOT EXISTS i2 ON t11(b);CREATE INDEX IF NOT EXISTS i3 ON t11(c);CREATE INDEX IF NOT EXISTS i4 ON t11(d);SELECT * FROM t11 ORDER BY a;SELECT * FROM t11 ORDER BY b;SELECT * FROM t11 ORDER BY c;SELECT * FROM t11 ORDER BY d;\x00CREATE TABLE t1(x PRIMARY KEY) WITHOUT ROWID;WITH data(x,y) AS (  SELECT 1, quote(randomblob(750)) UNION ALL   SELECT x*2, y||y FROM data WHERE x<5) INSERT INTO t1 SELECT y FROM data;CREATE TABLE t3(x PRIMARY KEY,i) WITHOUT ROWID;INSERT INTO t3 VALUES(1, 1);CREATE TABLE t2(x,y,z);INSERT INTO t2 VALUES(randomblob(50), randomblob(50), randomblob(50));\x00SELECT 1 FROM t1\x00SELECT length(x||y||z) FROM t2\x00finalize\x00BEGIN;UPDATE t3 SET i=i+1 WHERE x=1;ROLLBACK;\x00CREATE TABLE t1(x PRIMARY KEY, y BLOB);CREATE INDEX i1 ON t1(y);\x00WITH loop(i) AS (SELECT 1 UNION ALL SELECT i+1 FROM loop WHERE i<100) INSERT INTO t1 SELECT randomblob(50), randomblob(2500) FROM loop\x00DELETE FROM t1 WHERE rowid = :i\x00SELECT * FROM t1 ORDER BY x\x00VACUUM\x00CREATE TABLE IF NOT EXISTS t1(a PRIMARY KEY, b)\x00DROP TABLE IF EXISTS t1\x00SELECT * FROM sqlite_master;\x00SELECT * FROM t1 ORDER BY a;\x00read t1 %d/%d attempts\x00WITH loop(i) AS (SELECT 1 UNION ALL SELECT i+1 FROM loop LIMIT 200) INSERT INTO t1 VALUES(randomblob(60), randomblob(60));\x00wrote t1 %d/%d attempts\x00DELETE FROM t1 WHERE (rowid % 4)==:i\x00deleted from t1 %d/%d attempts\x00CREATE TABLE IF NOT EXISTS t0(x PRIMARY KEY, y, z);CREATE INDEX IF NOT EXISTS i0 ON t0(y);\x00CREATE TABLE IF NOT EXISTS t%d(x PRIMARY KEY, y, z);\x00DROP TABLE IF EXISTS t%d;\x00SELECT * FROM t0 WHERE z = 'small'\x00SELECT * FROM t0 WHERE z = 'big'\x00INSERT INTO t0 VALUES(hex(random()), hex(randomblob(200)), 'small');\x00INSERT INTO t0 VALUES(hex(random()), hex(randomblob(57)), 'big');\x00UPDATE t0 SET y = hex(randomblob(200)) WHERE x LIKE hex((%d %% 5)) AND z='small';\x00UPDATE t0 SET y = hex(randomblob(57)) WHERE x LIKE hex(%d %% 5) AND z='big';\x00DELETE FROM t0 WHERE x LIKE hex(%d %% 5) AND z='small';\x00DELETE FROM t0 WHERE x LIKE hex(%d %% 5) AND z='big';\x00PRAGMA journal_mode = %q\x00delete\x00wal\x00ok %d/%d\x00*\x00../../../sqlite.org/sqlite-src-3190300/src/test_multiplex.c\x00pOrigVfs!=&gMultiplex.sThisVfs\x00multiplex\x00sqlite3_multiplex_initialize\x00zName || (flags & SQLITE_OPEN_DELETEONCLOSE)\x00truncate\x00chunksize\x00multiplexOpen\x00%03d\x00zOut[n]=='\\0'\x00multiplexFilename\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_truncate\x00on\x001\x00off\x000\x00multiplex/%z\x00multiplex_control\x00")