modernc.org/z@v1.7.4/lib/z_darwin_arm64.go (about)

     1  // Code generated by 'ccgo -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -o lib/z_darwin_arm64.go -pkgname z -trace-translation-units /var/folders/4f/mc8mts295pqf7gmnfcwh6g8w0000gn/T/go-generate-3712341751/cdb.json libz.a', DO NOT EDIT.
     2  
     3  package z
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  
    11  	"modernc.org/libc"
    12  	"modernc.org/libc/sys/types"
    13  )
    14  
    15  var _ = math.Pi
    16  var _ reflect.Kind
    17  var _ atomic.Value
    18  var _ unsafe.Pointer
    19  var _ *libc.TLS
    20  var _ types.Size_t
    21  
    22  const (
    23  	ACCESSX_MAX_DESCRIPTORS                   = 100
    24  	ACCESSX_MAX_TABLESIZE                     = 16384
    25  	ARG_MAX                                   = 1048576
    26  	BASE                                      = 65521
    27  	BC_BASE_MAX                               = 99
    28  	BC_DIM_MAX                                = 2048
    29  	BC_SCALE_MAX                              = 99
    30  	BC_STRING_MAX                             = 1000
    31  	BIG_ENDIAN                                = 4321
    32  	BUS_ADRALN                                = 1
    33  	BUS_ADRERR                                = 2
    34  	BUS_NOOP                                  = 0
    35  	BUS_OBJERR                                = 3
    36  	BYTE_ORDER                                = 1234
    37  	CHARCLASS_NAME_MAX                        = 14
    38  	CHAR_BIT                                  = 8
    39  	CHAR_MAX                                  = 127
    40  	CHAR_MIN                                  = -128
    41  	CHILD_MAX                                 = 266
    42  	CLD_CONTINUED                             = 6
    43  	CLD_DUMPED                                = 3
    44  	CLD_EXITED                                = 1
    45  	CLD_KILLED                                = 2
    46  	CLD_NOOP                                  = 0
    47  	CLD_STOPPED                               = 5
    48  	CLD_TRAPPED                               = 4
    49  	CLK_TCK                                   = 100
    50  	COLL_WEIGHTS_MAX                          = 2
    51  	CPUMON_MAKE_FATAL                         = 0x1000
    52  	DEF_MEM_LEVEL                             = 8
    53  	DEF_WBITS                                 = 15
    54  	DYN_TREES                                 = 2
    55  	EQUIV_CLASS_MAX                           = 2
    56  	EXIT_FAILURE                              = 1
    57  	EXIT_SUCCESS                              = 0
    58  	EXPR_NEST_MAX                             = 32
    59  	FAR                                       = 0
    60  	FD_SETSIZE                                = 1024
    61  	FOOTPRINT_INTERVAL_RESET                  = 0x1
    62  	FPE_FLTDIV                                = 1
    63  	FPE_FLTINV                                = 5
    64  	FPE_FLTOVF                                = 2
    65  	FPE_FLTRES                                = 4
    66  	FPE_FLTSUB                                = 6
    67  	FPE_FLTUND                                = 3
    68  	FPE_INTDIV                                = 7
    69  	FPE_INTOVF                                = 8
    70  	FPE_NOOP                                  = 0
    71  	F_LOCK                                    = 1
    72  	F_OK                                      = 0
    73  	F_TEST                                    = 3
    74  	F_TLOCK                                   = 2
    75  	F_ULOCK                                   = 0
    76  	GID_MAX                                   = 2147483647
    77  	HAVE_HIDDEN                               = 1
    78  	HAVE_MEMCPY                               = 0
    79  	ILL_BADSTK                                = 8
    80  	ILL_COPROC                                = 7
    81  	ILL_ILLADR                                = 5
    82  	ILL_ILLOPC                                = 1
    83  	ILL_ILLOPN                                = 4
    84  	ILL_ILLTRP                                = 2
    85  	ILL_NOOP                                  = 0
    86  	ILL_PRVOPC                                = 3
    87  	ILL_PRVREG                                = 6
    88  	INT16_MAX                                 = 32767
    89  	INT16_MIN                                 = -32768
    90  	INT32_MAX                                 = 2147483647
    91  	INT32_MIN                                 = -2147483648
    92  	INT64_MAX                                 = 9223372036854775807
    93  	INT64_MIN                                 = -9223372036854775808
    94  	INT8_MAX                                  = 127
    95  	INT8_MIN                                  = -128
    96  	INTMAX_MAX                                = 9223372036854775807
    97  	INTMAX_MIN                                = -9223372036854775808
    98  	INTPTR_MAX                                = 9223372036854775807
    99  	INTPTR_MIN                                = -9223372036854775808
   100  	INT_FAST16_MAX                            = 32767
   101  	INT_FAST16_MIN                            = -32768
   102  	INT_FAST32_MAX                            = 2147483647
   103  	INT_FAST32_MIN                            = -2147483648
   104  	INT_FAST64_MAX                            = 9223372036854775807
   105  	INT_FAST64_MIN                            = -9223372036854775808
   106  	INT_FAST8_MAX                             = 127
   107  	INT_FAST8_MIN                             = -128
   108  	INT_LEAST16_MAX                           = 32767
   109  	INT_LEAST16_MIN                           = -32768
   110  	INT_LEAST32_MAX                           = 2147483647
   111  	INT_LEAST32_MIN                           = -2147483648
   112  	INT_LEAST64_MAX                           = 9223372036854775807
   113  	INT_LEAST64_MIN                           = -9223372036854775808
   114  	INT_LEAST8_MAX                            = 127
   115  	INT_LEAST8_MIN                            = -128
   116  	INT_MAX                                   = 2147483647
   117  	INT_MIN                                   = -2147483648
   118  	IOPOL_APPLICATION                         = 5
   119  	IOPOL_ATIME_UPDATES_DEFAULT               = 0
   120  	IOPOL_ATIME_UPDATES_OFF                   = 1
   121  	IOPOL_DEFAULT                             = 0
   122  	IOPOL_IMPORTANT                           = 1
   123  	IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT  = 0
   124  	IOPOL_MATERIALIZE_DATALESS_FILES_OFF      = 1
   125  	IOPOL_MATERIALIZE_DATALESS_FILES_ON       = 2
   126  	IOPOL_NORMAL                              = 1
   127  	IOPOL_PASSIVE                             = 2
   128  	IOPOL_SCOPE_DARWIN_BG                     = 2
   129  	IOPOL_SCOPE_PROCESS                       = 0
   130  	IOPOL_SCOPE_THREAD                        = 1
   131  	IOPOL_STANDARD                            = 5
   132  	IOPOL_THROTTLE                            = 3
   133  	IOPOL_TYPE_DISK                           = 0
   134  	IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES     = 9
   135  	IOPOL_TYPE_VFS_ATIME_UPDATES              = 2
   136  	IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION  = 6
   137  	IOPOL_TYPE_VFS_IGNORE_PERMISSIONS         = 7
   138  	IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3
   139  	IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE          = 8
   140  	IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME      = 4
   141  	IOPOL_TYPE_VFS_TRIGGER_RESOLVE            = 5
   142  	IOPOL_UTILITY                             = 4
   143  	IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF      = 0
   144  	IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON       = 1
   145  	IOPOL_VFS_CONTENT_PROTECTION_DEFAULT      = 0
   146  	IOPOL_VFS_CONTENT_PROTECTION_IGNORE       = 1
   147  	IOPOL_VFS_IGNORE_PERMISSIONS_OFF          = 0
   148  	IOPOL_VFS_IGNORE_PERMISSIONS_ON           = 1
   149  	IOPOL_VFS_SKIP_MTIME_UPDATE_OFF           = 0
   150  	IOPOL_VFS_SKIP_MTIME_UPDATE_ON            = 1
   151  	IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME     = 1
   152  	IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT   = 0
   153  	IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT         = 0
   154  	IOPOL_VFS_TRIGGER_RESOLVE_OFF             = 1
   155  	IOV_MAX                                   = 1024
   156  	LINE_MAX                                  = 2048
   157  	LINK_MAX                                  = 32767
   158  	LITTLE_ENDIAN                             = 1234
   159  	LLONG_MAX                                 = 9223372036854775807
   160  	LLONG_MIN                                 = -9223372036854775808
   161  	LONG_BIT                                  = 64
   162  	LONG_LONG_MAX                             = 9223372036854775807
   163  	LONG_LONG_MIN                             = -9223372036854775808
   164  	LONG_MAX                                  = 9223372036854775807
   165  	LONG_MIN                                  = -9223372036854775808
   166  	L_INCR                                    = 1
   167  	L_SET                                     = 0
   168  	L_XTND                                    = 2
   169  	MAC_OS_VERSION_11_0                       = 110000
   170  	MAC_OS_VERSION_12_0                       = 120000
   171  	MAC_OS_X_VERSION_10_0                     = 1000
   172  	MAC_OS_X_VERSION_10_1                     = 1010
   173  	MAC_OS_X_VERSION_10_10                    = 101000
   174  	MAC_OS_X_VERSION_10_10_2                  = 101002
   175  	MAC_OS_X_VERSION_10_10_3                  = 101003
   176  	MAC_OS_X_VERSION_10_11                    = 101100
   177  	MAC_OS_X_VERSION_10_11_2                  = 101102
   178  	MAC_OS_X_VERSION_10_11_3                  = 101103
   179  	MAC_OS_X_VERSION_10_11_4                  = 101104
   180  	MAC_OS_X_VERSION_10_12                    = 101200
   181  	MAC_OS_X_VERSION_10_12_1                  = 101201
   182  	MAC_OS_X_VERSION_10_12_2                  = 101202
   183  	MAC_OS_X_VERSION_10_12_4                  = 101204
   184  	MAC_OS_X_VERSION_10_13                    = 101300
   185  	MAC_OS_X_VERSION_10_13_1                  = 101301
   186  	MAC_OS_X_VERSION_10_13_2                  = 101302
   187  	MAC_OS_X_VERSION_10_13_4                  = 101304
   188  	MAC_OS_X_VERSION_10_14                    = 101400
   189  	MAC_OS_X_VERSION_10_14_1                  = 101401
   190  	MAC_OS_X_VERSION_10_14_4                  = 101404
   191  	MAC_OS_X_VERSION_10_14_6                  = 101406
   192  	MAC_OS_X_VERSION_10_15                    = 101500
   193  	MAC_OS_X_VERSION_10_15_1                  = 101501
   194  	MAC_OS_X_VERSION_10_16                    = 101600
   195  	MAC_OS_X_VERSION_10_2                     = 1020
   196  	MAC_OS_X_VERSION_10_3                     = 1030
   197  	MAC_OS_X_VERSION_10_4                     = 1040
   198  	MAC_OS_X_VERSION_10_5                     = 1050
   199  	MAC_OS_X_VERSION_10_6                     = 1060
   200  	MAC_OS_X_VERSION_10_7                     = 1070
   201  	MAC_OS_X_VERSION_10_8                     = 1080
   202  	MAC_OS_X_VERSION_10_9                     = 1090
   203  	MAX_CANON                                 = 1024
   204  	MAX_INPUT                                 = 1024
   205  	MAX_MATCH                                 = 258
   206  	MAX_MEM_LEVEL                             = 9
   207  	MAX_WBITS                                 = 15
   208  	MB_LEN_MAX                                = 6
   209  	MINSIGSTKSZ                               = 32768
   210  	MIN_MATCH                                 = 3
   211  	NAME_MAX                                  = 255
   212  	NBBY                                      = 8
   213  	NGROUPS_MAX                               = 16
   214  	NL_ARGMAX                                 = 9
   215  	NL_LANGMAX                                = 14
   216  	NL_MSGMAX                                 = 32767
   217  	NL_NMAX                                   = 1
   218  	NL_SETMAX                                 = 255
   219  	NL_TEXTMAX                                = 2048
   220  	NMAX                                      = 5552
   221  	NSIG                                      = 32
   222  	NZERO                                     = 20
   223  	OFF_MAX                                   = 9223372036854775807
   224  	OFF_MIN                                   = -9223372036854775808
   225  	OPEN_MAX                                  = 10240
   226  	OS_CODE                                   = 19
   227  	PASS_MAX                                  = 128
   228  	PATH_MAX                                  = 1024
   229  	PDP_ENDIAN                                = 3412
   230  	PIPE_BUF                                  = 512
   231  	POLL_ERR                                  = 4
   232  	POLL_HUP                                  = 6
   233  	POLL_IN                                   = 1
   234  	POLL_MSG                                  = 3
   235  	POLL_OUT                                  = 2
   236  	POLL_PRI                                  = 5
   237  	PRESET_DICT                               = 0x20
   238  	PRIO_DARWIN_BG                            = 0x1000
   239  	PRIO_DARWIN_NONUI                         = 0x1001
   240  	PRIO_DARWIN_PROCESS                       = 4
   241  	PRIO_DARWIN_THREAD                        = 3
   242  	PRIO_MAX                                  = 20
   243  	PRIO_MIN                                  = -20
   244  	PRIO_PGRP                                 = 1
   245  	PRIO_PROCESS                              = 0
   246  	PRIO_USER                                 = 2
   247  	PTHREAD_DESTRUCTOR_ITERATIONS             = 4
   248  	PTHREAD_KEYS_MAX                          = 512
   249  	PTHREAD_STACK_MIN                         = 16384
   250  	PTRDIFF_MAX                               = 9223372036854775807
   251  	PTRDIFF_MIN                               = -9223372036854775808
   252  	QUAD_MAX                                  = 9223372036854775807
   253  	QUAD_MIN                                  = -9223372036854775808
   254  	RAND_MAX                                  = 0x7fffffff
   255  	RE_DUP_MAX                                = 255
   256  	RLIMIT_AS                                 = 5
   257  	RLIMIT_CORE                               = 4
   258  	RLIMIT_CPU                                = 0
   259  	RLIMIT_CPU_USAGE_MONITOR                  = 0x2
   260  	RLIMIT_DATA                               = 2
   261  	RLIMIT_FOOTPRINT_INTERVAL                 = 0x4
   262  	RLIMIT_FSIZE                              = 1
   263  	RLIMIT_MEMLOCK                            = 6
   264  	RLIMIT_NOFILE                             = 8
   265  	RLIMIT_NPROC                              = 7
   266  	RLIMIT_RSS                                = 5
   267  	RLIMIT_STACK                              = 3
   268  	RLIMIT_THREAD_CPULIMITS                   = 0x3
   269  	RLIMIT_WAKEUPS_MONITOR                    = 0x1
   270  	RLIM_NLIMITS                              = 9
   271  	RSIZE_MAX                                 = 9223372036854775807
   272  	RUSAGE_CHILDREN                           = -1
   273  	RUSAGE_INFO_CURRENT                       = 5
   274  	RUSAGE_INFO_V0                            = 0
   275  	RUSAGE_INFO_V1                            = 1
   276  	RUSAGE_INFO_V2                            = 2
   277  	RUSAGE_INFO_V3                            = 3
   278  	RUSAGE_INFO_V4                            = 4
   279  	RUSAGE_INFO_V5                            = 5
   280  	RUSAGE_SELF                               = 0
   281  	RU_PROC_RUNS_RESLIDE                      = 0x00000001
   282  	R_OK                                      = 4
   283  	SA_64REGSET                               = 0x0200
   284  	SA_NOCLDSTOP                              = 0x0008
   285  	SA_NOCLDWAIT                              = 0x0020
   286  	SA_NODEFER                                = 0x0010
   287  	SA_ONSTACK                                = 0x0001
   288  	SA_RESETHAND                              = 0x0004
   289  	SA_RESTART                                = 0x0002
   290  	SA_SIGINFO                                = 0x0040
   291  	SA_USERSPACE_MASK                         = 127
   292  	SA_USERTRAMP                              = 0x0100
   293  	SCHAR_MAX                                 = 127
   294  	SCHAR_MIN                                 = -128
   295  	SEEK_CUR                                  = 1
   296  	SEEK_DATA                                 = 4
   297  	SEEK_END                                  = 2
   298  	SEEK_HOLE                                 = 3
   299  	SEEK_SET                                  = 0
   300  	SEGV_ACCERR                               = 2
   301  	SEGV_MAPERR                               = 1
   302  	SEGV_NOOP                                 = 0
   303  	SHRT_MAX                                  = 32767
   304  	SHRT_MIN                                  = -32768
   305  	SIGABRT                                   = 6
   306  	SIGALRM                                   = 14
   307  	SIGBUS                                    = 10
   308  	SIGCHLD                                   = 20
   309  	SIGCONT                                   = 19
   310  	SIGEMT                                    = 7
   311  	SIGEV_NONE                                = 0
   312  	SIGEV_SIGNAL                              = 1
   313  	SIGEV_THREAD                              = 3
   314  	SIGFPE                                    = 8
   315  	SIGHUP                                    = 1
   316  	SIGILL                                    = 4
   317  	SIGINFO                                   = 29
   318  	SIGINT                                    = 2
   319  	SIGIO                                     = 23
   320  	SIGIOT                                    = 6
   321  	SIGKILL                                   = 9
   322  	SIGPIPE                                   = 13
   323  	SIGPROF                                   = 27
   324  	SIGQUIT                                   = 3
   325  	SIGSEGV                                   = 11
   326  	SIGSTKSZ                                  = 131072
   327  	SIGSTOP                                   = 17
   328  	SIGSYS                                    = 12
   329  	SIGTERM                                   = 15
   330  	SIGTRAP                                   = 5
   331  	SIGTSTP                                   = 18
   332  	SIGTTIN                                   = 21
   333  	SIGTTOU                                   = 22
   334  	SIGURG                                    = 16
   335  	SIGUSR1                                   = 30
   336  	SIGUSR2                                   = 31
   337  	SIGVTALRM                                 = 26
   338  	SIGWINCH                                  = 28
   339  	SIGXCPU                                   = 24
   340  	SIGXFSZ                                   = 25
   341  	SIG_ATOMIC_MAX                            = 2147483647
   342  	SIG_ATOMIC_MIN                            = -2147483648
   343  	SIG_BLOCK                                 = 1
   344  	SIG_SETMASK                               = 3
   345  	SIG_UNBLOCK                               = 2
   346  	SIZE_MAX                                  = 18446744073709551615
   347  	SIZE_T_MAX                                = 18446744073709551615
   348  	SI_ASYNCIO                                = 0x10004
   349  	SI_MESGQ                                  = 0x10005
   350  	SI_QUEUE                                  = 0x10002
   351  	SI_TIMER                                  = 0x10003
   352  	SI_USER                                   = 0x10001
   353  	SSIZE_MAX                                 = 9223372036854775807
   354  	SS_DISABLE                                = 0x0004
   355  	SS_ONSTACK                                = 0x0001
   356  	STATIC_TREES                              = 1
   357  	STDC                                      = 0
   358  	STDC99                                    = 0
   359  	STDERR_FILENO                             = 2
   360  	STDIN_FILENO                              = 0
   361  	STDOUT_FILENO                             = 1
   362  	STORED_BLOCK                              = 0
   363  	SV_INTERRUPT                              = 2
   364  	SV_NOCLDSTOP                              = 8
   365  	SV_NODEFER                                = 16
   366  	SV_ONSTACK                                = 1
   367  	SV_RESETHAND                              = 4
   368  	SV_SIGINFO                                = 64
   369  	SYNC_VOLUME_FULLSYNC                      = 0x01
   370  	SYNC_VOLUME_WAIT                          = 0x02
   371  	TRAP_BRKPT                                = 1
   372  	TRAP_TRACE                                = 2
   373  	UCHAR_MAX                                 = 255
   374  	UID_MAX                                   = 2147483647
   375  	UINT16_MAX                                = 65535
   376  	UINT32_MAX                                = 4294967295
   377  	UINT64_MAX                                = 18446744073709551615
   378  	UINT8_MAX                                 = 255
   379  	UINTMAX_MAX                               = 18446744073709551615
   380  	UINTPTR_MAX                               = 18446744073709551615
   381  	UINT_FAST16_MAX                           = 65535
   382  	UINT_FAST32_MAX                           = 4294967295
   383  	UINT_FAST64_MAX                           = 18446744073709551615
   384  	UINT_FAST8_MAX                            = 255
   385  	UINT_LEAST16_MAX                          = 65535
   386  	UINT_LEAST32_MAX                          = 4294967295
   387  	UINT_LEAST64_MAX                          = 18446744073709551615
   388  	UINT_LEAST8_MAX                           = 255
   389  	UINT_MAX                                  = 4294967295
   390  	ULLONG_MAX                                = 18446744073709551615
   391  	ULONG_LONG_MAX                            = 18446744073709551615
   392  	ULONG_MAX                                 = 18446744073709551615
   393  	UQUAD_MAX                                 = 18446744073709551615
   394  	USHRT_MAX                                 = 65535
   395  	WAIT_ANY                                  = -1
   396  	WAIT_MYPGRP                               = 0
   397  	WAKEMON_DISABLE                           = 0x02
   398  	WAKEMON_ENABLE                            = 0x01
   399  	WAKEMON_GET_PARAMS                        = 0x04
   400  	WAKEMON_MAKE_FATAL                        = 0x10
   401  	WAKEMON_SET_DEFAULTS                      = 0x08
   402  	WCHAR_MAX                                 = 2147483647
   403  	WCHAR_MIN                                 = -2147483648
   404  	WCONTINUED                                = 0x00000010
   405  	WCOREFLAG                                 = 0200
   406  	WEXITED                                   = 0x00000004
   407  	WINT_MAX                                  = 2147483647
   408  	WINT_MIN                                  = -2147483648
   409  	WNOHANG                                   = 0x00000001
   410  	WNOWAIT                                   = 0x00000020
   411  	WORD_BIT                                  = 32
   412  	WSTOPPED                                  = 0x00000008
   413  	WUNTRACED                                 = 0x00000002
   414  	W_OK                                      = 2
   415  	X_OK                                      = 1
   416  	ZCONF_H                                   = 0
   417  	ZEXPORT                                   = 0
   418  	ZEXPORTVA                                 = 0
   419  	ZLIB_H                                    = 0
   420  	ZLIB_VERNUM                               = 0x12b0
   421  	ZLIB_VERSION                              = "1.2.11"
   422  	ZLIB_VER_MAJOR                            = 1
   423  	ZLIB_VER_MINOR                            = 2
   424  	ZLIB_VER_REVISION                         = 11
   425  	ZLIB_VER_SUBREVISION                      = 0
   426  	ZUTIL_H                                   = 0
   427  	Z_ASCII                                   = 1
   428  	Z_BEST_COMPRESSION                        = 9
   429  	Z_BEST_SPEED                              = 1
   430  	Z_BINARY                                  = 0
   431  	Z_BLOCK                                   = 5
   432  	Z_BUF_ERROR                               = -5
   433  	Z_DATA_ERROR                              = -3
   434  	Z_DEFAULT_COMPRESSION                     = -1
   435  	Z_DEFAULT_STRATEGY                        = 0
   436  	Z_DEFLATED                                = 8
   437  	Z_ERRNO                                   = -1
   438  	Z_FILTERED                                = 1
   439  	Z_FINISH                                  = 4
   440  	Z_FIXED                                   = 4
   441  	Z_FULL_FLUSH                              = 3
   442  	Z_HAVE_STDARG_H                           = 0
   443  	Z_HAVE_UNISTD_H                           = 0
   444  	Z_HUFFMAN_ONLY                            = 2
   445  	Z_MEM_ERROR                               = -4
   446  	Z_NEED_DICT                               = 2
   447  	Z_NO_COMPRESSION                          = 0
   448  	Z_NO_FLUSH                                = 0
   449  	Z_NULL                                    = 0
   450  	Z_OK                                      = 0
   451  	Z_PARTIAL_FLUSH                           = 1
   452  	Z_RLE                                     = 3
   453  	Z_STREAM_END                              = 1
   454  	Z_STREAM_ERROR                            = -2
   455  	Z_SYNC_FLUSH                              = 2
   456  	Z_TEXT                                    = 1
   457  	Z_TREES                                   = 6
   458  	Z_UNKNOWN                                 = 2
   459  	Z_VERSION_ERROR                           = -6
   460  	X_ACCESS_EXTENDED_MASK                    = 4193792
   461  	X_ALLOCA_H_                               = 0
   462  	X_ANSI_STDARG_H_                          = 0
   463  	X_ANSI_STDDEF_H                           = 0
   464  	X_APPEND_OK                               = 8192
   465  	X_ARM_ARCH_H                              = 0
   466  	X_ARM_LIMITS_H_                           = 0
   467  	X_ARM_MACHTYPES_H_                        = 0
   468  	X_ARM_SIGNAL_                             = 1
   469  	X_ARM__ENDIAN_H_                          = 0
   470  	X_ARM__LIMITS_H_                          = 0
   471  	X_BLKCNT_T                                = 0
   472  	X_BLKSIZE_T                               = 0
   473  	X_BSD_ARM__TYPES_H_                       = 0
   474  	X_BSD_MACHINE_ENDIAN_H_                   = 0
   475  	X_BSD_MACHINE_LIMITS_H_                   = 0
   476  	X_BSD_MACHINE_SIGNAL_H_                   = 0
   477  	X_BSD_MACHINE_TYPES_H_                    = 0
   478  	X_BSD_MACHINE__MCONTEXT_H_                = 0
   479  	X_BSD_MACHINE__TYPES_H_                   = 0
   480  	X_BSD_PTRDIFF_T_                          = 0
   481  	X_BSD_SIZE_T_                             = 0
   482  	X_BSD_SIZE_T_DEFINED_                     = 0
   483  	X_CADDR_T                                 = 0
   484  	X_CDEFS_H_                                = 0
   485  	X_CHOWN_OK                                = 2097152
   486  	X_CLOCK_T                                 = 0
   487  	X_CS_DARWIN_USER_CACHE_DIR                = 65538
   488  	X_CS_DARWIN_USER_DIR                      = 65536
   489  	X_CS_DARWIN_USER_TEMP_DIR                 = 65537
   490  	X_CS_PATH                                 = 1
   491  	X_CS_POSIX_V6_ILP32_OFF32_CFLAGS          = 2
   492  	X_CS_POSIX_V6_ILP32_OFF32_LDFLAGS         = 3
   493  	X_CS_POSIX_V6_ILP32_OFF32_LIBS            = 4
   494  	X_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS         = 5
   495  	X_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS        = 6
   496  	X_CS_POSIX_V6_ILP32_OFFBIG_LIBS           = 7
   497  	X_CS_POSIX_V6_LP64_OFF64_CFLAGS           = 8
   498  	X_CS_POSIX_V6_LP64_OFF64_LDFLAGS          = 9
   499  	X_CS_POSIX_V6_LP64_OFF64_LIBS             = 10
   500  	X_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS         = 11
   501  	X_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS        = 12
   502  	X_CS_POSIX_V6_LPBIG_OFFBIG_LIBS           = 13
   503  	X_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS       = 14
   504  	X_CS_XBS5_ILP32_OFF32_CFLAGS              = 20
   505  	X_CS_XBS5_ILP32_OFF32_LDFLAGS             = 21
   506  	X_CS_XBS5_ILP32_OFF32_LIBS                = 22
   507  	X_CS_XBS5_ILP32_OFF32_LINTFLAGS           = 23
   508  	X_CS_XBS5_ILP32_OFFBIG_CFLAGS             = 24
   509  	X_CS_XBS5_ILP32_OFFBIG_LDFLAGS            = 25
   510  	X_CS_XBS5_ILP32_OFFBIG_LIBS               = 26
   511  	X_CS_XBS5_ILP32_OFFBIG_LINTFLAGS          = 27
   512  	X_CS_XBS5_LP64_OFF64_CFLAGS               = 28
   513  	X_CS_XBS5_LP64_OFF64_LDFLAGS              = 29
   514  	X_CS_XBS5_LP64_OFF64_LIBS                 = 30
   515  	X_CS_XBS5_LP64_OFF64_LINTFLAGS            = 31
   516  	X_CS_XBS5_LPBIG_OFFBIG_CFLAGS             = 32
   517  	X_CS_XBS5_LPBIG_OFFBIG_LDFLAGS            = 33
   518  	X_CS_XBS5_LPBIG_OFFBIG_LIBS               = 34
   519  	X_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS          = 35
   520  	X_CTERMID_H_                              = 0
   521  	X_CT_RUNE_T                               = 0
   522  	X_DARWIN_FEATURE_64_BIT_INODE             = 1
   523  	X_DARWIN_FEATURE_ONLY_64_BIT_INODE        = 1
   524  	X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE    = 1
   525  	X_DARWIN_FEATURE_ONLY_VERS_1050           = 1
   526  	X_DARWIN_FEATURE_UNIX_CONFORMANCE         = 3
   527  	X_DELETE_OK                               = 4096
   528  	X_DEV_T                                   = 0
   529  	X_ERRNO_T                                 = 0
   530  	X_EXECUTE_OK                              = 2048
   531  	X_FD_SET                                  = 0
   532  	X_FILE_OFFSET_BITS                        = 64
   533  	X_FORTIFY_SOURCE                          = 2
   534  	X_FSBLKCNT_T                              = 0
   535  	X_FSFILCNT_T                              = 0
   536  	X_GCC_LIMITS_H_                           = 0
   537  	X_GCC_MAX_ALIGN_T                         = 0
   538  	X_GCC_PTRDIFF_T                           = 0
   539  	X_GCC_SIZE_T                              = 0
   540  	X_GCC_WCHAR_T                             = 0
   541  	X_GCC_WRAP_STDINT_H                       = 0
   542  	X_GID_T                                   = 0
   543  	X_ID_T                                    = 0
   544  	X_INO64_T                                 = 0
   545  	X_INO_T                                   = 0
   546  	X_INT16_T                                 = 0
   547  	X_INT32_T                                 = 0
   548  	X_INT64_T                                 = 0
   549  	X_INT8_T                                  = 0
   550  	X_INTMAX_T                                = 0
   551  	X_INTPTR_T                                = 0
   552  	X_IN_ADDR_T                               = 0
   553  	X_IN_PORT_T                               = 0
   554  	X_KEY_T                                   = 0
   555  	X_LIMITS_H_                               = 0
   556  	X_LIMITS_H___                             = 0
   557  	X_LP64                                    = 1
   558  	X_MACHTYPES_H_                            = 0
   559  	X_MACH_ARM__STRUCTS_H_                    = 0
   560  	X_MACH_MACHINE__STRUCTS_H_                = 0
   561  	X_MALLOC_UNDERSCORE_MALLOC_H_             = 0
   562  	X_MCONTEXT_T                              = 0
   563  	X_MODE_T                                  = 0
   564  	X_NLINK_T                                 = 0
   565  	X_Nonnull                                 = 0
   566  	X_Null_unspecified                        = 0
   567  	X_Nullable                                = 0
   568  	X_OFF_T                                   = 0
   569  	X_OS_OSBYTEORDERARM_H                     = 0
   570  	X_OS__OSBYTEORDER_H                       = 0
   571  	X_PC_2_SYMLINKS                           = 15
   572  	X_PC_ALLOC_SIZE_MIN                       = 16
   573  	X_PC_ASYNC_IO                             = 17
   574  	X_PC_AUTH_OPAQUE_NP                       = 14
   575  	X_PC_CASE_PRESERVING                      = 12
   576  	X_PC_CASE_SENSITIVE                       = 11
   577  	X_PC_CHOWN_RESTRICTED                     = 7
   578  	X_PC_EXTENDED_SECURITY_NP                 = 13
   579  	X_PC_FILESIZEBITS                         = 18
   580  	X_PC_LINK_MAX                             = 1
   581  	X_PC_MAX_CANON                            = 2
   582  	X_PC_MAX_INPUT                            = 3
   583  	X_PC_MIN_HOLE_SIZE                        = 27
   584  	X_PC_NAME_CHARS_MAX                       = 10
   585  	X_PC_NAME_MAX                             = 4
   586  	X_PC_NO_TRUNC                             = 8
   587  	X_PC_PATH_MAX                             = 5
   588  	X_PC_PIPE_BUF                             = 6
   589  	X_PC_PRIO_IO                              = 19
   590  	X_PC_REC_INCR_XFER_SIZE                   = 20
   591  	X_PC_REC_MAX_XFER_SIZE                    = 21
   592  	X_PC_REC_MIN_XFER_SIZE                    = 22
   593  	X_PC_REC_XFER_ALIGN                       = 23
   594  	X_PC_SYMLINK_MAX                          = 24
   595  	X_PC_SYNC_IO                              = 25
   596  	X_PC_VDISABLE                             = 9
   597  	X_PC_XATTR_SIZE_BITS                      = 26
   598  	X_PID_T                                   = 0
   599  	X_POSIX2_BC_BASE_MAX                      = 99
   600  	X_POSIX2_BC_DIM_MAX                       = 2048
   601  	X_POSIX2_BC_SCALE_MAX                     = 99
   602  	X_POSIX2_BC_STRING_MAX                    = 1000
   603  	X_POSIX2_CHARCLASS_NAME_MAX               = 14
   604  	X_POSIX2_CHAR_TERM                        = 200112
   605  	X_POSIX2_COLL_WEIGHTS_MAX                 = 2
   606  	X_POSIX2_C_BIND                           = 200112
   607  	X_POSIX2_C_DEV                            = 200112
   608  	X_POSIX2_EQUIV_CLASS_MAX                  = 2
   609  	X_POSIX2_EXPR_NEST_MAX                    = 32
   610  	X_POSIX2_FORT_DEV                         = -1
   611  	X_POSIX2_FORT_RUN                         = 200112
   612  	X_POSIX2_LINE_MAX                         = 2048
   613  	X_POSIX2_LOCALEDEF                        = 200112
   614  	X_POSIX2_PBS                              = -1
   615  	X_POSIX2_PBS_ACCOUNTING                   = -1
   616  	X_POSIX2_PBS_CHECKPOINT                   = -1
   617  	X_POSIX2_PBS_LOCATE                       = -1
   618  	X_POSIX2_PBS_MESSAGE                      = -1
   619  	X_POSIX2_PBS_TRACK                        = -1
   620  	X_POSIX2_RE_DUP_MAX                       = 255
   621  	X_POSIX2_SW_DEV                           = 200112
   622  	X_POSIX2_UPE                              = 200112
   623  	X_POSIX2_VERSION                          = 200112
   624  	X_POSIX_ADVISORY_INFO                     = -1
   625  	X_POSIX_AIO_LISTIO_MAX                    = 2
   626  	X_POSIX_AIO_MAX                           = 1
   627  	X_POSIX_ARG_MAX                           = 4096
   628  	X_POSIX_ASYNCHRONOUS_IO                   = -1
   629  	X_POSIX_BARRIERS                          = -1
   630  	X_POSIX_CHILD_MAX                         = 25
   631  	X_POSIX_CHOWN_RESTRICTED                  = 200112
   632  	X_POSIX_CLOCKRES_MIN                      = 20000000
   633  	X_POSIX_CLOCK_SELECTION                   = -1
   634  	X_POSIX_CPUTIME                           = -1
   635  	X_POSIX_DELAYTIMER_MAX                    = 32
   636  	X_POSIX_FSYNC                             = 200112
   637  	X_POSIX_HOST_NAME_MAX                     = 255
   638  	X_POSIX_IPV6                              = 200112
   639  	X_POSIX_JOB_CONTROL                       = 200112
   640  	X_POSIX_LINK_MAX                          = 8
   641  	X_POSIX_LOGIN_NAME_MAX                    = 9
   642  	X_POSIX_MAPPED_FILES                      = 200112
   643  	X_POSIX_MAX_CANON                         = 255
   644  	X_POSIX_MAX_INPUT                         = 255
   645  	X_POSIX_MEMLOCK                           = -1
   646  	X_POSIX_MEMLOCK_RANGE                     = -1
   647  	X_POSIX_MEMORY_PROTECTION                 = 200112
   648  	X_POSIX_MESSAGE_PASSING                   = -1
   649  	X_POSIX_MONOTONIC_CLOCK                   = -1
   650  	X_POSIX_MQ_OPEN_MAX                       = 8
   651  	X_POSIX_MQ_PRIO_MAX                       = 32
   652  	X_POSIX_NAME_MAX                          = 14
   653  	X_POSIX_NGROUPS_MAX                       = 8
   654  	X_POSIX_NO_TRUNC                          = 200112
   655  	X_POSIX_OPEN_MAX                          = 20
   656  	X_POSIX_PATH_MAX                          = 256
   657  	X_POSIX_PIPE_BUF                          = 512
   658  	X_POSIX_PRIORITIZED_IO                    = -1
   659  	X_POSIX_PRIORITY_SCHEDULING               = -1
   660  	X_POSIX_RAW_SOCKETS                       = -1
   661  	X_POSIX_READER_WRITER_LOCKS               = 200112
   662  	X_POSIX_REALTIME_SIGNALS                  = -1
   663  	X_POSIX_REGEXP                            = 200112
   664  	X_POSIX_RE_DUP_MAX                        = 255
   665  	X_POSIX_RTSIG_MAX                         = 8
   666  	X_POSIX_SAVED_IDS                         = 200112
   667  	X_POSIX_SEMAPHORES                        = -1
   668  	X_POSIX_SEM_NSEMS_MAX                     = 256
   669  	X_POSIX_SEM_VALUE_MAX                     = 32767
   670  	X_POSIX_SHARED_MEMORY_OBJECTS             = -1
   671  	X_POSIX_SHELL                             = 200112
   672  	X_POSIX_SIGQUEUE_MAX                      = 32
   673  	X_POSIX_SPAWN                             = -1
   674  	X_POSIX_SPIN_LOCKS                        = -1
   675  	X_POSIX_SPORADIC_SERVER                   = -1
   676  	X_POSIX_SSIZE_MAX                         = 32767
   677  	X_POSIX_SS_REPL_MAX                       = 4
   678  	X_POSIX_STREAM_MAX                        = 8
   679  	X_POSIX_SYMLINK_MAX                       = 255
   680  	X_POSIX_SYMLOOP_MAX                       = 8
   681  	X_POSIX_SYNCHRONIZED_IO                   = -1
   682  	X_POSIX_THREADS                           = 200112
   683  	X_POSIX_THREAD_ATTR_STACKADDR             = 200112
   684  	X_POSIX_THREAD_ATTR_STACKSIZE             = 200112
   685  	X_POSIX_THREAD_CPUTIME                    = -1
   686  	X_POSIX_THREAD_DESTRUCTOR_ITERATIONS      = 4
   687  	X_POSIX_THREAD_KEYS_MAX                   = 128
   688  	X_POSIX_THREAD_PRIORITY_SCHEDULING        = -1
   689  	X_POSIX_THREAD_PRIO_INHERIT               = -1
   690  	X_POSIX_THREAD_PRIO_PROTECT               = -1
   691  	X_POSIX_THREAD_PROCESS_SHARED             = 200112
   692  	X_POSIX_THREAD_SAFE_FUNCTIONS             = 200112
   693  	X_POSIX_THREAD_SPORADIC_SERVER            = -1
   694  	X_POSIX_THREAD_THREADS_MAX                = 64
   695  	X_POSIX_TIMEOUTS                          = -1
   696  	X_POSIX_TIMERS                            = -1
   697  	X_POSIX_TIMER_MAX                         = 32
   698  	X_POSIX_TRACE                             = -1
   699  	X_POSIX_TRACE_EVENT_FILTER                = -1
   700  	X_POSIX_TRACE_EVENT_NAME_MAX              = 30
   701  	X_POSIX_TRACE_INHERIT                     = -1
   702  	X_POSIX_TRACE_LOG                         = -1
   703  	X_POSIX_TRACE_NAME_MAX                    = 8
   704  	X_POSIX_TRACE_SYS_MAX                     = 8
   705  	X_POSIX_TRACE_USER_EVENT_MAX              = 32
   706  	X_POSIX_TTY_NAME_MAX                      = 9
   707  	X_POSIX_TYPED_MEMORY_OBJECTS              = -1
   708  	X_POSIX_TZNAME_MAX                        = 6
   709  	X_POSIX_V6_ILP32_OFF32                    = -1
   710  	X_POSIX_V6_ILP32_OFFBIG                   = -1
   711  	X_POSIX_V6_LP64_OFF64                     = 1
   712  	X_POSIX_V6_LPBIG_OFFBIG                   = 1
   713  	X_POSIX_V7_ILP32_OFF32                    = -1
   714  	X_POSIX_V7_ILP32_OFFBIG                   = -1
   715  	X_POSIX_V7_LP64_OFF64                     = 1
   716  	X_POSIX_V7_LPBIG_OFFBIG                   = 1
   717  	X_POSIX_VERSION                           = 200112
   718  	X_PTHREAD_ATTR_T                          = 0
   719  	X_PTHREAD_CONDATTR_T                      = 0
   720  	X_PTHREAD_COND_T                          = 0
   721  	X_PTHREAD_KEY_T                           = 0
   722  	X_PTHREAD_MUTEXATTR_T                     = 0
   723  	X_PTHREAD_MUTEX_T                         = 0
   724  	X_PTHREAD_ONCE_T                          = 0
   725  	X_PTHREAD_RWLOCKATTR_T                    = 0
   726  	X_PTHREAD_RWLOCK_T                        = 0
   727  	X_PTHREAD_T                               = 0
   728  	X_PTRDIFF_T                               = 0
   729  	X_PTRDIFF_T_                              = 0
   730  	X_PTRDIFF_T_DECLARED                      = 0
   731  	X_QUAD_HIGHWORD                           = 1
   732  	X_QUAD_LOWWORD                            = 0
   733  	X_RATTR_OK                                = 32768
   734  	X_READ_OK                                 = 512
   735  	X_REXT_OK                                 = 131072
   736  	X_RLIMIT_POSIX_FLAG                       = 0x1000
   737  	X_RMFILE_OK                               = 16384
   738  	X_RPERM_OK                                = 524288
   739  	X_RSIZE_T                                 = 0
   740  	X_RUNE_T                                  = 0
   741  	X_SC_2_CHAR_TERM                          = 20
   742  	X_SC_2_C_BIND                             = 18
   743  	X_SC_2_C_DEV                              = 19
   744  	X_SC_2_FORT_DEV                           = 21
   745  	X_SC_2_FORT_RUN                           = 22
   746  	X_SC_2_LOCALEDEF                          = 23
   747  	X_SC_2_PBS                                = 59
   748  	X_SC_2_PBS_ACCOUNTING                     = 60
   749  	X_SC_2_PBS_CHECKPOINT                     = 61
   750  	X_SC_2_PBS_LOCATE                         = 62
   751  	X_SC_2_PBS_MESSAGE                        = 63
   752  	X_SC_2_PBS_TRACK                          = 64
   753  	X_SC_2_SW_DEV                             = 24
   754  	X_SC_2_UPE                                = 25
   755  	X_SC_2_VERSION                            = 17
   756  	X_SC_ADVISORY_INFO                        = 65
   757  	X_SC_AIO_LISTIO_MAX                       = 42
   758  	X_SC_AIO_MAX                              = 43
   759  	X_SC_AIO_PRIO_DELTA_MAX                   = 44
   760  	X_SC_ARG_MAX                              = 1
   761  	X_SC_ASYNCHRONOUS_IO                      = 28
   762  	X_SC_ATEXIT_MAX                           = 107
   763  	X_SC_BARRIERS                             = 66
   764  	X_SC_BC_BASE_MAX                          = 9
   765  	X_SC_BC_DIM_MAX                           = 10
   766  	X_SC_BC_SCALE_MAX                         = 11
   767  	X_SC_BC_STRING_MAX                        = 12
   768  	X_SC_CHILD_MAX                            = 2
   769  	X_SC_CLK_TCK                              = 3
   770  	X_SC_CLOCK_SELECTION                      = 67
   771  	X_SC_COLL_WEIGHTS_MAX                     = 13
   772  	X_SC_CPUTIME                              = 68
   773  	X_SC_DELAYTIMER_MAX                       = 45
   774  	X_SC_EXPR_NEST_MAX                        = 14
   775  	X_SC_FILE_LOCKING                         = 69
   776  	X_SC_FSYNC                                = 38
   777  	X_SC_GETGR_R_SIZE_MAX                     = 70
   778  	X_SC_GETPW_R_SIZE_MAX                     = 71
   779  	X_SC_HOST_NAME_MAX                        = 72
   780  	X_SC_IOV_MAX                              = 56
   781  	X_SC_IPV6                                 = 118
   782  	X_SC_JOB_CONTROL                          = 6
   783  	X_SC_LINE_MAX                             = 15
   784  	X_SC_LOGIN_NAME_MAX                       = 73
   785  	X_SC_MAPPED_FILES                         = 47
   786  	X_SC_MEMLOCK                              = 30
   787  	X_SC_MEMLOCK_RANGE                        = 31
   788  	X_SC_MEMORY_PROTECTION                    = 32
   789  	X_SC_MESSAGE_PASSING                      = 33
   790  	X_SC_MONOTONIC_CLOCK                      = 74
   791  	X_SC_MQ_OPEN_MAX                          = 46
   792  	X_SC_MQ_PRIO_MAX                          = 75
   793  	X_SC_NGROUPS_MAX                          = 4
   794  	X_SC_NPROCESSORS_CONF                     = 57
   795  	X_SC_NPROCESSORS_ONLN                     = 58
   796  	X_SC_OPEN_MAX                             = 5
   797  	X_SC_PAGESIZE                             = 29
   798  	X_SC_PAGE_SIZE                            = 29
   799  	X_SC_PASS_MAX                             = 131
   800  	X_SC_PHYS_PAGES                           = 200
   801  	X_SC_PRIORITIZED_IO                       = 34
   802  	X_SC_PRIORITY_SCHEDULING                  = 35
   803  	X_SC_RAW_SOCKETS                          = 119
   804  	X_SC_READER_WRITER_LOCKS                  = 76
   805  	X_SC_REALTIME_SIGNALS                     = 36
   806  	X_SC_REGEXP                               = 77
   807  	X_SC_RE_DUP_MAX                           = 16
   808  	X_SC_RTSIG_MAX                            = 48
   809  	X_SC_SAVED_IDS                            = 7
   810  	X_SC_SEMAPHORES                           = 37
   811  	X_SC_SEM_NSEMS_MAX                        = 49
   812  	X_SC_SEM_VALUE_MAX                        = 50
   813  	X_SC_SHARED_MEMORY_OBJECTS                = 39
   814  	X_SC_SHELL                                = 78
   815  	X_SC_SIGQUEUE_MAX                         = 51
   816  	X_SC_SPAWN                                = 79
   817  	X_SC_SPIN_LOCKS                           = 80
   818  	X_SC_SPORADIC_SERVER                      = 81
   819  	X_SC_SS_REPL_MAX                          = 126
   820  	X_SC_STREAM_MAX                           = 26
   821  	X_SC_SYMLOOP_MAX                          = 120
   822  	X_SC_SYNCHRONIZED_IO                      = 40
   823  	X_SC_THREADS                              = 96
   824  	X_SC_THREAD_ATTR_STACKADDR                = 82
   825  	X_SC_THREAD_ATTR_STACKSIZE                = 83
   826  	X_SC_THREAD_CPUTIME                       = 84
   827  	X_SC_THREAD_DESTRUCTOR_ITERATIONS         = 85
   828  	X_SC_THREAD_KEYS_MAX                      = 86
   829  	X_SC_THREAD_PRIORITY_SCHEDULING           = 89
   830  	X_SC_THREAD_PRIO_INHERIT                  = 87
   831  	X_SC_THREAD_PRIO_PROTECT                  = 88
   832  	X_SC_THREAD_PROCESS_SHARED                = 90
   833  	X_SC_THREAD_SAFE_FUNCTIONS                = 91
   834  	X_SC_THREAD_SPORADIC_SERVER               = 92
   835  	X_SC_THREAD_STACK_MIN                     = 93
   836  	X_SC_THREAD_THREADS_MAX                   = 94
   837  	X_SC_TIMEOUTS                             = 95
   838  	X_SC_TIMERS                               = 41
   839  	X_SC_TIMER_MAX                            = 52
   840  	X_SC_TRACE                                = 97
   841  	X_SC_TRACE_EVENT_FILTER                   = 98
   842  	X_SC_TRACE_EVENT_NAME_MAX                 = 127
   843  	X_SC_TRACE_INHERIT                        = 99
   844  	X_SC_TRACE_LOG                            = 100
   845  	X_SC_TRACE_NAME_MAX                       = 128
   846  	X_SC_TRACE_SYS_MAX                        = 129
   847  	X_SC_TRACE_USER_EVENT_MAX                 = 130
   848  	X_SC_TTY_NAME_MAX                         = 101
   849  	X_SC_TYPED_MEMORY_OBJECTS                 = 102
   850  	X_SC_TZNAME_MAX                           = 27
   851  	X_SC_V6_ILP32_OFF32                       = 103
   852  	X_SC_V6_ILP32_OFFBIG                      = 104
   853  	X_SC_V6_LP64_OFF64                        = 105
   854  	X_SC_V6_LPBIG_OFFBIG                      = 106
   855  	X_SC_VERSION                              = 8
   856  	X_SC_XBS5_ILP32_OFF32                     = 122
   857  	X_SC_XBS5_ILP32_OFFBIG                    = 123
   858  	X_SC_XBS5_LP64_OFF64                      = 124
   859  	X_SC_XBS5_LPBIG_OFFBIG                    = 125
   860  	X_SC_XOPEN_CRYPT                          = 108
   861  	X_SC_XOPEN_ENH_I18N                       = 109
   862  	X_SC_XOPEN_LEGACY                         = 110
   863  	X_SC_XOPEN_REALTIME                       = 111
   864  	X_SC_XOPEN_REALTIME_THREADS               = 112
   865  	X_SC_XOPEN_SHM                            = 113
   866  	X_SC_XOPEN_STREAMS                        = 114
   867  	X_SC_XOPEN_UNIX                           = 115
   868  	X_SC_XOPEN_VERSION                        = 116
   869  	X_SC_XOPEN_XCU_VERSION                    = 121
   870  	X_SECURE__COMMON_H_                       = 0
   871  	X_SECURE__STRINGS_H_                      = 0
   872  	X_SECURE__STRING_H_                       = 0
   873  	X_SIGSET_T                                = 0
   874  	X_SIZET_                                  = 0
   875  	X_SIZE_T                                  = 0
   876  	X_SIZE_T_                                 = 0
   877  	X_SIZE_T_DECLARED                         = 0
   878  	X_SIZE_T_DEFINED                          = 0
   879  	X_SIZE_T_DEFINED_                         = 0
   880  	X_SSIZE_T                                 = 0
   881  	X_STDARG_H                                = 0
   882  	X_STDDEF_H                                = 0
   883  	X_STDDEF_H_                               = 0
   884  	X_STDINT_H_                               = 0
   885  	X_STDLIB_H_                               = 0
   886  	X_STRINGS_H_                              = 0
   887  	X_STRING_H_                               = 0
   888  	X_SUSECONDS_T                             = 0
   889  	X_SYS_RESOURCE_H_                         = 0
   890  	X_SYS_SELECT_H_                           = 0
   891  	X_SYS_SIGNAL_H_                           = 0
   892  	X_SYS_SIZE_T_H                            = 0
   893  	X_SYS_SYSLIMITS_H_                        = 0
   894  	X_SYS_TYPES_H_                            = 0
   895  	X_SYS_UNISTD_H_                           = 0
   896  	X_SYS_WAIT_H_                             = 0
   897  	X_SYS__ENDIAN_H_                          = 0
   898  	X_SYS__PTHREAD_TYPES_H_                   = 0
   899  	X_SYS__SELECT_H_                          = 0
   900  	X_SYS__TYPES_H_                           = 0
   901  	X_TIME_T                                  = 0
   902  	X_T_PTRDIFF                               = 0
   903  	X_T_PTRDIFF_                              = 0
   904  	X_T_SIZE                                  = 0
   905  	X_T_SIZE_                                 = 0
   906  	X_T_WCHAR                                 = 0
   907  	X_T_WCHAR_                                = 0
   908  	X_UID_T                                   = 0
   909  	X_UINT16_T                                = 0
   910  	X_UINT32_T                                = 0
   911  	X_UINT64_T                                = 0
   912  	X_UINT8_T                                 = 0
   913  	X_UINTMAX_T                               = 0
   914  	X_UINTPTR_T                               = 0
   915  	X_UNISTD_H_                               = 0
   916  	X_USECONDS_T                              = 0
   917  	X_USE_FORTIFY_LEVEL                       = 2
   918  	X_UUID_T                                  = 0
   919  	X_U_CHAR                                  = 0
   920  	X_U_INT                                   = 0
   921  	X_U_INT16_T                               = 0
   922  	X_U_INT32_T                               = 0
   923  	X_U_INT64_T                               = 0
   924  	X_U_INT8_T                                = 0
   925  	X_U_LONG                                  = 0
   926  	X_U_SHORT                                 = 0
   927  	X_V6_ILP32_OFF32                          = -1
   928  	X_V6_ILP32_OFFBIG                         = -1
   929  	X_V6_LP64_OFF64                           = 1
   930  	X_V6_LPBIG_OFFBIG                         = 1
   931  	X_VA_LIST                                 = 0
   932  	X_VA_LIST_                                = 0
   933  	X_VA_LIST_DEFINED                         = 0
   934  	X_VA_LIST_T_H                             = 0
   935  	X_WATTR_OK                                = 65536
   936  	X_WCHAR_T                                 = 0
   937  	X_WCHAR_T_                                = 0
   938  	X_WCHAR_T_DECLARED                        = 0
   939  	X_WCHAR_T_DEFINED                         = 0
   940  	X_WCHAR_T_DEFINED_                        = 0
   941  	X_WCHAR_T_H                               = 0
   942  	X_WEXT_OK                                 = 262144
   943  	X_WPERM_OK                                = 1048576
   944  	X_WRITE_OK                                = 1024
   945  	X_WSTOPPED                                = 0177
   946  	X_XBS5_ILP32_OFF32                        = -1
   947  	X_XBS5_ILP32_OFFBIG                       = -1
   948  	X_XBS5_LP64_OFF64                         = 1
   949  	X_XBS5_LPBIG_OFFBIG                       = 1
   950  	X_XOPEN_CRYPT                             = 1
   951  	X_XOPEN_ENH_I18N                          = 1
   952  	X_XOPEN_IOV_MAX                           = 16
   953  	X_XOPEN_LEGACY                            = -1
   954  	X_XOPEN_NAME_MAX                          = 255
   955  	X_XOPEN_PATH_MAX                          = 1024
   956  	X_XOPEN_REALTIME                          = -1
   957  	X_XOPEN_REALTIME_THREADS                  = -1
   958  	X_XOPEN_SHM                               = 1
   959  	X_XOPEN_STREAMS                           = -1
   960  	X_XOPEN_UNIX                              = 1
   961  	X_XOPEN_VERSION                           = 600
   962  	X_XOPEN_XCU_VERSION                       = 4
   963  	Z_const                                   = 0
   964  	BYFOUR                                    = 0
   965  	GF2_DIM                                   = 32
   966  	TBLS                                      = 8
   967  	BL_CODES                                  = 19
   968  	BUSY_STATE                                = 113
   969  	Buf_size                                  = 16
   970  	COMMENT_STATE                             = 91
   971  	DEFLATE_H                                 = 0
   972  	D_CODES                                   = 30
   973  	EXTRA_STATE                               = 69
   974  	FINISH_STATE                              = 666
   975  	GZIP                                      = 0
   976  	GZIP_STATE                                = 57
   977  	HCRC_STATE                                = 103
   978  	HEAP_SIZE                                 = 573
   979  	INIT_STATE                                = 42
   980  	LENGTH_CODES                              = 29
   981  	LITERALS                                  = 256
   982  	L_CODES                                   = 286
   983  	MAX_BITS                                  = 15
   984  	MAX_STORED                                = 65535
   985  	MIN_LOOKAHEAD                             = 262
   986  	NAME_STATE                                = 73
   987  	NIL                                       = 0
   988  	TOO_FAR                                   = 4096
   989  	WIN_INIT                                  = 258
   990  	AT_EACCESS                                = 0x0010
   991  	AT_FDCWD                                  = -2
   992  	AT_FDONLY                                 = 0x0400
   993  	AT_REALDEV                                = 0x0200
   994  	AT_REMOVEDIR                              = 0x0080
   995  	AT_SYMLINK_FOLLOW                         = 0x0040
   996  	AT_SYMLINK_NOFOLLOW                       = 0x0020
   997  	BUFSIZ                                    = 1024
   998  	COPY1                                     = 1
   999  	CPF_IGNORE_MODE                           = 0x0002
  1000  	CPF_MASK                                  = 3
  1001  	CPF_OVERWRITE                             = 0x0001
  1002  	E2BIG                                     = 7
  1003  	EACCES                                    = 13
  1004  	EADDRINUSE                                = 48
  1005  	EADDRNOTAVAIL                             = 49
  1006  	EAFNOSUPPORT                              = 47
  1007  	EAGAIN                                    = 35
  1008  	EALREADY                                  = 37
  1009  	EAUTH                                     = 80
  1010  	EBADARCH                                  = 86
  1011  	EBADEXEC                                  = 85
  1012  	EBADF                                     = 9
  1013  	EBADMACHO                                 = 88
  1014  	EBADMSG                                   = 94
  1015  	EBADRPC                                   = 72
  1016  	EBUSY                                     = 16
  1017  	ECANCELED                                 = 89
  1018  	ECHILD                                    = 10
  1019  	ECONNABORTED                              = 53
  1020  	ECONNREFUSED                              = 61
  1021  	ECONNRESET                                = 54
  1022  	EDEADLK                                   = 11
  1023  	EDESTADDRREQ                              = 39
  1024  	EDEVERR                                   = 83
  1025  	EDOM                                      = 33
  1026  	EDQUOT                                    = 69
  1027  	EEXIST                                    = 17
  1028  	EFAULT                                    = 14
  1029  	EFBIG                                     = 27
  1030  	EFTYPE                                    = 79
  1031  	EHOSTDOWN                                 = 64
  1032  	EHOSTUNREACH                              = 65
  1033  	EIDRM                                     = 90
  1034  	EILSEQ                                    = 92
  1035  	EINPROGRESS                               = 36
  1036  	EINTR                                     = 4
  1037  	EINVAL                                    = 22
  1038  	EIO                                       = 5
  1039  	EISCONN                                   = 56
  1040  	EISDIR                                    = 21
  1041  	ELAST                                     = 106
  1042  	ELOOP                                     = 62
  1043  	EMFILE                                    = 24
  1044  	EMLINK                                    = 31
  1045  	EMSGSIZE                                  = 40
  1046  	EMULTIHOP                                 = 95
  1047  	ENAMETOOLONG                              = 63
  1048  	ENEEDAUTH                                 = 81
  1049  	ENETDOWN                                  = 50
  1050  	ENETRESET                                 = 52
  1051  	ENETUNREACH                               = 51
  1052  	ENFILE                                    = 23
  1053  	ENOATTR                                   = 93
  1054  	ENOBUFS                                   = 55
  1055  	ENODATA                                   = 96
  1056  	ENODEV                                    = 19
  1057  	ENOENT                                    = 2
  1058  	ENOEXEC                                   = 8
  1059  	ENOLCK                                    = 77
  1060  	ENOLINK                                   = 97
  1061  	ENOMEM                                    = 12
  1062  	ENOMSG                                    = 91
  1063  	ENOPOLICY                                 = 103
  1064  	ENOPROTOOPT                               = 42
  1065  	ENOSPC                                    = 28
  1066  	ENOSR                                     = 98
  1067  	ENOSTR                                    = 99
  1068  	ENOSYS                                    = 78
  1069  	ENOTBLK                                   = 15
  1070  	ENOTCONN                                  = 57
  1071  	ENOTDIR                                   = 20
  1072  	ENOTEMPTY                                 = 66
  1073  	ENOTRECOVERABLE                           = 104
  1074  	ENOTSOCK                                  = 38
  1075  	ENOTSUP                                   = 45
  1076  	ENOTTY                                    = 25
  1077  	ENXIO                                     = 6
  1078  	EOF                                       = -1
  1079  	EOPNOTSUPP                                = 102
  1080  	EOVERFLOW                                 = 84
  1081  	EOWNERDEAD                                = 105
  1082  	EPERM                                     = 1
  1083  	EPFNOSUPPORT                              = 46
  1084  	EPIPE                                     = 32
  1085  	EPROCLIM                                  = 67
  1086  	EPROCUNAVAIL                              = 76
  1087  	EPROGMISMATCH                             = 75
  1088  	EPROGUNAVAIL                              = 74
  1089  	EPROTO                                    = 100
  1090  	EPROTONOSUPPORT                           = 43
  1091  	EPROTOTYPE                                = 41
  1092  	EPWROFF                                   = 82
  1093  	EQFULL                                    = 106
  1094  	ERANGE                                    = 34
  1095  	EREMOTE                                   = 71
  1096  	EROFS                                     = 30
  1097  	ERPCMISMATCH                              = 73
  1098  	ESHLIBVERS                                = 87
  1099  	ESHUTDOWN                                 = 58
  1100  	ESOCKTNOSUPPORT                           = 44
  1101  	ESPIPE                                    = 29
  1102  	ESRCH                                     = 3
  1103  	ESTALE                                    = 70
  1104  	ETIME                                     = 101
  1105  	ETIMEDOUT                                 = 60
  1106  	ETOOMANYREFS                              = 59
  1107  	ETXTBSY                                   = 26
  1108  	EUSERS                                    = 68
  1109  	EWOULDBLOCK                               = 35
  1110  	EXDEV                                     = 18
  1111  	FAPPEND                                   = 8
  1112  	FASYNC                                    = 64
  1113  	FCNTL_FS_SPECIFIC_BASE                    = 0x00010000
  1114  	FD_CLOEXEC                                = 1
  1115  	FFDSYNC                                   = 4194304
  1116  	FFSYNC                                    = 128
  1117  	FILENAME_MAX                              = 1024
  1118  	FIXINC_WRAP_STDIO_H_STDIO_STDARG_H        = 1
  1119  	FNDELAY                                   = 4
  1120  	FNONBLOCK                                 = 4
  1121  	FOPEN_MAX                                 = 20
  1122  	FREAD                                     = 0x00000001
  1123  	FWRITE                                    = 0x00000002
  1124  	F_ADDFILESIGS                             = 61
  1125  	F_ADDFILESIGS_FOR_DYLD_SIM                = 83
  1126  	F_ADDFILESIGS_INFO                        = 103
  1127  	F_ADDFILESIGS_RETURN                      = 97
  1128  	F_ADDFILESUPPL                            = 104
  1129  	F_ADDSIGS                                 = 59
  1130  	F_ALLOCATEALL                             = 0x00000004
  1131  	F_ALLOCATECONTIG                          = 0x00000002
  1132  	F_BARRIERFSYNC                            = 85
  1133  	F_CHECK_LV                                = 98
  1134  	F_CHKCLEAN                                = 41
  1135  	F_DUPFD                                   = 0
  1136  	F_DUPFD_CLOEXEC                           = 67
  1137  	F_FINDSIGS                                = 78
  1138  	F_FLUSH_DATA                              = 40
  1139  	F_FREEZE_FS                               = 53
  1140  	F_FULLFSYNC                               = 51
  1141  	F_GETCODEDIR                              = 72
  1142  	F_GETFD                                   = 1
  1143  	F_GETFL                                   = 3
  1144  	F_GETLK                                   = 7
  1145  	F_GETLKPID                                = 66
  1146  	F_GETNOSIGPIPE                            = 74
  1147  	F_GETOWN                                  = 5
  1148  	F_GETPATH                                 = 50
  1149  	F_GETPATH_MTMINFO                         = 71
  1150  	F_GETPATH_NOFIRMLINK                      = 102
  1151  	F_GETPROTECTIONCLASS                      = 63
  1152  	F_GETPROTECTIONLEVEL                      = 77
  1153  	F_GETSIGSINFO                             = 105
  1154  	F_GLOBAL_NOCACHE                          = 55
  1155  	F_LOG2PHYS                                = 49
  1156  	F_LOG2PHYS_EXT                            = 65
  1157  	F_NOCACHE                                 = 48
  1158  	F_NODIRECT                                = 62
  1159  	F_PATHPKG_CHECK                           = 52
  1160  	F_PEOFPOSMODE                             = 3
  1161  	F_PREALLOCATE                             = 42
  1162  	F_PUNCHHOLE                               = 99
  1163  	F_RDADVISE                                = 44
  1164  	F_RDAHEAD                                 = 45
  1165  	F_RDLCK                                   = 1
  1166  	F_SETBACKINGSTORE                         = 70
  1167  	F_SETFD                                   = 2
  1168  	F_SETFL                                   = 4
  1169  	F_SETLK                                   = 8
  1170  	F_SETLKW                                  = 9
  1171  	F_SETLKWTIMEOUT                           = 10
  1172  	F_SETNOSIGPIPE                            = 73
  1173  	F_SETOWN                                  = 6
  1174  	F_SETPROTECTIONCLASS                      = 64
  1175  	F_SETSIZE                                 = 43
  1176  	F_SINGLE_WRITER                           = 76
  1177  	F_SPECULATIVE_READ                        = 101
  1178  	F_THAW_FS                                 = 54
  1179  	F_TRANSCODEKEY                            = 75
  1180  	F_TRIM_ACTIVE_FILE                        = 100
  1181  	F_UNLCK                                   = 2
  1182  	F_VOLPOSMODE                              = 4
  1183  	F_WRLCK                                   = 3
  1184  	GETSIGSINFO_PLATFORM_BINARY               = 1
  1185  	GZBUFSIZE                                 = 8192
  1186  	GZ_APPEND                                 = 1
  1187  	GZ_NONE                                   = 0
  1188  	GZ_READ                                   = 7247
  1189  	GZ_WRITE                                  = 31153
  1190  	HAVE_VSNPRINTF                            = 0
  1191  	LOCK_EX                                   = 0x02
  1192  	LOCK_NB                                   = 0x04
  1193  	LOCK_SH                                   = 0x01
  1194  	LOCK_UN                                   = 0x08
  1195  	LOOK                                      = 0
  1196  	L_ctermid                                 = 1024
  1197  	L_tmpnam                                  = 1024
  1198  	O_ACCMODE                                 = 0x0003
  1199  	O_ALERT                                   = 0x20000000
  1200  	O_APPEND                                  = 0x00000008
  1201  	O_ASYNC                                   = 0x00000040
  1202  	O_CLOEXEC                                 = 0x01000000
  1203  	O_CREAT                                   = 0x00000200
  1204  	O_DIRECTORY                               = 0x00100000
  1205  	O_DP_GETRAWENCRYPTED                      = 0x0001
  1206  	O_DP_GETRAWUNENCRYPTED                    = 0x0002
  1207  	O_DSYNC                                   = 0x400000
  1208  	O_EVTONLY                                 = 0x00008000
  1209  	O_EXCL                                    = 0x00000800
  1210  	O_EXLOCK                                  = 0x00000020
  1211  	O_FSYNC                                   = 128
  1212  	O_NDELAY                                  = 4
  1213  	O_NOCTTY                                  = 0x00020000
  1214  	O_NOFOLLOW                                = 0x00000100
  1215  	O_NOFOLLOW_ANY                            = 0x20000000
  1216  	O_NONBLOCK                                = 0x00000004
  1217  	O_POPUP                                   = 0x80000000
  1218  	O_RDONLY                                  = 0x0000
  1219  	O_RDWR                                    = 0x0002
  1220  	O_SHLOCK                                  = 0x00000010
  1221  	O_SYMLINK                                 = 0x00200000
  1222  	O_SYNC                                    = 0x0080
  1223  	O_TRUNC                                   = 0x00000400
  1224  	O_WRONLY                                  = 0x0001
  1225  	P_tmpdir                                  = "/var/tmp/"
  1226  	RENAME_EXCL                               = 0x00000004
  1227  	RENAME_SECLUDE                            = 0x00000001
  1228  	RENAME_SWAP                               = 0x00000002
  1229  	S_IEXEC                                   = 64
  1230  	S_IFBLK                                   = 0060000
  1231  	S_IFCHR                                   = 0020000
  1232  	S_IFDIR                                   = 0040000
  1233  	S_IFIFO                                   = 0010000
  1234  	S_IFLNK                                   = 0120000
  1235  	S_IFMT                                    = 0170000
  1236  	S_IFREG                                   = 0100000
  1237  	S_IFSOCK                                  = 0140000
  1238  	S_IFWHT                                   = 0160000
  1239  	S_IREAD                                   = 256
  1240  	S_IRGRP                                   = 0000040
  1241  	S_IROTH                                   = 0000004
  1242  	S_IRUSR                                   = 0000400
  1243  	S_IRWXG                                   = 0000070
  1244  	S_IRWXO                                   = 0000007
  1245  	S_IRWXU                                   = 0000700
  1246  	S_ISGID                                   = 0002000
  1247  	S_ISTXT                                   = 512
  1248  	S_ISUID                                   = 0004000
  1249  	S_ISVTX                                   = 0001000
  1250  	S_IWGRP                                   = 0000020
  1251  	S_IWOTH                                   = 0000002
  1252  	S_IWRITE                                  = 128
  1253  	S_IWUSR                                   = 0000200
  1254  	S_IXGRP                                   = 0000010
  1255  	S_IXOTH                                   = 0000001
  1256  	S_IXUSR                                   = 0000100
  1257  	TMP_MAX                                   = 308915776
  1258  	USER_FSIGNATURES_CDHASH_LEN               = 20
  1259  	X_FILESEC_T                               = 0
  1260  	X_FSTDIO                                  = 0
  1261  	X_IOFBF                                   = 0
  1262  	X_IOLBF                                   = 1
  1263  	X_IONBF                                   = 2
  1264  	X_POSIX_SOURCE                            = 0
  1265  	X_SECURE__STDIO_H_                        = 0
  1266  	X_STDIO_H_                                = 0
  1267  	X_SYS_ERRNO_H_                            = 0
  1268  	X_SYS_FCNTL_H_                            = 0
  1269  	X_SYS_STDIO_H_                            = 0
  1270  	X_VA_LIST_T                               = 0
  1271  	ENOUGH                                    = 1444
  1272  	ENOUGH_DISTS                              = 592
  1273  	ENOUGH_LENS                               = 852
  1274  	GUNZIP                                    = 0
  1275  	MAXBITS                                   = 15
  1276  	DIST_CODE_LEN                             = 512
  1277  	END_BLOCK                                 = 256
  1278  	MAX_BL_BITS                               = 7
  1279  	REPZ_11_138                               = 18
  1280  	REPZ_3_10                                 = 17
  1281  	REP_3_6                                   = 16
  1282  	SMALLEST                                  = 1
  1283  )
  1284  
  1285  const ( /* fcntl.h:545:1: */
  1286  	FILESEC_OWNER   = 1
  1287  	FILESEC_GROUP   = 2
  1288  	FILESEC_UUID    = 3
  1289  	FILESEC_MODE    = 4
  1290  	FILESEC_ACL     = 5
  1291  	FILESEC_GRPUUID = 6
  1292  
  1293  	// XXX these are private to the implementation
  1294  	FILESEC_ACL_RAW       = 100
  1295  	FILESEC_ACL_ALLOCSIZE = 101
  1296  )
  1297  
  1298  // Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.
  1299  //
  1300  // @APPLE_LICENSE_HEADER_START@
  1301  //
  1302  // This file contains Original Code and/or Modifications of Original Code
  1303  // as defined in and that are subject to the Apple Public Source License
  1304  // Version 2.0 (the 'License'). You may not use this file except in
  1305  // compliance with the License. Please obtain a copy of the License at
  1306  // http://www.opensource.apple.com/apsl/ and read it before using this
  1307  // file.
  1308  //
  1309  // The Original Code and all software distributed under the License are
  1310  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1311  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1312  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1313  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1314  // Please see the License for the specific language governing rights and
  1315  // limitations under the License.
  1316  //
  1317  // @APPLE_LICENSE_HEADER_END@
  1318  // -
  1319  // Copyright (c) 1990, 1993
  1320  //	The Regents of the University of California.  All rights reserved.
  1321  //
  1322  // Redistribution and use in source and binary forms, with or without
  1323  // modification, are permitted provided that the following conditions
  1324  // are met:
  1325  // 1. Redistributions of source code must retain the above copyright
  1326  //    notice, this list of conditions and the following disclaimer.
  1327  // 2. Redistributions in binary form must reproduce the above copyright
  1328  //    notice, this list of conditions and the following disclaimer in the
  1329  //    documentation and/or other materials provided with the distribution.
  1330  // 3. All advertising materials mentioning features or use of this software
  1331  //    must display the following acknowledgement:
  1332  //	This product includes software developed by the University of
  1333  //	California, Berkeley and its contributors.
  1334  // 4. Neither the name of the University nor the names of its contributors
  1335  //    may be used to endorse or promote products derived from this software
  1336  //    without specific prior written permission.
  1337  //
  1338  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1339  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1340  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1341  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1342  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1343  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1344  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1345  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1346  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1347  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1348  // SUCH DAMAGE.
  1349  //
  1350  //	@(#)string.h	8.1 (Berkeley) 6/2/93
  1351  
  1352  // Security checking functions.
  1353  // Copyright (c) 2017 Apple Inc. All rights reserved.
  1354  //
  1355  // @APPLE_LICENSE_HEADER_START@
  1356  //
  1357  // This file contains Original Code and/or Modifications of Original Code
  1358  // as defined in and that are subject to the Apple Public Source License
  1359  // Version 2.0 (the 'License'). You may not use this file except in
  1360  // compliance with the License. Please obtain a copy of the License at
  1361  // http://www.opensource.apple.com/apsl/ and read it before using this
  1362  // file.
  1363  //
  1364  // The Original Code and all software distributed under the License are
  1365  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1366  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1367  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1368  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1369  // Please see the License for the specific language governing rights and
  1370  // limitations under the License.
  1371  //
  1372  // @APPLE_LICENSE_HEADER_END@
  1373  
  1374  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  1375  //
  1376  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1377  //
  1378  // This file contains Original Code and/or Modifications of Original Code
  1379  // as defined in and that are subject to the Apple Public Source License
  1380  // Version 2.0 (the 'License'). You may not use this file except in
  1381  // compliance with the License. The rights granted to you under the License
  1382  // may not be used to create, or enable the creation or redistribution of,
  1383  // unlawful or unlicensed copies of an Apple operating system, or to
  1384  // circumvent, violate, or enable the circumvention or violation of, any
  1385  // terms of an Apple operating system software license agreement.
  1386  //
  1387  // Please obtain a copy of the License at
  1388  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1389  //
  1390  // The Original Code and all software distributed under the License are
  1391  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1392  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1393  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1394  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1395  // Please see the License for the specific language governing rights and
  1396  // limitations under the License.
  1397  //
  1398  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1399  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1400  // Copyright (c) 1991, 1993
  1401  //	The Regents of the University of California.  All rights reserved.
  1402  //
  1403  // This code is derived from software contributed to Berkeley by
  1404  // Berkeley Software Design, Inc.
  1405  //
  1406  // Redistribution and use in source and binary forms, with or without
  1407  // modification, are permitted provided that the following conditions
  1408  // are met:
  1409  // 1. Redistributions of source code must retain the above copyright
  1410  //    notice, this list of conditions and the following disclaimer.
  1411  // 2. Redistributions in binary form must reproduce the above copyright
  1412  //    notice, this list of conditions and the following disclaimer in the
  1413  //    documentation and/or other materials provided with the distribution.
  1414  // 3. All advertising materials mentioning features or use of this software
  1415  //    must display the following acknowledgement:
  1416  //	This product includes software developed by the University of
  1417  //	California, Berkeley and its contributors.
  1418  // 4. Neither the name of the University nor the names of its contributors
  1419  //    may be used to endorse or promote products derived from this software
  1420  //    without specific prior written permission.
  1421  //
  1422  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1423  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1424  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1425  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1426  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1427  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1428  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1429  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1430  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1431  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1432  // SUCH DAMAGE.
  1433  //
  1434  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  1435  
  1436  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  1437  //
  1438  // @APPLE_LICENSE_HEADER_START@
  1439  //
  1440  // This file contains Original Code and/or Modifications of Original Code
  1441  // as defined in and that are subject to the Apple Public Source License
  1442  // Version 2.0 (the 'License'). You may not use this file except in
  1443  // compliance with the License. Please obtain a copy of the License at
  1444  // http://www.opensource.apple.com/apsl/ and read it before using this
  1445  // file.
  1446  //
  1447  // The Original Code and all software distributed under the License are
  1448  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1449  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1450  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1451  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1452  // Please see the License for the specific language governing rights and
  1453  // limitations under the License.
  1454  //
  1455  // @APPLE_LICENSE_HEADER_END@
  1456  
  1457  // Copyright (c) 2007, 2008 Apple Inc. All rights reserved.
  1458  //
  1459  // @APPLE_LICENSE_HEADER_START@
  1460  //
  1461  // This file contains Original Code and/or Modifications of Original Code
  1462  // as defined in and that are subject to the Apple Public Source License
  1463  // Version 2.0 (the 'License'). You may not use this file except in
  1464  // compliance with the License. Please obtain a copy of the License at
  1465  // http://www.opensource.apple.com/apsl/ and read it before using this
  1466  // file.
  1467  //
  1468  // The Original Code and all software distributed under the License are
  1469  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1470  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1471  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1472  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1473  // Please see the License for the specific language governing rights and
  1474  // limitations under the License.
  1475  //
  1476  // @APPLE_LICENSE_HEADER_END@
  1477  
  1478  // bcopy and bzero
  1479  
  1480  // Removed in Issue 7
  1481  
  1482  // void	bcopy(const void *src, void *dst, size_t len)
  1483  
  1484  // void	bzero(void *s, size_t n)
  1485  
  1486  // Security checking functions.
  1487  // Copyright (c) 2007,2017 Apple Inc. All rights reserved.
  1488  //
  1489  // @APPLE_LICENSE_HEADER_START@
  1490  //
  1491  // This file contains Original Code and/or Modifications of Original Code
  1492  // as defined in and that are subject to the Apple Public Source License
  1493  // Version 2.0 (the 'License'). You may not use this file except in
  1494  // compliance with the License. Please obtain a copy of the License at
  1495  // http://www.opensource.apple.com/apsl/ and read it before using this
  1496  // file.
  1497  //
  1498  // The Original Code and all software distributed under the License are
  1499  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1500  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1501  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1502  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1503  // Please see the License for the specific language governing rights and
  1504  // limitations under the License.
  1505  //
  1506  // @APPLE_LICENSE_HEADER_END@
  1507  
  1508  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  1509  //
  1510  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1511  //
  1512  // This file contains Original Code and/or Modifications of Original Code
  1513  // as defined in and that are subject to the Apple Public Source License
  1514  // Version 2.0 (the 'License'). You may not use this file except in
  1515  // compliance with the License. The rights granted to you under the License
  1516  // may not be used to create, or enable the creation or redistribution of,
  1517  // unlawful or unlicensed copies of an Apple operating system, or to
  1518  // circumvent, violate, or enable the circumvention or violation of, any
  1519  // terms of an Apple operating system software license agreement.
  1520  //
  1521  // Please obtain a copy of the License at
  1522  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1523  //
  1524  // The Original Code and all software distributed under the License are
  1525  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1526  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1527  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1528  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1529  // Please see the License for the specific language governing rights and
  1530  // limitations under the License.
  1531  //
  1532  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1533  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1534  // Copyright (c) 1991, 1993
  1535  //	The Regents of the University of California.  All rights reserved.
  1536  //
  1537  // This code is derived from software contributed to Berkeley by
  1538  // Berkeley Software Design, Inc.
  1539  //
  1540  // Redistribution and use in source and binary forms, with or without
  1541  // modification, are permitted provided that the following conditions
  1542  // are met:
  1543  // 1. Redistributions of source code must retain the above copyright
  1544  //    notice, this list of conditions and the following disclaimer.
  1545  // 2. Redistributions in binary form must reproduce the above copyright
  1546  //    notice, this list of conditions and the following disclaimer in the
  1547  //    documentation and/or other materials provided with the distribution.
  1548  // 3. All advertising materials mentioning features or use of this software
  1549  //    must display the following acknowledgement:
  1550  //	This product includes software developed by the University of
  1551  //	California, Berkeley and its contributors.
  1552  // 4. Neither the name of the University nor the names of its contributors
  1553  //    may be used to endorse or promote products derived from this software
  1554  //    without specific prior written permission.
  1555  //
  1556  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1557  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1558  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1559  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1560  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1561  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1562  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1563  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1564  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1565  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1566  // SUCH DAMAGE.
  1567  //
  1568  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  1569  
  1570  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  1571  //
  1572  // @APPLE_LICENSE_HEADER_START@
  1573  //
  1574  // This file contains Original Code and/or Modifications of Original Code
  1575  // as defined in and that are subject to the Apple Public Source License
  1576  // Version 2.0 (the 'License'). You may not use this file except in
  1577  // compliance with the License. Please obtain a copy of the License at
  1578  // http://www.opensource.apple.com/apsl/ and read it before using this
  1579  // file.
  1580  //
  1581  // The Original Code and all software distributed under the License are
  1582  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1583  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1584  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1585  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1586  // Please see the License for the specific language governing rights and
  1587  // limitations under the License.
  1588  //
  1589  // @APPLE_LICENSE_HEADER_END@
  1590  
  1591  // Copyright (c) 2007, 2008 Apple Inc. All rights reserved.
  1592  //
  1593  // @APPLE_LICENSE_HEADER_START@
  1594  //
  1595  // This file contains Original Code and/or Modifications of Original Code
  1596  // as defined in and that are subject to the Apple Public Source License
  1597  // Version 2.0 (the 'License'). You may not use this file except in
  1598  // compliance with the License. Please obtain a copy of the License at
  1599  // http://www.opensource.apple.com/apsl/ and read it before using this
  1600  // file.
  1601  //
  1602  // The Original Code and all software distributed under the License are
  1603  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1604  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1605  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1606  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1607  // Please see the License for the specific language governing rights and
  1608  // limitations under the License.
  1609  //
  1610  // @APPLE_LICENSE_HEADER_END@
  1611  
  1612  // <rdar://problem/12622659>
  1613  
  1614  // memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy,
  1615  //    strncpy, stpncpy, strcat, strlcat, and strncat
  1616  
  1617  // void *memcpy(void *dst, const void *src, size_t n)
  1618  
  1619  // void *memmove(void *dst, const void *src, size_t len)
  1620  
  1621  // void *memset(void *b, int c, size_t len)
  1622  
  1623  // char *strcpy(char *dst, const char *src)
  1624  
  1625  // char *stpcpy(char *dst, const char *src)
  1626  
  1627  // char *stpncpy(char *dst, const char *src, size_t n)
  1628  
  1629  // char *strncpy(char *dst, const char *src, size_t n)
  1630  
  1631  // char *strcat(char *s1, const char *s2)
  1632  
  1633  // char *strncat(char *s1, const char *s2, size_t n)
  1634  
  1635  // Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  1636  //
  1637  // @APPLE_LICENSE_HEADER_START@
  1638  //
  1639  // This file contains Original Code and/or Modifications of Original Code
  1640  // as defined in and that are subject to the Apple Public Source License
  1641  // Version 2.0 (the 'License'). You may not use this file except in
  1642  // compliance with the License. Please obtain a copy of the License at
  1643  // http://www.opensource.apple.com/apsl/ and read it before using this
  1644  // file.
  1645  //
  1646  // The Original Code and all software distributed under the License are
  1647  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1648  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1649  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1650  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1651  // Please see the License for the specific language governing rights and
  1652  // limitations under the License.
  1653  //
  1654  // @APPLE_LICENSE_HEADER_END@
  1655  // -
  1656  // Copyright (c) 1990, 1993
  1657  //	The Regents of the University of California.  All rights reserved.
  1658  //
  1659  // Redistribution and use in source and binary forms, with or without
  1660  // modification, are permitted provided that the following conditions
  1661  // are met:
  1662  // 1. Redistributions of source code must retain the above copyright
  1663  //    notice, this list of conditions and the following disclaimer.
  1664  // 2. Redistributions in binary form must reproduce the above copyright
  1665  //    notice, this list of conditions and the following disclaimer in the
  1666  //    documentation and/or other materials provided with the distribution.
  1667  // 3. All advertising materials mentioning features or use of this software
  1668  //    must display the following acknowledgement:
  1669  //	This product includes software developed by the University of
  1670  //	California, Berkeley and its contributors.
  1671  // 4. Neither the name of the University nor the names of its contributors
  1672  //    may be used to endorse or promote products derived from this software
  1673  //    without specific prior written permission.
  1674  //
  1675  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1676  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1677  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1678  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1679  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1680  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1681  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1682  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1683  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1684  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1685  // SUCH DAMAGE.
  1686  //
  1687  //	@(#)stdlib.h	8.5 (Berkeley) 5/19/95
  1688  
  1689  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  1690  //
  1691  // @APPLE_LICENSE_HEADER_START@
  1692  //
  1693  // This file contains Original Code and/or Modifications of Original Code
  1694  // as defined in and that are subject to the Apple Public Source License
  1695  // Version 2.0 (the 'License'). You may not use this file except in
  1696  // compliance with the License. Please obtain a copy of the License at
  1697  // http://www.opensource.apple.com/apsl/ and read it before using this
  1698  // file.
  1699  //
  1700  // The Original Code and all software distributed under the License are
  1701  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1702  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1703  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1704  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1705  // Please see the License for the specific language governing rights and
  1706  // limitations under the License.
  1707  //
  1708  // @APPLE_LICENSE_HEADER_END@
  1709  
  1710  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  1711  //
  1712  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1713  //
  1714  // This file contains Original Code and/or Modifications of Original Code
  1715  // as defined in and that are subject to the Apple Public Source License
  1716  // Version 2.0 (the 'License'). You may not use this file except in
  1717  // compliance with the License. The rights granted to you under the License
  1718  // may not be used to create, or enable the creation or redistribution of,
  1719  // unlawful or unlicensed copies of an Apple operating system, or to
  1720  // circumvent, violate, or enable the circumvention or violation of, any
  1721  // terms of an Apple operating system software license agreement.
  1722  //
  1723  // Please obtain a copy of the License at
  1724  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1725  //
  1726  // The Original Code and all software distributed under the License are
  1727  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1728  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1729  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1730  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1731  // Please see the License for the specific language governing rights and
  1732  // limitations under the License.
  1733  //
  1734  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1735  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1736  // Copyright (c) 1991, 1993
  1737  //	The Regents of the University of California.  All rights reserved.
  1738  //
  1739  // This code is derived from software contributed to Berkeley by
  1740  // Berkeley Software Design, Inc.
  1741  //
  1742  // Redistribution and use in source and binary forms, with or without
  1743  // modification, are permitted provided that the following conditions
  1744  // are met:
  1745  // 1. Redistributions of source code must retain the above copyright
  1746  //    notice, this list of conditions and the following disclaimer.
  1747  // 2. Redistributions in binary form must reproduce the above copyright
  1748  //    notice, this list of conditions and the following disclaimer in the
  1749  //    documentation and/or other materials provided with the distribution.
  1750  // 3. All advertising materials mentioning features or use of this software
  1751  //    must display the following acknowledgement:
  1752  //	This product includes software developed by the University of
  1753  //	California, Berkeley and its contributors.
  1754  // 4. Neither the name of the University nor the names of its contributors
  1755  //    may be used to endorse or promote products derived from this software
  1756  //    without specific prior written permission.
  1757  //
  1758  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1759  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1760  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1761  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1762  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1763  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1764  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1765  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1766  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1767  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1768  // SUCH DAMAGE.
  1769  //
  1770  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  1771  
  1772  // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
  1773  //
  1774  // @APPLE_LICENSE_HEADER_START@
  1775  //
  1776  // This file contains Original Code and/or Modifications of Original Code
  1777  // as defined in and that are subject to the Apple Public Source License
  1778  // Version 2.0 (the 'License'). You may not use this file except in
  1779  // compliance with the License. Please obtain a copy of the License at
  1780  // http://www.opensource.apple.com/apsl/ and read it before using this
  1781  // file.
  1782  //
  1783  // The Original Code and all software distributed under the License are
  1784  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1785  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1786  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1787  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1788  // Please see the License for the specific language governing rights and
  1789  // limitations under the License.
  1790  //
  1791  // @APPLE_LICENSE_HEADER_END@
  1792  
  1793  // Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  1794  //
  1795  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1796  //
  1797  // This file contains Original Code and/or Modifications of Original Code
  1798  // as defined in and that are subject to the Apple Public Source License
  1799  // Version 2.0 (the 'License'). You may not use this file except in
  1800  // compliance with the License. The rights granted to you under the License
  1801  // may not be used to create, or enable the creation or redistribution of,
  1802  // unlawful or unlicensed copies of an Apple operating system, or to
  1803  // circumvent, violate, or enable the circumvention or violation of, any
  1804  // terms of an Apple operating system software license agreement.
  1805  //
  1806  // Please obtain a copy of the License at
  1807  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1808  //
  1809  // The Original Code and all software distributed under the License are
  1810  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1811  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1812  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1813  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1814  // Please see the License for the specific language governing rights and
  1815  // limitations under the License.
  1816  //
  1817  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1818  // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
  1819  // Copyright (c) 1982, 1986, 1989, 1993, 1994
  1820  //	The Regents of the University of California.  All rights reserved.
  1821  //
  1822  // Redistribution and use in source and binary forms, with or without
  1823  // modification, are permitted provided that the following conditions
  1824  // are met:
  1825  // 1. Redistributions of source code must retain the above copyright
  1826  //    notice, this list of conditions and the following disclaimer.
  1827  // 2. Redistributions in binary form must reproduce the above copyright
  1828  //    notice, this list of conditions and the following disclaimer in the
  1829  //    documentation and/or other materials provided with the distribution.
  1830  // 3. All advertising materials mentioning features or use of this software
  1831  //    must display the following acknowledgement:
  1832  //	This product includes software developed by the University of
  1833  //	California, Berkeley and its contributors.
  1834  // 4. Neither the name of the University nor the names of its contributors
  1835  //    may be used to endorse or promote products derived from this software
  1836  //    without specific prior written permission.
  1837  //
  1838  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1839  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1840  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1841  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1842  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1843  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1844  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1845  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1846  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1847  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1848  // SUCH DAMAGE.
  1849  //
  1850  //	@(#)wait.h	8.2 (Berkeley) 7/10/94
  1851  
  1852  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  1853  //
  1854  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1855  //
  1856  // This file contains Original Code and/or Modifications of Original Code
  1857  // as defined in and that are subject to the Apple Public Source License
  1858  // Version 2.0 (the 'License'). You may not use this file except in
  1859  // compliance with the License. The rights granted to you under the License
  1860  // may not be used to create, or enable the creation or redistribution of,
  1861  // unlawful or unlicensed copies of an Apple operating system, or to
  1862  // circumvent, violate, or enable the circumvention or violation of, any
  1863  // terms of an Apple operating system software license agreement.
  1864  //
  1865  // Please obtain a copy of the License at
  1866  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1867  //
  1868  // The Original Code and all software distributed under the License are
  1869  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1870  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1871  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1872  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1873  // Please see the License for the specific language governing rights and
  1874  // limitations under the License.
  1875  //
  1876  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1877  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1878  // Copyright (c) 1991, 1993
  1879  //	The Regents of the University of California.  All rights reserved.
  1880  //
  1881  // This code is derived from software contributed to Berkeley by
  1882  // Berkeley Software Design, Inc.
  1883  //
  1884  // Redistribution and use in source and binary forms, with or without
  1885  // modification, are permitted provided that the following conditions
  1886  // are met:
  1887  // 1. Redistributions of source code must retain the above copyright
  1888  //    notice, this list of conditions and the following disclaimer.
  1889  // 2. Redistributions in binary form must reproduce the above copyright
  1890  //    notice, this list of conditions and the following disclaimer in the
  1891  //    documentation and/or other materials provided with the distribution.
  1892  // 3. All advertising materials mentioning features or use of this software
  1893  //    must display the following acknowledgement:
  1894  //	This product includes software developed by the University of
  1895  //	California, Berkeley and its contributors.
  1896  // 4. Neither the name of the University nor the names of its contributors
  1897  //    may be used to endorse or promote products derived from this software
  1898  //    without specific prior written permission.
  1899  //
  1900  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1901  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1902  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1903  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1904  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1905  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1906  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1907  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1908  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1909  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1910  // SUCH DAMAGE.
  1911  //
  1912  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  1913  
  1914  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  1915  //
  1916  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1917  //
  1918  // This file contains Original Code and/or Modifications of Original Code
  1919  // as defined in and that are subject to the Apple Public Source License
  1920  // Version 2.0 (the 'License'). You may not use this file except in
  1921  // compliance with the License. The rights granted to you under the License
  1922  // may not be used to create, or enable the creation or redistribution of,
  1923  // unlawful or unlicensed copies of an Apple operating system, or to
  1924  // circumvent, violate, or enable the circumvention or violation of, any
  1925  // terms of an Apple operating system software license agreement.
  1926  //
  1927  // Please obtain a copy of the License at
  1928  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1929  //
  1930  // The Original Code and all software distributed under the License are
  1931  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1932  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1933  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1934  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1935  // Please see the License for the specific language governing rights and
  1936  // limitations under the License.
  1937  //
  1938  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1939  
  1940  // This file holds definitions relevent to the wait4 system call
  1941  // and the alternate interfaces that use it (wait, wait3, waitpid).
  1942  
  1943  // [XSI] The type idtype_t shall be defined as an enumeration type whose
  1944  // possible values shall include at least P_ALL, P_PID, and P_PGID.
  1945  const ( /* wait.h:79:1: */
  1946  	P_ALL  = 0
  1947  	P_PID  = 1
  1948  	P_PGID = 2
  1949  )
  1950  
  1951  //
  1952  //   If you use the zlib library in a product, an acknowledgment is welcome
  1953  //   in the documentation of your product. If for some reason you cannot
  1954  //   include such an acknowledgment, I would appreciate that you keep this
  1955  //   copyright string in the executable of your product.
  1956  //
  1957  
  1958  // ===========================================================================
  1959  //  Function prototypes.
  1960  const ( /* deflate.c:66:1: */
  1961  	Need_more      = 0 // block not completed, need more input or more output
  1962  	Block_done     = 1 // block flush performed
  1963  	Finish_started = 2 // finish started, need only more output at next deflate
  1964  	Finish_done    = 3
  1965  )
  1966  
  1967  // inflate.h -- internal inflate state definition
  1968  // Copyright (C) 1995-2016 Mark Adler
  1969  // For conditions of distribution and use, see copyright notice in zlib.h
  1970  
  1971  // WARNING: this file should *not* be used by applications. It is
  1972  //    part of the implementation of the compression library and is
  1973  //    subject to change. Applications should only use zlib.h.
  1974  //
  1975  
  1976  // define NO_GZIP when compiling if you want to disable gzip header and
  1977  //    trailer decoding by inflate().  NO_GZIP would be used to avoid linking in
  1978  //    the crc code when it is not needed.  For shared libraries, gzip decoding
  1979  //    should be left enabled.
  1980  
  1981  // Possible inflate modes between inflate() calls
  1982  const ( /* inflate.h:20:1: */
  1983  	HEAD     = 16180 // i: waiting for magic header
  1984  	FLAGS    = 16181 // i: waiting for method and flags (gzip)
  1985  	TIME     = 16182 // i: waiting for modification time (gzip)
  1986  	OS       = 16183 // i: waiting for extra flags and operating system (gzip)
  1987  	EXLEN    = 16184 // i: waiting for extra length (gzip)
  1988  	EXTRA    = 16185 // i: waiting for extra bytes (gzip)
  1989  	NAME     = 16186 // i: waiting for end of file name (gzip)
  1990  	COMMENT  = 16187 // i: waiting for end of comment (gzip)
  1991  	HCRC     = 16188 // i: waiting for header crc (gzip)
  1992  	DICTID   = 16189 // i: waiting for dictionary check value
  1993  	DICT     = 16190 // waiting for inflateSetDictionary() call
  1994  	TYPE     = 16191 // i: waiting for type bits, including last-flag bit
  1995  	TYPEDO   = 16192 // i: same, but skip check to exit inflate on new block
  1996  	STORED   = 16193 // i: waiting for stored size (length and complement)
  1997  	COPY_    = 16194 // i/o: same as COPY below, but only first time in
  1998  	COPY     = 16195 // i/o: waiting for input or output to copy stored block
  1999  	TABLE    = 16196 // i: waiting for dynamic block table lengths
  2000  	LENLENS  = 16197 // i: waiting for code length code lengths
  2001  	CODELENS = 16198 // i: waiting for length/lit and distance code lengths
  2002  	LEN_     = 16199 // i: same as LEN below, but only first time in
  2003  	LEN      = 16200 // i: waiting for length/lit/eob code
  2004  	LENEXT   = 16201 // i: waiting for length extra bits
  2005  	DIST     = 16202 // i: waiting for distance code
  2006  	DISTEXT  = 16203 // i: waiting for distance extra bits
  2007  	MATCH    = 16204 // o: waiting for output space to copy string
  2008  	LIT      = 16205 // o: waiting for output space to write literal
  2009  	CHECK    = 16206 // i: waiting for 32-bit check value
  2010  	LENGTH   = 16207 // i: waiting for 32-bit length (gzip)
  2011  	DONE     = 16208 // finished check, done -- remain here until reset
  2012  	BAD      = 16209 // got a data error -- remain here until reset
  2013  	MEM      = 16210 // got an inflate() memory error -- remain here until reset
  2014  	SYNC     = 16211
  2015  )
  2016  
  2017  // op values as set by inflate_table():
  2018  //     00000000 - literal
  2019  //     0000tttt - table link, tttt != 0 is the number of table index bits
  2020  //     0001eeee - length or distance, eeee is the number of extra bits
  2021  //     01100000 - end of block
  2022  //     01000000 - invalid code
  2023  //
  2024  
  2025  // Maximum size of the dynamic table.  The maximum number of code structures is
  2026  //    1444, which is the sum of 852 for literal/length codes and 592 for distance
  2027  //    codes.  These values were found by exhaustive searches using the program
  2028  //    examples/enough.c found in the zlib distribtution.  The arguments to that
  2029  //    program are the number of symbols, the initial root table size, and the
  2030  //    maximum bit length of a code.  "enough 286 9 15" for literal/length codes
  2031  //    returns returns 852, and "enough 30 6 15" for distance codes returns 592.
  2032  //    The initial root table size (9 or 6) is found in the fifth argument of the
  2033  //    inflate_table() calls in inflate.c and infback.c.  If the root table size is
  2034  //    changed, then these maximum sizes would be need to be recalculated and
  2035  //    updated.
  2036  
  2037  // Type of code to build for inflate_table()
  2038  const ( /* inftrees.h:54:1: */
  2039  	CODES = 0
  2040  	LENS  = 1
  2041  	DISTS = 2
  2042  )
  2043  
  2044  type Ptrdiff_t = int64 /* <builtin>:3:26 */
  2045  
  2046  type Size_t = uint64 /* <builtin>:9:23 */
  2047  
  2048  type Wchar_t = int32 /* <builtin>:15:24 */
  2049  
  2050  type X__int128_t = struct {
  2051  	Flo int64
  2052  	Fhi int64
  2053  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
  2054  type X__uint128_t = struct {
  2055  	Flo uint64
  2056  	Fhi uint64
  2057  } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
  2058  
  2059  type X__builtin_va_list = uintptr /* <builtin>:46:14 */
  2060  type X__float128 = float64        /* <builtin>:47:21 */
  2061  
  2062  // A null pointer constant.
  2063  
  2064  // Offset of member MEMBER in a struct of type TYPE.
  2065  
  2066  // Type whose alignment is supported in every context and is at least
  2067  //    as great as that of any standard type not using alignment
  2068  //    specifiers.
  2069  type Max_align_t = struct {
  2070  	F__max_align_ll int64
  2071  	F__max_align_ld float64
  2072  } /* stddef.h:426:3 */
  2073  
  2074  type Z_size_t = Size_t /* zconf.h:248:21 */
  2075  
  2076  // Maximum value for memLevel in deflateInit2
  2077  
  2078  // Maximum value for windowBits in deflateInit2 and inflateInit2.
  2079  // WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
  2080  // created by gzip. (Files created by minigzip can still be extracted by
  2081  // gzip.)
  2082  
  2083  // The memory requirements for deflate are (in bytes):
  2084  //             (1 << (windowBits+2)) +  (1 << (memLevel+9))
  2085  //  that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
  2086  //  plus a few kilobytes for small objects. For example, if you want to reduce
  2087  //  the default memory requirements from 256K to 128K, compile with
  2088  //      make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
  2089  //  Of course this will generally degrade compression (there's no free lunch).
  2090  //
  2091  //    The memory requirements for inflate are (in bytes) 1 << windowBits
  2092  //  that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
  2093  //  for small objects.
  2094  
  2095  // Type declarations
  2096  
  2097  // The following definitions for FAR are needed only for MSDOS mixed
  2098  // model programming (small or medium model with some far allocations).
  2099  // This was tested only with MSC; for other MSDOS compilers you may have
  2100  // to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
  2101  // just define FAR to be empty.
  2102  
  2103  type Byte = uint8   /* zconf.h:391:24 */ // 8 bits
  2104  type UInt = uint32  /* zconf.h:393:24 */ // 16 bits or more
  2105  type ULong = uint64 /* zconf.h:394:24 */ // 32 bits or more
  2106  
  2107  type Bytef = Byte   /* zconf.h:400:22 */
  2108  type Charf = int8   /* zconf.h:402:19 */
  2109  type Intf = int32   /* zconf.h:403:19 */
  2110  type UIntf = UInt   /* zconf.h:404:19 */
  2111  type ULongf = ULong /* zconf.h:405:19 */
  2112  
  2113  type Voidpc = uintptr /* zconf.h:408:23 */
  2114  type Voidpf = uintptr /* zconf.h:409:23 */
  2115  type Voidp = uintptr  /* zconf.h:410:23 */
  2116  
  2117  // Copyright (C) 1992-2021 Free Software Foundation, Inc.
  2118  //
  2119  // This file is part of GCC.
  2120  //
  2121  // GCC is free software; you can redistribute it and/or modify it under
  2122  // the terms of the GNU General Public License as published by the Free
  2123  // Software Foundation; either version 3, or (at your option) any later
  2124  // version.
  2125  //
  2126  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  2127  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
  2128  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  2129  // for more details.
  2130  //
  2131  // Under Section 7 of GPL version 3, you are granted additional
  2132  // permissions described in the GCC Runtime Library Exception, version
  2133  // 3.1, as published by the Free Software Foundation.
  2134  //
  2135  // You should have received a copy of the GNU General Public License and
  2136  // a copy of the GCC Runtime Library Exception along with this program;
  2137  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  2138  // <http://www.gnu.org/licenses/>.
  2139  
  2140  // This administrivia gets added to the beginning of limits.h
  2141  //    if the system has its own version of limits.h.
  2142  
  2143  // We use _GCC_LIMITS_H_ because we want this not to match
  2144  //    any macros that the system's limits.h uses for its own purposes.
  2145  
  2146  // Use "..." so that we find syslimits.h only in this same directory.
  2147  // syslimits.h stands for the system's own limits.h file.
  2148  //    If we can use it ok unmodified, then we install this text.
  2149  //    If fixincludes fixes it, then the fixed version is installed
  2150  //    instead of this text.
  2151  
  2152  // Copyright (c) 2000, 2004-2007, 2009 Apple Inc. All rights reserved.
  2153  //
  2154  // @APPLE_LICENSE_HEADER_START@
  2155  //
  2156  // This file contains Original Code and/or Modifications of Original Code
  2157  // as defined in and that are subject to the Apple Public Source License
  2158  // Version 2.0 (the 'License'). You may not use this file except in
  2159  // compliance with the License. Please obtain a copy of the License at
  2160  // http://www.opensource.apple.com/apsl/ and read it before using this
  2161  // file.
  2162  //
  2163  // The Original Code and all software distributed under the License are
  2164  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  2165  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  2166  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  2167  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  2168  // Please see the License for the specific language governing rights and
  2169  // limitations under the License.
  2170  //
  2171  // @APPLE_LICENSE_HEADER_END@
  2172  //	$NetBSD: limits.h,v 1.8 1996/10/21 05:10:50 jtc Exp $
  2173  
  2174  // Copyright (c) 1988, 1993
  2175  //	The Regents of the University of California.  All rights reserved.
  2176  //
  2177  // Redistribution and use in source and binary forms, with or without
  2178  // modification, are permitted provided that the following conditions
  2179  // are met:
  2180  // 1. Redistributions of source code must retain the above copyright
  2181  //    notice, this list of conditions and the following disclaimer.
  2182  // 2. Redistributions in binary form must reproduce the above copyright
  2183  //    notice, this list of conditions and the following disclaimer in the
  2184  //    documentation and/or other materials provided with the distribution.
  2185  // 3. All advertising materials mentioning features or use of this software
  2186  //    must display the following acknowledgement:
  2187  //	This product includes software developed by the University of
  2188  //	California, Berkeley and its contributors.
  2189  // 4. Neither the name of the University nor the names of its contributors
  2190  //    may be used to endorse or promote products derived from this software
  2191  //    without specific prior written permission.
  2192  //
  2193  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2194  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2195  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2196  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2197  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2198  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2199  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2200  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2201  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2202  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2203  // SUCH DAMAGE.
  2204  //
  2205  //	@(#)limits.h	8.2 (Berkeley) 1/4/94
  2206  
  2207  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  2208  //
  2209  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  2210  //
  2211  // This file contains Original Code and/or Modifications of Original Code
  2212  // as defined in and that are subject to the Apple Public Source License
  2213  // Version 2.0 (the 'License'). You may not use this file except in
  2214  // compliance with the License. The rights granted to you under the License
  2215  // may not be used to create, or enable the creation or redistribution of,
  2216  // unlawful or unlicensed copies of an Apple operating system, or to
  2217  // circumvent, violate, or enable the circumvention or violation of, any
  2218  // terms of an Apple operating system software license agreement.
  2219  //
  2220  // Please obtain a copy of the License at
  2221  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  2222  //
  2223  // The Original Code and all software distributed under the License are
  2224  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  2225  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  2226  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  2227  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  2228  // Please see the License for the specific language governing rights and
  2229  // limitations under the License.
  2230  //
  2231  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  2232  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  2233  // Copyright (c) 1991, 1993
  2234  //	The Regents of the University of California.  All rights reserved.
  2235  //
  2236  // This code is derived from software contributed to Berkeley by
  2237  // Berkeley Software Design, Inc.
  2238  //
  2239  // Redistribution and use in source and binary forms, with or without
  2240  // modification, are permitted provided that the following conditions
  2241  // are met:
  2242  // 1. Redistributions of source code must retain the above copyright
  2243  //    notice, this list of conditions and the following disclaimer.
  2244  // 2. Redistributions in binary form must reproduce the above copyright
  2245  //    notice, this list of conditions and the following disclaimer in the
  2246  //    documentation and/or other materials provided with the distribution.
  2247  // 3. All advertising materials mentioning features or use of this software
  2248  //    must display the following acknowledgement:
  2249  //	This product includes software developed by the University of
  2250  //	California, Berkeley and its contributors.
  2251  // 4. Neither the name of the University nor the names of its contributors
  2252  //    may be used to endorse or promote products derived from this software
  2253  //    without specific prior written permission.
  2254  //
  2255  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2256  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2257  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2258  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2259  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2260  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2261  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2262  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2263  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2264  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2265  // SUCH DAMAGE.
  2266  //
  2267  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  2268  
  2269  // This SDK is designed to work with clang and specific versions of
  2270  // gcc >= 4.0 with Apple's patch sets
  2271  
  2272  // Compatibility with compilers and environments that don't support compiler
  2273  // feature checking function-like macros.
  2274  
  2275  // The __CONCAT macro is used to concatenate parts of symbol names, e.g.
  2276  // with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
  2277  // The __CONCAT macro is a bit tricky -- make sure you don't put spaces
  2278  // in between its arguments.  __CONCAT can also concatenate double-quoted
  2279  // strings produced by the __STRING macro, but this only works with ANSI C.
  2280  
  2281  // __pure2 can be used for functions that are only a function of their scalar
  2282  // arguments (meaning they can't dereference pointers).
  2283  //
  2284  // __stateful_pure can be used for functions that have no side effects,
  2285  // but depend on the state of the memory.
  2286  
  2287  // __unused denotes variables and functions that may not be used, preventing
  2288  // the compiler from warning about it if not used.
  2289  
  2290  // __used forces variables and functions to be included even if it appears
  2291  // to the compiler that they are not used (and would thust be discarded).
  2292  
  2293  // __cold marks code used for debugging or that is rarely taken
  2294  // and tells the compiler to optimize for size and outline code.
  2295  
  2296  // __exported denotes symbols that should be exported even when symbols
  2297  // are hidden by default.
  2298  // __exported_push/_exported_pop are pragmas used to delimit a range of
  2299  //  symbols that should be exported even when symbols are hidden by default.
  2300  
  2301  // __deprecated causes the compiler to produce a warning when encountering
  2302  // code using the deprecated functionality.
  2303  // __deprecated_msg() does the same, and compilers that support it will print
  2304  // a message along with the deprecation warning.
  2305  // This may require turning on such warning with the -Wdeprecated flag.
  2306  // __deprecated_enum_msg() should be used on enums, and compilers that support
  2307  // it will print the deprecation warning.
  2308  // __kpi_deprecated() specifically indicates deprecation of kernel programming
  2309  // interfaces in Kernel.framework used by KEXTs.
  2310  
  2311  // __unavailable causes the compiler to error out when encountering
  2312  // code using the tagged function
  2313  
  2314  // Delete pseudo-keywords wherever they are not available or needed.
  2315  
  2316  // We use `__restrict' as a way to define the `restrict' type qualifier
  2317  // without disturbing older software that is unaware of C99 keywords.
  2318  
  2319  // Compatibility with compilers and environments that don't support the
  2320  // nullability feature.
  2321  
  2322  // __disable_tail_calls causes the compiler to not perform tail call
  2323  // optimization inside the marked function.
  2324  
  2325  // __not_tail_called causes the compiler to prevent tail call optimization
  2326  // on statically bound calls to the function.  It has no effect on indirect
  2327  // calls.  Virtual functions, objective-c methods, and functions marked as
  2328  // "always_inline" cannot be marked as __not_tail_called.
  2329  
  2330  // __result_use_check warns callers of a function that not using the function
  2331  // return value is a bug, i.e. dismissing malloc() return value results in a
  2332  // memory leak.
  2333  
  2334  // __swift_unavailable causes the compiler to mark a symbol as specifically
  2335  // unavailable in Swift, regardless of any other availability in C.
  2336  
  2337  // __abortlike is the attribute to put on functions like abort() that are
  2338  // typically used to mark assertions. These optimize the codegen
  2339  // for outlining while still maintaining debugability.
  2340  
  2341  // Declaring inline functions within headers is error-prone due to differences
  2342  // across various versions of the C language and extensions.  __header_inline
  2343  // can be used to declare inline functions within system headers.  In cases
  2344  // where you want to force inlining instead of letting the compiler make
  2345  // the decision, you can use __header_always_inline.
  2346  //
  2347  // Be aware that using inline for functions which compilers may also provide
  2348  // builtins can behave differently under various compilers.  If you intend to
  2349  // provide an inline version of such a function, you may want to use a macro
  2350  // instead.
  2351  //
  2352  // The check for !__GNUC__ || __clang__ is because gcc doesn't correctly
  2353  // support c99 inline in some cases:
  2354  // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965
  2355  
  2356  // Compiler-dependent macros that bracket portions of code where the
  2357  // "-Wunreachable-code" warning should be ignored. Please use sparingly.
  2358  
  2359  // Compiler-dependent macros to declare that functions take printf-like
  2360  // or scanf-like arguments.  They are null except for versions of gcc
  2361  // that are known to support the features properly.  Functions declared
  2362  // with these attributes will cause compilation warnings if there is a
  2363  // mismatch between the format string and subsequent function parameter
  2364  // types.
  2365  
  2366  // Source compatibility only, ID string not emitted in object file
  2367  
  2368  // __alloc_size can be used to label function arguments that represent the
  2369  // size of memory that the function allocates and returns. The one-argument
  2370  // form labels a single argument that gives the allocation size (where the
  2371  // arguments are numbered from 1):
  2372  //
  2373  // void	*malloc(size_t __size) __alloc_size(1);
  2374  //
  2375  // The two-argument form handles the case where the size is calculated as the
  2376  // product of two arguments:
  2377  //
  2378  // void	*calloc(size_t __count, size_t __size) __alloc_size(1,2);
  2379  
  2380  // COMPILATION ENVIRONMENTS -- see compat(5) for additional detail
  2381  //
  2382  // DEFAULT	By default newly complied code will get POSIX APIs plus
  2383  //		Apple API extensions in scope.
  2384  //
  2385  //		Most users will use this compilation environment to avoid
  2386  //		behavioral differences between 32 and 64 bit code.
  2387  //
  2388  // LEGACY	Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple
  2389  //		API extensions in scope.
  2390  //
  2391  //		This is generally equivalent to the Tiger release compilation
  2392  //		environment, except that it cannot be applied to 64 bit code;
  2393  //		its use is discouraged.
  2394  //
  2395  //		We expect this environment to be deprecated in the future.
  2396  //
  2397  // STRICT	Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the
  2398  //		available APIs to exactly the set of APIs defined by the
  2399  //		corresponding standard, based on the value defined.
  2400  //
  2401  //		A correct, portable definition for _POSIX_C_SOURCE is 200112L.
  2402  //		A correct, portable definition for _XOPEN_SOURCE is 600L.
  2403  //
  2404  //		Apple API extensions are not visible in this environment,
  2405  //		which can cause Apple specific code to fail to compile,
  2406  //		or behave incorrectly if prototypes are not in scope or
  2407  //		warnings about missing prototypes are not enabled or ignored.
  2408  //
  2409  // In any compilation environment, for correct symbol resolution to occur,
  2410  // function prototypes must be in scope.  It is recommended that all Apple
  2411  // tools users add either the "-Wall" or "-Wimplicit-function-declaration"
  2412  // compiler flags to their projects to be warned when a function is being
  2413  // used without a prototype in scope.
  2414  
  2415  // These settings are particular to each product.
  2416  // Platform: MacOSX
  2417  
  2418  // The __DARWIN_ALIAS macros are used to do symbol renaming; they allow
  2419  // legacy code to use the old symbol, thus maintaining binary compatibility
  2420  // while new code can use a standards compliant version of the same function.
  2421  //
  2422  // __DARWIN_ALIAS is used by itself if the function signature has not
  2423  // changed, it is used along with a #ifdef check for __DARWIN_UNIX03
  2424  // if the signature has changed.  Because the __LP64__ environment
  2425  // only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be
  2426  // defined, but causes __DARWIN_ALIAS to do no symbol mangling.
  2427  //
  2428  // As a special case, when XCode is used to target a specific version of the
  2429  // OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
  2430  // will be defined by the compiler, with the digits representing major version
  2431  // time 100 + minor version times 10 (e.g. 10.5 := 1050).  If we are targeting
  2432  // pre-10.5, and it is the default compilation environment, revert the
  2433  // compilation environment to pre-__DARWIN_UNIX03.
  2434  
  2435  // symbol suffixes used for symbol versioning
  2436  
  2437  // symbol versioning macros
  2438  
  2439  // symbol release macros
  2440  // Copyright (c) 2010 Apple Inc. All rights reserved.
  2441  //
  2442  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  2443  //
  2444  // This file contains Original Code and/or Modifications of Original Code
  2445  // as defined in and that are subject to the Apple Public Source License
  2446  // Version 2.0 (the 'License'). You may not use this file except in
  2447  // compliance with the License. The rights granted to you under the License
  2448  // may not be used to create, or enable the creation or redistribution of,
  2449  // unlawful or unlicensed copies of an Apple operating system, or to
  2450  // circumvent, violate, or enable the circumvention or violation of, any
  2451  // terms of an Apple operating system software license agreement.
  2452  //
  2453  // Please obtain a copy of the License at
  2454  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  2455  //
  2456  // The Original Code and all software distributed under the License are
  2457  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  2458  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  2459  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  2460  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  2461  // Please see the License for the specific language governing rights and
  2462  // limitations under the License.
  2463  //
  2464  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  2465  
  2466  // POSIX.1 requires that the macros we test be defined before any standard
  2467  // header file is included.  This permits us to convert values for feature
  2468  // testing, as necessary, using only _POSIX_C_SOURCE.
  2469  //
  2470  // Here's a quick run-down of the versions:
  2471  //  defined(_POSIX_SOURCE)		1003.1-1988
  2472  //  _POSIX_C_SOURCE == 1L		1003.1-1990
  2473  //  _POSIX_C_SOURCE == 2L		1003.2-1992 C Language Binding Option
  2474  //  _POSIX_C_SOURCE == 199309L		1003.1b-1993
  2475  //  _POSIX_C_SOURCE == 199506L		1003.1c-1995, 1003.1i-1995,
  2476  //					and the omnibus ISO/IEC 9945-1: 1996
  2477  //  _POSIX_C_SOURCE == 200112L		1003.1-2001
  2478  //  _POSIX_C_SOURCE == 200809L		1003.1-2008
  2479  //
  2480  // In addition, the X/Open Portability Guide, which is now the Single UNIX
  2481  // Specification, defines a feature-test macro which indicates the version of
  2482  // that specification, and which subsumes _POSIX_C_SOURCE.
  2483  
  2484  // Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L.
  2485  
  2486  // Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L.
  2487  
  2488  // Deal with various X/Open Portability Guides and Single UNIX Spec.
  2489  
  2490  // Deal with all versions of POSIX.  The ordering relative to the tests above is
  2491  // important.
  2492  
  2493  // POSIX C deprecation macros
  2494  // Copyright (c) 2010 Apple Inc. All rights reserved.
  2495  //
  2496  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  2497  //
  2498  // This file contains Original Code and/or Modifications of Original Code
  2499  // as defined in and that are subject to the Apple Public Source License
  2500  // Version 2.0 (the 'License'). You may not use this file except in
  2501  // compliance with the License. The rights granted to you under the License
  2502  // may not be used to create, or enable the creation or redistribution of,
  2503  // unlawful or unlicensed copies of an Apple operating system, or to
  2504  // circumvent, violate, or enable the circumvention or violation of, any
  2505  // terms of an Apple operating system software license agreement.
  2506  //
  2507  // Please obtain a copy of the License at
  2508  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  2509  //
  2510  // The Original Code and all software distributed under the License are
  2511  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  2512  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  2513  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  2514  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  2515  // Please see the License for the specific language governing rights and
  2516  // limitations under the License.
  2517  //
  2518  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  2519  
  2520  // Set a single macro which will always be defined and can be used to determine
  2521  // the appropriate namespace.  For POSIX, these values will correspond to
  2522  // _POSIX_C_SOURCE value.  Currently there are two additional levels corresponding
  2523  // to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE)
  2524  
  2525  // If the developer has neither requested a strict language mode nor a version
  2526  // of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part
  2527  // of __DARWIN_C_FULL.
  2528  
  2529  // long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and
  2530  // c99 still want long longs.  While not perfect, we allow long longs for
  2531  // g++.
  2532  
  2533  // ****************************************
  2534  //
  2535  //  Public darwin-specific feature macros
  2536  //
  2537  
  2538  // _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and
  2539  // structures modified for 64-bit inodes (like struct stat) will be used.
  2540  
  2541  // _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only
  2542  // be 64-bit; there is no support for 32-bit ino_t when this macro is defined
  2543  // (and non-zero).  There is no struct stat64 either, as the regular
  2544  // struct stat will already be the 64-bit version.
  2545  
  2546  // _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated
  2547  // in 10.5 exists; no pre-10.5 variants are available.
  2548  
  2549  // _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API
  2550  // are available (the legacy BSD APIs are not available)
  2551  
  2552  // _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on,
  2553  // and specifies the conformance level (3 is SUSv3)
  2554  
  2555  // This macro casts away the qualifier from the variable
  2556  //
  2557  // Note: use at your own risk, removing qualifiers can result in
  2558  // catastrophic run-time failures.
  2559  
  2560  // __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be
  2561  // used from other compilation units, but not other libraries or executables.
  2562  
  2563  // Architecture validation for current SDK
  2564  
  2565  // Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS
  2566  //
  2567  // This provides more advanced type checking on compilers supporting
  2568  // the proper extensions, even in C.
  2569  
  2570  // This is the `system' limits.h, independent of any particular
  2571  //  compiler.  GCC provides its own limits.h which can be found in
  2572  //  /usr/lib/gcc, although it is not very informative.
  2573  //  This file is public domain.
  2574  
  2575  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  2576  // Copyright (c) 1988, 1993
  2577  //	The Regents of the University of California.  All rights reserved.
  2578  //
  2579  // Redistribution and use in source and binary forms, with or without
  2580  // modification, are permitted provided that the following conditions
  2581  // are met:
  2582  // 1. Redistributions of source code must retain the above copyright
  2583  //    notice, this list of conditions and the following disclaimer.
  2584  // 2. Redistributions in binary form must reproduce the above copyright
  2585  //    notice, this list of conditions and the following disclaimer in the
  2586  //    documentation and/or other materials provided with the distribution.
  2587  // 3. All advertising materials mentioning features or use of this software
  2588  //    must display the following acknowledgement:
  2589  //	This product includes software developed by the University of
  2590  //	California, Berkeley and its contributors.
  2591  // 4. Neither the name of the University nor the names of its contributors
  2592  //    may be used to endorse or promote products derived from this software
  2593  //    without specific prior written permission.
  2594  //
  2595  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2596  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2597  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2598  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2599  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2600  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2601  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2602  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2603  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2604  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2605  // SUCH DAMAGE.
  2606  //
  2607  //	@(#)limits.h	8.3 (Berkeley) 1/4/94
  2608  
  2609  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  2610  //
  2611  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  2612  //
  2613  // This file contains Original Code and/or Modifications of Original Code
  2614  // as defined in and that are subject to the Apple Public Source License
  2615  // Version 2.0 (the 'License'). You may not use this file except in
  2616  // compliance with the License. The rights granted to you under the License
  2617  // may not be used to create, or enable the creation or redistribution of,
  2618  // unlawful or unlicensed copies of an Apple operating system, or to
  2619  // circumvent, violate, or enable the circumvention or violation of, any
  2620  // terms of an Apple operating system software license agreement.
  2621  //
  2622  // Please obtain a copy of the License at
  2623  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  2624  //
  2625  // The Original Code and all software distributed under the License are
  2626  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  2627  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  2628  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  2629  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  2630  // Please see the License for the specific language governing rights and
  2631  // limitations under the License.
  2632  //
  2633  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  2634  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  2635  // Copyright (c) 1991, 1993
  2636  //	The Regents of the University of California.  All rights reserved.
  2637  //
  2638  // This code is derived from software contributed to Berkeley by
  2639  // Berkeley Software Design, Inc.
  2640  //
  2641  // Redistribution and use in source and binary forms, with or without
  2642  // modification, are permitted provided that the following conditions
  2643  // are met:
  2644  // 1. Redistributions of source code must retain the above copyright
  2645  //    notice, this list of conditions and the following disclaimer.
  2646  // 2. Redistributions in binary form must reproduce the above copyright
  2647  //    notice, this list of conditions and the following disclaimer in the
  2648  //    documentation and/or other materials provided with the distribution.
  2649  // 3. All advertising materials mentioning features or use of this software
  2650  //    must display the following acknowledgement:
  2651  //	This product includes software developed by the University of
  2652  //	California, Berkeley and its contributors.
  2653  // 4. Neither the name of the University nor the names of its contributors
  2654  //    may be used to endorse or promote products derived from this software
  2655  //    without specific prior written permission.
  2656  //
  2657  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2658  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2659  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2660  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2661  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2662  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2663  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2664  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2665  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2666  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2667  // SUCH DAMAGE.
  2668  //
  2669  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  2670  
  2671  // Copyright (c) 2004-2007 Apple Inc. All rights reserved.
  2672  
  2673  // According to ANSI (section 2.2.4.2), the values below must be usable by
  2674  // #if preprocessing directives.  Additionally, the expression must have the
  2675  // same type as would an expression that is an object of the corresponding
  2676  // type converted according to the integral promotions.  The subtraction for
  2677  // INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is an
  2678  // unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
  2679  // These numbers work for pcc as well.  The UINT_MAX and ULONG_MAX values
  2680  // are written as hex so that GCC will be quiet about large integer constants.
  2681  
  2682  // Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  2683  //
  2684  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  2685  //
  2686  // This file contains Original Code and/or Modifications of Original Code
  2687  // as defined in and that are subject to the Apple Public Source License
  2688  // Version 2.0 (the 'License'). You may not use this file except in
  2689  // compliance with the License. The rights granted to you under the License
  2690  // may not be used to create, or enable the creation or redistribution of,
  2691  // unlawful or unlicensed copies of an Apple operating system, or to
  2692  // circumvent, violate, or enable the circumvention or violation of, any
  2693  // terms of an Apple operating system software license agreement.
  2694  //
  2695  // Please obtain a copy of the License at
  2696  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  2697  //
  2698  // The Original Code and all software distributed under the License are
  2699  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  2700  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  2701  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  2702  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  2703  // Please see the License for the specific language governing rights and
  2704  // limitations under the License.
  2705  //
  2706  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  2707  //	$NetBSD: syslimits.h,v 1.15 1997/06/25 00:48:09 lukem Exp $
  2708  
  2709  // Copyright (c) 1988, 1993
  2710  //	The Regents of the University of California.  All rights reserved.
  2711  //
  2712  // Redistribution and use in source and binary forms, with or without
  2713  // modification, are permitted provided that the following conditions
  2714  // are met:
  2715  // 1. Redistributions of source code must retain the above copyright
  2716  //    notice, this list of conditions and the following disclaimer.
  2717  // 2. Redistributions in binary form must reproduce the above copyright
  2718  //    notice, this list of conditions and the following disclaimer in the
  2719  //    documentation and/or other materials provided with the distribution.
  2720  // 3. All advertising materials mentioning features or use of this software
  2721  //    must display the following acknowledgement:
  2722  //	This product includes software developed by the University of
  2723  //	California, Berkeley and its contributors.
  2724  // 4. Neither the name of the University nor the names of its contributors
  2725  //    may be used to endorse or promote products derived from this software
  2726  //    without specific prior written permission.
  2727  //
  2728  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2729  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2730  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2731  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2732  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2733  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2734  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2735  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2736  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2737  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2738  // SUCH DAMAGE.
  2739  //
  2740  //	@(#)syslimits.h	8.1 (Berkeley) 6/2/93
  2741  
  2742  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  2743  //
  2744  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  2745  //
  2746  // This file contains Original Code and/or Modifications of Original Code
  2747  // as defined in and that are subject to the Apple Public Source License
  2748  // Version 2.0 (the 'License'). You may not use this file except in
  2749  // compliance with the License. The rights granted to you under the License
  2750  // may not be used to create, or enable the creation or redistribution of,
  2751  // unlawful or unlicensed copies of an Apple operating system, or to
  2752  // circumvent, violate, or enable the circumvention or violation of, any
  2753  // terms of an Apple operating system software license agreement.
  2754  //
  2755  // Please obtain a copy of the License at
  2756  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  2757  //
  2758  // The Original Code and all software distributed under the License are
  2759  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  2760  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  2761  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  2762  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  2763  // Please see the License for the specific language governing rights and
  2764  // limitations under the License.
  2765  //
  2766  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  2767  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  2768  // Copyright (c) 1991, 1993
  2769  //	The Regents of the University of California.  All rights reserved.
  2770  //
  2771  // This code is derived from software contributed to Berkeley by
  2772  // Berkeley Software Design, Inc.
  2773  //
  2774  // Redistribution and use in source and binary forms, with or without
  2775  // modification, are permitted provided that the following conditions
  2776  // are met:
  2777  // 1. Redistributions of source code must retain the above copyright
  2778  //    notice, this list of conditions and the following disclaimer.
  2779  // 2. Redistributions in binary form must reproduce the above copyright
  2780  //    notice, this list of conditions and the following disclaimer in the
  2781  //    documentation and/or other materials provided with the distribution.
  2782  // 3. All advertising materials mentioning features or use of this software
  2783  //    must display the following acknowledgement:
  2784  //	This product includes software developed by the University of
  2785  //	California, Berkeley and its contributors.
  2786  // 4. Neither the name of the University nor the names of its contributors
  2787  //    may be used to endorse or promote products derived from this software
  2788  //    without specific prior written permission.
  2789  //
  2790  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2791  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2792  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2793  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2794  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2795  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2796  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2797  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2798  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2799  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2800  // SUCH DAMAGE.
  2801  //
  2802  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  2803  
  2804  // max bytes for an exec function
  2805  
  2806  // Note: CHILD_MAX *must* be less than hard_maxproc, which is set at
  2807  // compile time; you *cannot* set it higher than the hard limit!!
  2808  
  2809  // = ((PRIO_MAX - PRIO_MIN) / 2) + 1
  2810  // range: 0 - 39 [(2 * NZERO) - 1]
  2811  // 0 is not actually used
  2812  
  2813  // Actually for XSI Visible
  2814  
  2815  // Removed in Issue 6
  2816  
  2817  // NZERO to be defined here. TBD. See also sys/param.h
  2818  
  2819  // Copyright (C) 1991-2021 Free Software Foundation, Inc.
  2820  //
  2821  // This file is part of GCC.
  2822  //
  2823  // GCC is free software; you can redistribute it and/or modify it under
  2824  // the terms of the GNU General Public License as published by the Free
  2825  // Software Foundation; either version 3, or (at your option) any later
  2826  // version.
  2827  //
  2828  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  2829  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
  2830  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  2831  // for more details.
  2832  //
  2833  // Under Section 7 of GPL version 3, you are granted additional
  2834  // permissions described in the GCC Runtime Library Exception, version
  2835  // 3.1, as published by the Free Software Foundation.
  2836  //
  2837  // You should have received a copy of the GNU General Public License and
  2838  // a copy of the GCC Runtime Library Exception along with this program;
  2839  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  2840  // <http://www.gnu.org/licenses/>.
  2841  
  2842  // Number of bits in a `char'.
  2843  
  2844  // Maximum length of a multibyte character.
  2845  
  2846  // Minimum and maximum values a `signed char' can hold.
  2847  
  2848  // Maximum value an `unsigned char' can hold.  (Minimum is 0).
  2849  
  2850  // Minimum and maximum values a `char' can hold.
  2851  
  2852  // Minimum and maximum values a `signed short int' can hold.
  2853  
  2854  // Maximum value an `unsigned short int' can hold.  (Minimum is 0).
  2855  
  2856  // Minimum and maximum values a `signed int' can hold.
  2857  
  2858  // Maximum value an `unsigned int' can hold.  (Minimum is 0).
  2859  
  2860  // Minimum and maximum values a `signed long int' can hold.
  2861  //    (Same as `int').
  2862  
  2863  // Maximum value an `unsigned long int' can hold.  (Minimum is 0).
  2864  
  2865  // Minimum and maximum values a `signed long long int' can hold.
  2866  
  2867  // Maximum value an `unsigned long long int' can hold.  (Minimum is 0).
  2868  
  2869  // Minimum and maximum values a `signed long long int' can hold.
  2870  
  2871  // Maximum value an `unsigned long long int' can hold.  (Minimum is 0).
  2872  
  2873  // This administrivia gets added to the end of limits.h
  2874  //    if the system has its own version of limits.h.
  2875  
  2876  type Z_crc_t = uint32 /* zconf.h:429:17 */
  2877  
  2878  // Copyright (c) 2000-2008 Apple Inc. All rights reserved.
  2879  //
  2880  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  2881  //
  2882  // This file contains Original Code and/or Modifications of Original Code
  2883  // as defined in and that are subject to the Apple Public Source License
  2884  // Version 2.0 (the 'License'). You may not use this file except in
  2885  // compliance with the License. The rights granted to you under the License
  2886  // may not be used to create, or enable the creation or redistribution of,
  2887  // unlawful or unlicensed copies of an Apple operating system, or to
  2888  // circumvent, violate, or enable the circumvention or violation of, any
  2889  // terms of an Apple operating system software license agreement.
  2890  //
  2891  // Please obtain a copy of the License at
  2892  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  2893  //
  2894  // The Original Code and all software distributed under the License are
  2895  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  2896  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  2897  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  2898  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  2899  // Please see the License for the specific language governing rights and
  2900  // limitations under the License.
  2901  //
  2902  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  2903  // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
  2904  // Copyright (c) 1982, 1986, 1991, 1993, 1994
  2905  //	The Regents of the University of California.  All rights reserved.
  2906  // (c) UNIX System Laboratories, Inc.
  2907  // All or some portions of this file are derived from material licensed
  2908  // to the University of California by American Telephone and Telegraph
  2909  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
  2910  // the permission of UNIX System Laboratories, Inc.
  2911  //
  2912  // Redistribution and use in source and binary forms, with or without
  2913  // modification, are permitted provided that the following conditions
  2914  // are met:
  2915  // 1. Redistributions of source code must retain the above copyright
  2916  //    notice, this list of conditions and the following disclaimer.
  2917  // 2. Redistributions in binary form must reproduce the above copyright
  2918  //    notice, this list of conditions and the following disclaimer in the
  2919  //    documentation and/or other materials provided with the distribution.
  2920  // 3. All advertising materials mentioning features or use of this software
  2921  //    must display the following acknowledgement:
  2922  //	This product includes software developed by the University of
  2923  //	California, Berkeley and its contributors.
  2924  // 4. Neither the name of the University nor the names of its contributors
  2925  //    may be used to endorse or promote products derived from this software
  2926  //    without specific prior written permission.
  2927  //
  2928  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2929  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2930  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2931  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2932  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2933  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2934  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2935  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2936  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2937  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2938  // SUCH DAMAGE.
  2939  //
  2940  //	@(#)types.h	8.4 (Berkeley) 1/21/94
  2941  
  2942  // Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
  2943  //
  2944  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  2945  //
  2946  // This file contains Original Code and/or Modifications of Original Code
  2947  // as defined in and that are subject to the Apple Public Source License
  2948  // Version 2.0 (the 'License'). You may not use this file except in
  2949  // compliance with the License. The rights granted to you under the License
  2950  // may not be used to create, or enable the creation or redistribution of,
  2951  // unlawful or unlicensed copies of an Apple operating system, or to
  2952  // circumvent, violate, or enable the circumvention or violation of, any
  2953  // terms of an Apple operating system software license agreement.
  2954  //
  2955  // Please obtain a copy of the License at
  2956  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  2957  //
  2958  // The Original Code and all software distributed under the License are
  2959  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  2960  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  2961  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  2962  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  2963  // Please see the License for the specific language governing rights and
  2964  // limitations under the License.
  2965  //
  2966  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  2967  
  2968  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  2969  //
  2970  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  2971  //
  2972  // This file contains Original Code and/or Modifications of Original Code
  2973  // as defined in and that are subject to the Apple Public Source License
  2974  // Version 2.0 (the 'License'). You may not use this file except in
  2975  // compliance with the License. The rights granted to you under the License
  2976  // may not be used to create, or enable the creation or redistribution of,
  2977  // unlawful or unlicensed copies of an Apple operating system, or to
  2978  // circumvent, violate, or enable the circumvention or violation of, any
  2979  // terms of an Apple operating system software license agreement.
  2980  //
  2981  // Please obtain a copy of the License at
  2982  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  2983  //
  2984  // The Original Code and all software distributed under the License are
  2985  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  2986  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  2987  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  2988  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  2989  // Please see the License for the specific language governing rights and
  2990  // limitations under the License.
  2991  //
  2992  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  2993  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  2994  // Copyright (c) 1991, 1993
  2995  //	The Regents of the University of California.  All rights reserved.
  2996  //
  2997  // This code is derived from software contributed to Berkeley by
  2998  // Berkeley Software Design, Inc.
  2999  //
  3000  // Redistribution and use in source and binary forms, with or without
  3001  // modification, are permitted provided that the following conditions
  3002  // are met:
  3003  // 1. Redistributions of source code must retain the above copyright
  3004  //    notice, this list of conditions and the following disclaimer.
  3005  // 2. Redistributions in binary form must reproduce the above copyright
  3006  //    notice, this list of conditions and the following disclaimer in the
  3007  //    documentation and/or other materials provided with the distribution.
  3008  // 3. All advertising materials mentioning features or use of this software
  3009  //    must display the following acknowledgement:
  3010  //	This product includes software developed by the University of
  3011  //	California, Berkeley and its contributors.
  3012  // 4. Neither the name of the University nor the names of its contributors
  3013  //    may be used to endorse or promote products derived from this software
  3014  //    without specific prior written permission.
  3015  //
  3016  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3017  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3018  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3019  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3020  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3021  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3022  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3023  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3024  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3025  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3026  // SUCH DAMAGE.
  3027  //
  3028  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  3029  
  3030  // Machine type dependent parameters.
  3031  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  3032  //
  3033  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3034  //
  3035  // This file contains Original Code and/or Modifications of Original Code
  3036  // as defined in and that are subject to the Apple Public Source License
  3037  // Version 2.0 (the 'License'). You may not use this file except in
  3038  // compliance with the License. The rights granted to you under the License
  3039  // may not be used to create, or enable the creation or redistribution of,
  3040  // unlawful or unlicensed copies of an Apple operating system, or to
  3041  // circumvent, violate, or enable the circumvention or violation of, any
  3042  // terms of an Apple operating system software license agreement.
  3043  //
  3044  // Please obtain a copy of the License at
  3045  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3046  //
  3047  // The Original Code and all software distributed under the License are
  3048  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3049  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3050  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3051  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3052  // Please see the License for the specific language governing rights and
  3053  // limitations under the License.
  3054  //
  3055  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3056  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  3057  
  3058  // Copyright (c) 2000-2008 Apple Inc. All rights reserved.
  3059  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  3060  // Copyright (c) 1990, 1993
  3061  //	The Regents of the University of California.  All rights reserved.
  3062  //
  3063  // Redistribution and use in source and binary forms, with or without
  3064  // modification, are permitted provided that the following conditions
  3065  // are met:
  3066  // 1. Redistributions of source code must retain the above copyright
  3067  //    notice, this list of conditions and the following disclaimer.
  3068  // 2. Redistributions in binary form must reproduce the above copyright
  3069  //    notice, this list of conditions and the following disclaimer in the
  3070  //    documentation and/or other materials provided with the distribution.
  3071  // 3. All advertising materials mentioning features or use of this software
  3072  //    must display the following acknowledgement:
  3073  //	This product includes software developed by the University of
  3074  //	California, Berkeley and its contributors.
  3075  // 4. Neither the name of the University nor the names of its contributors
  3076  //    may be used to endorse or promote products derived from this software
  3077  //    without specific prior written permission.
  3078  //
  3079  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3080  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3081  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3082  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3083  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3084  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3085  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3086  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3087  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3088  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3089  // SUCH DAMAGE.
  3090  //
  3091  //	@(#)types.h	8.3 (Berkeley) 1/5/94
  3092  
  3093  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  3094  
  3095  // This header file contains integer types.  It's intended to also contain
  3096  // flotaing point and other arithmetic types, as needed, later.
  3097  
  3098  type X__int8_t = int8     /* _types.h:15:33 */
  3099  type X__uint8_t = uint8   /* _types.h:19:33 */
  3100  type X__int16_t = int16   /* _types.h:20:33 */
  3101  type X__uint16_t = uint16 /* _types.h:21:33 */
  3102  type X__int32_t = int32   /* _types.h:22:33 */
  3103  type X__uint32_t = uint32 /* _types.h:23:33 */
  3104  type X__int64_t = int64   /* _types.h:24:33 */
  3105  type X__uint64_t = uint64 /* _types.h:25:33 */
  3106  
  3107  type X__darwin_intptr_t = int64   /* _types.h:27:33 */
  3108  type X__darwin_natural_t = uint32 /* _types.h:28:33 */
  3109  
  3110  // The rune type below is declared to be an ``int'' instead of the more natural
  3111  // ``unsigned long'' or ``long''.  Two things are happening here.  It is not
  3112  // unsigned so that EOF (-1) can be naturally assigned to it and used.  Also,
  3113  // it looks like 10646 will be a 31 bit standard.  This means that if your
  3114  // ints cannot hold 32 bits, you will be in trouble.  The reason an int was
  3115  // chosen over a long is that the is*() and to*() routines take ints (says
  3116  // ANSI C), but they use __darwin_ct_rune_t instead of int.  By changing it
  3117  // here, you lose a bit of ANSI conformance, but your programs will still
  3118  // work.
  3119  //
  3120  // NOTE: rune_t is not covered by ANSI nor other standards, and should not
  3121  // be instantiated outside of lib/libc/locale.  Use wchar_t.  wchar_t and
  3122  // rune_t must be the same type.  Also wint_t must be no narrower than
  3123  // wchar_t, and should also be able to hold all members of the largest
  3124  // character set plus one extra value (WEOF). wint_t must be at least 16 bits.
  3125  
  3126  type X__darwin_ct_rune_t = int32 /* _types.h:48:33 */ // ct_rune_t
  3127  
  3128  // mbstate_t is an opaque object to keep conversion state, during multibyte
  3129  // stream conversions.  The content must not be referenced by user programs.
  3130  type X__mbstate_t = struct {
  3131  	F__ccgo_pad1 [0]uint64
  3132  	F__mbstate8  [128]int8
  3133  } /* _types.h:57:3 */
  3134  
  3135  type X__darwin_mbstate_t = X__mbstate_t /* _types.h:59:33 */ // mbstate_t
  3136  
  3137  type X__darwin_ptrdiff_t = int64 /* _types.h:62:33 */ // ptr1 - ptr2
  3138  
  3139  type X__darwin_size_t = uint64 /* _types.h:70:33 */ // sizeof()
  3140  
  3141  type X__darwin_va_list = X__builtin_va_list /* _types.h:76:33 */ // va_list
  3142  
  3143  type X__darwin_wchar_t = int32 /* _types.h:82:33 */ // wchar_t
  3144  
  3145  type X__darwin_rune_t = X__darwin_wchar_t /* _types.h:87:33 */ // rune_t
  3146  
  3147  type X__darwin_wint_t = int32 /* _types.h:90:33 */ // wint_t
  3148  
  3149  type X__darwin_clock_t = uint64        /* _types.h:95:33 */ // clock()
  3150  type X__darwin_socklen_t = X__uint32_t /* _types.h:96:33 */ // socklen_t (duh)
  3151  type X__darwin_ssize_t = int64         /* _types.h:97:33 */ // byte count or error
  3152  type X__darwin_time_t = int64          /* _types.h:98:33 */ // time()
  3153  
  3154  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  3155  //
  3156  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3157  //
  3158  // This file contains Original Code and/or Modifications of Original Code
  3159  // as defined in and that are subject to the Apple Public Source License
  3160  // Version 2.0 (the 'License'). You may not use this file except in
  3161  // compliance with the License. The rights granted to you under the License
  3162  // may not be used to create, or enable the creation or redistribution of,
  3163  // unlawful or unlicensed copies of an Apple operating system, or to
  3164  // circumvent, violate, or enable the circumvention or violation of, any
  3165  // terms of an Apple operating system software license agreement.
  3166  //
  3167  // Please obtain a copy of the License at
  3168  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3169  //
  3170  // The Original Code and all software distributed under the License are
  3171  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3172  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3173  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3174  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3175  // Please see the License for the specific language governing rights and
  3176  // limitations under the License.
  3177  //
  3178  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3179  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  3180  // Copyright (c) 1991, 1993
  3181  //	The Regents of the University of California.  All rights reserved.
  3182  //
  3183  // This code is derived from software contributed to Berkeley by
  3184  // Berkeley Software Design, Inc.
  3185  //
  3186  // Redistribution and use in source and binary forms, with or without
  3187  // modification, are permitted provided that the following conditions
  3188  // are met:
  3189  // 1. Redistributions of source code must retain the above copyright
  3190  //    notice, this list of conditions and the following disclaimer.
  3191  // 2. Redistributions in binary form must reproduce the above copyright
  3192  //    notice, this list of conditions and the following disclaimer in the
  3193  //    documentation and/or other materials provided with the distribution.
  3194  // 3. All advertising materials mentioning features or use of this software
  3195  //    must display the following acknowledgement:
  3196  //	This product includes software developed by the University of
  3197  //	California, Berkeley and its contributors.
  3198  // 4. Neither the name of the University nor the names of its contributors
  3199  //    may be used to endorse or promote products derived from this software
  3200  //    without specific prior written permission.
  3201  //
  3202  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3203  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3204  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3205  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3206  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3207  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3208  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3209  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3210  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3211  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3212  // SUCH DAMAGE.
  3213  //
  3214  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  3215  
  3216  // Basic integral types.  Omit the typedef if
  3217  // not possible for a machine/compiler combination.
  3218  // Copyright (c) 2012 Apple Inc. All rights reserved.
  3219  //
  3220  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3221  //
  3222  // This file contains Original Code and/or Modifications of Original Code
  3223  // as defined in and that are subject to the Apple Public Source License
  3224  // Version 2.0 (the 'License'). You may not use this file except in
  3225  // compliance with the License. The rights granted to you under the License
  3226  // may not be used to create, or enable the creation or redistribution of,
  3227  // unlawful or unlicensed copies of an Apple operating system, or to
  3228  // circumvent, violate, or enable the circumvention or violation of, any
  3229  // terms of an Apple operating system software license agreement.
  3230  //
  3231  // Please obtain a copy of the License at
  3232  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3233  //
  3234  // The Original Code and all software distributed under the License are
  3235  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3236  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3237  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3238  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3239  // Please see the License for the specific language governing rights and
  3240  // limitations under the License.
  3241  //
  3242  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3243  type Int8_t = int8 /* _int8_t.h:30:31 */
  3244  // Copyright (c) 2012 Apple Inc. All rights reserved.
  3245  //
  3246  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3247  //
  3248  // This file contains Original Code and/or Modifications of Original Code
  3249  // as defined in and that are subject to the Apple Public Source License
  3250  // Version 2.0 (the 'License'). You may not use this file except in
  3251  // compliance with the License. The rights granted to you under the License
  3252  // may not be used to create, or enable the creation or redistribution of,
  3253  // unlawful or unlicensed copies of an Apple operating system, or to
  3254  // circumvent, violate, or enable the circumvention or violation of, any
  3255  // terms of an Apple operating system software license agreement.
  3256  //
  3257  // Please obtain a copy of the License at
  3258  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3259  //
  3260  // The Original Code and all software distributed under the License are
  3261  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3262  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3263  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3264  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3265  // Please see the License for the specific language governing rights and
  3266  // limitations under the License.
  3267  //
  3268  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3269  type Int16_t = int16 /* _int16_t.h:30:33 */
  3270  // Copyright (c) 2012 Apple Inc. All rights reserved.
  3271  //
  3272  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3273  //
  3274  // This file contains Original Code and/or Modifications of Original Code
  3275  // as defined in and that are subject to the Apple Public Source License
  3276  // Version 2.0 (the 'License'). You may not use this file except in
  3277  // compliance with the License. The rights granted to you under the License
  3278  // may not be used to create, or enable the creation or redistribution of,
  3279  // unlawful or unlicensed copies of an Apple operating system, or to
  3280  // circumvent, violate, or enable the circumvention or violation of, any
  3281  // terms of an Apple operating system software license agreement.
  3282  //
  3283  // Please obtain a copy of the License at
  3284  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3285  //
  3286  // The Original Code and all software distributed under the License are
  3287  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3288  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3289  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3290  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3291  // Please see the License for the specific language governing rights and
  3292  // limitations under the License.
  3293  //
  3294  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3295  type Int32_t = int32 /* _int32_t.h:30:33 */
  3296  // Copyright (c) 2012 Apple Inc. All rights reserved.
  3297  //
  3298  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3299  //
  3300  // This file contains Original Code and/or Modifications of Original Code
  3301  // as defined in and that are subject to the Apple Public Source License
  3302  // Version 2.0 (the 'License'). You may not use this file except in
  3303  // compliance with the License. The rights granted to you under the License
  3304  // may not be used to create, or enable the creation or redistribution of,
  3305  // unlawful or unlicensed copies of an Apple operating system, or to
  3306  // circumvent, violate, or enable the circumvention or violation of, any
  3307  // terms of an Apple operating system software license agreement.
  3308  //
  3309  // Please obtain a copy of the License at
  3310  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3311  //
  3312  // The Original Code and all software distributed under the License are
  3313  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3314  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3315  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3316  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3317  // Please see the License for the specific language governing rights and
  3318  // limitations under the License.
  3319  //
  3320  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3321  type Int64_t = int64 /* _int64_t.h:30:33 */
  3322  
  3323  // Copyright (c) 2016 Apple Inc. All rights reserved.
  3324  //
  3325  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3326  //
  3327  // This file contains Original Code and/or Modifications of Original Code
  3328  // as defined in and that are subject to the Apple Public Source License
  3329  // Version 2.0 (the 'License'). You may not use this file except in
  3330  // compliance with the License. The rights granted to you under the License
  3331  // may not be used to create, or enable the creation or redistribution of,
  3332  // unlawful or unlicensed copies of an Apple operating system, or to
  3333  // circumvent, violate, or enable the circumvention or violation of, any
  3334  // terms of an Apple operating system software license agreement.
  3335  //
  3336  // Please obtain a copy of the License at
  3337  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3338  //
  3339  // The Original Code and all software distributed under the License are
  3340  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3341  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3342  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3343  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3344  // Please see the License for the specific language governing rights and
  3345  // limitations under the License.
  3346  //
  3347  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3348  type U_int8_t = uint8 /* _u_int8_t.h:30:33 */
  3349  // Copyright (c) 2012 Apple Inc. All rights reserved.
  3350  //
  3351  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3352  //
  3353  // This file contains Original Code and/or Modifications of Original Code
  3354  // as defined in and that are subject to the Apple Public Source License
  3355  // Version 2.0 (the 'License'). You may not use this file except in
  3356  // compliance with the License. The rights granted to you under the License
  3357  // may not be used to create, or enable the creation or redistribution of,
  3358  // unlawful or unlicensed copies of an Apple operating system, or to
  3359  // circumvent, violate, or enable the circumvention or violation of, any
  3360  // terms of an Apple operating system software license agreement.
  3361  //
  3362  // Please obtain a copy of the License at
  3363  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3364  //
  3365  // The Original Code and all software distributed under the License are
  3366  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3367  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3368  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3369  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3370  // Please see the License for the specific language governing rights and
  3371  // limitations under the License.
  3372  //
  3373  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3374  type U_int16_t = uint16 /* _u_int16_t.h:30:41 */
  3375  // Copyright (c) 2012 Apple Inc. All rights reserved.
  3376  //
  3377  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3378  //
  3379  // This file contains Original Code and/or Modifications of Original Code
  3380  // as defined in and that are subject to the Apple Public Source License
  3381  // Version 2.0 (the 'License'). You may not use this file except in
  3382  // compliance with the License. The rights granted to you under the License
  3383  // may not be used to create, or enable the creation or redistribution of,
  3384  // unlawful or unlicensed copies of an Apple operating system, or to
  3385  // circumvent, violate, or enable the circumvention or violation of, any
  3386  // terms of an Apple operating system software license agreement.
  3387  //
  3388  // Please obtain a copy of the License at
  3389  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3390  //
  3391  // The Original Code and all software distributed under the License are
  3392  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3393  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3394  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3395  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3396  // Please see the License for the specific language governing rights and
  3397  // limitations under the License.
  3398  //
  3399  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3400  type U_int32_t = uint32 /* _u_int32_t.h:30:33 */
  3401  // Copyright (c) 2012 Apple Inc. All rights reserved.
  3402  //
  3403  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3404  //
  3405  // This file contains Original Code and/or Modifications of Original Code
  3406  // as defined in and that are subject to the Apple Public Source License
  3407  // Version 2.0 (the 'License'). You may not use this file except in
  3408  // compliance with the License. The rights granted to you under the License
  3409  // may not be used to create, or enable the creation or redistribution of,
  3410  // unlawful or unlicensed copies of an Apple operating system, or to
  3411  // circumvent, violate, or enable the circumvention or violation of, any
  3412  // terms of an Apple operating system software license agreement.
  3413  //
  3414  // Please obtain a copy of the License at
  3415  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3416  //
  3417  // The Original Code and all software distributed under the License are
  3418  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3419  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3420  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3421  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3422  // Please see the License for the specific language governing rights and
  3423  // limitations under the License.
  3424  //
  3425  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3426  type U_int64_t = uint64 /* _u_int64_t.h:30:33 */
  3427  
  3428  type Register_t = Int64_t /* types.h:66:33 */
  3429  
  3430  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  3431  //
  3432  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3433  //
  3434  // This file contains Original Code and/or Modifications of Original Code
  3435  // as defined in and that are subject to the Apple Public Source License
  3436  // Version 2.0 (the 'License'). You may not use this file except in
  3437  // compliance with the License. The rights granted to you under the License
  3438  // may not be used to create, or enable the creation or redistribution of,
  3439  // unlawful or unlicensed copies of an Apple operating system, or to
  3440  // circumvent, violate, or enable the circumvention or violation of, any
  3441  // terms of an Apple operating system software license agreement.
  3442  //
  3443  // Please obtain a copy of the License at
  3444  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3445  //
  3446  // The Original Code and all software distributed under the License are
  3447  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3448  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3449  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3450  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3451  // Please see the License for the specific language governing rights and
  3452  // limitations under the License.
  3453  //
  3454  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3455  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  3456  //
  3457  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3458  //
  3459  // This file contains Original Code and/or Modifications of Original Code
  3460  // as defined in and that are subject to the Apple Public Source License
  3461  // Version 2.0 (the 'License'). You may not use this file except in
  3462  // compliance with the License. The rights granted to you under the License
  3463  // may not be used to create, or enable the creation or redistribution of,
  3464  // unlawful or unlicensed copies of an Apple operating system, or to
  3465  // circumvent, violate, or enable the circumvention or violation of, any
  3466  // terms of an Apple operating system software license agreement.
  3467  //
  3468  // Please obtain a copy of the License at
  3469  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3470  //
  3471  // The Original Code and all software distributed under the License are
  3472  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3473  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3474  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3475  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3476  // Please see the License for the specific language governing rights and
  3477  // limitations under the License.
  3478  //
  3479  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3480  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  3481  
  3482  type Intptr_t = X__darwin_intptr_t /* _intptr_t.h:32:33 */
  3483  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  3484  //
  3485  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3486  //
  3487  // This file contains Original Code and/or Modifications of Original Code
  3488  // as defined in and that are subject to the Apple Public Source License
  3489  // Version 2.0 (the 'License'). You may not use this file except in
  3490  // compliance with the License. The rights granted to you under the License
  3491  // may not be used to create, or enable the creation or redistribution of,
  3492  // unlawful or unlicensed copies of an Apple operating system, or to
  3493  // circumvent, violate, or enable the circumvention or violation of, any
  3494  // terms of an Apple operating system software license agreement.
  3495  //
  3496  // Please obtain a copy of the License at
  3497  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3498  //
  3499  // The Original Code and all software distributed under the License are
  3500  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3501  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3502  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3503  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3504  // Please see the License for the specific language governing rights and
  3505  // limitations under the License.
  3506  //
  3507  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3508  
  3509  type Uintptr_t = uint64 /* _uintptr_t.h:34:33 */
  3510  
  3511  // These types are used for reserving the largest possible size.
  3512  type User_addr_t = U_int64_t  /* types.h:77:33 */
  3513  type User_size_t = U_int64_t  /* types.h:78:33 */
  3514  type User_ssize_t = Int64_t   /* types.h:79:33 */
  3515  type User_long_t = Int64_t    /* types.h:80:33 */
  3516  type User_ulong_t = U_int64_t /* types.h:81:33 */
  3517  type User_time_t = Int64_t    /* types.h:82:33 */
  3518  type User_off_t = Int64_t     /* types.h:83:33 */
  3519  
  3520  // This defines the size of syscall arguments after copying into the kernel:
  3521  type Syscall_arg_t = U_int64_t /* types.h:104:33 */
  3522  
  3523  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  3524  //
  3525  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3526  //
  3527  // This file contains Original Code and/or Modifications of Original Code
  3528  // as defined in and that are subject to the Apple Public Source License
  3529  // Version 2.0 (the 'License'). You may not use this file except in
  3530  // compliance with the License. The rights granted to you under the License
  3531  // may not be used to create, or enable the creation or redistribution of,
  3532  // unlawful or unlicensed copies of an Apple operating system, or to
  3533  // circumvent, violate, or enable the circumvention or violation of, any
  3534  // terms of an Apple operating system software license agreement.
  3535  //
  3536  // Please obtain a copy of the License at
  3537  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3538  //
  3539  // The Original Code and all software distributed under the License are
  3540  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3541  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3542  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3543  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3544  // Please see the License for the specific language governing rights and
  3545  // limitations under the License.
  3546  //
  3547  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3548  
  3549  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  3550  //
  3551  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3552  //
  3553  // This file contains Original Code and/or Modifications of Original Code
  3554  // as defined in and that are subject to the Apple Public Source License
  3555  // Version 2.0 (the 'License'). You may not use this file except in
  3556  // compliance with the License. The rights granted to you under the License
  3557  // may not be used to create, or enable the creation or redistribution of,
  3558  // unlawful or unlicensed copies of an Apple operating system, or to
  3559  // circumvent, violate, or enable the circumvention or violation of, any
  3560  // terms of an Apple operating system software license agreement.
  3561  //
  3562  // Please obtain a copy of the License at
  3563  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3564  //
  3565  // The Original Code and all software distributed under the License are
  3566  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3567  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3568  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3569  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3570  // Please see the License for the specific language governing rights and
  3571  // limitations under the License.
  3572  //
  3573  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3574  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  3575  // Copyright (c) 1991, 1993
  3576  //	The Regents of the University of California.  All rights reserved.
  3577  //
  3578  // This code is derived from software contributed to Berkeley by
  3579  // Berkeley Software Design, Inc.
  3580  //
  3581  // Redistribution and use in source and binary forms, with or without
  3582  // modification, are permitted provided that the following conditions
  3583  // are met:
  3584  // 1. Redistributions of source code must retain the above copyright
  3585  //    notice, this list of conditions and the following disclaimer.
  3586  // 2. Redistributions in binary form must reproduce the above copyright
  3587  //    notice, this list of conditions and the following disclaimer in the
  3588  //    documentation and/or other materials provided with the distribution.
  3589  // 3. All advertising materials mentioning features or use of this software
  3590  //    must display the following acknowledgement:
  3591  //	This product includes software developed by the University of
  3592  //	California, Berkeley and its contributors.
  3593  // 4. Neither the name of the University nor the names of its contributors
  3594  //    may be used to endorse or promote products derived from this software
  3595  //    without specific prior written permission.
  3596  //
  3597  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3598  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3599  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3600  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3601  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3602  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3603  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3604  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3605  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3606  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3607  // SUCH DAMAGE.
  3608  //
  3609  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  3610  
  3611  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  3612  //
  3613  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3614  //
  3615  // This file contains Original Code and/or Modifications of Original Code
  3616  // as defined in and that are subject to the Apple Public Source License
  3617  // Version 2.0 (the 'License'). You may not use this file except in
  3618  // compliance with the License. The rights granted to you under the License
  3619  // may not be used to create, or enable the creation or redistribution of,
  3620  // unlawful or unlicensed copies of an Apple operating system, or to
  3621  // circumvent, violate, or enable the circumvention or violation of, any
  3622  // terms of an Apple operating system software license agreement.
  3623  //
  3624  // Please obtain a copy of the License at
  3625  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3626  //
  3627  // The Original Code and all software distributed under the License are
  3628  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3629  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3630  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3631  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3632  // Please see the License for the specific language governing rights and
  3633  // limitations under the License.
  3634  //
  3635  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3636  
  3637  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  3638  
  3639  // Type definitions; takes common type definitions that must be used
  3640  // in multiple header files due to [XSI], removes them from the system
  3641  // space, and puts them in the implementation space.
  3642  
  3643  type X__darwin_blkcnt_t = X__int64_t                    /* _types.h:55:25 */ // total blocks
  3644  type X__darwin_blksize_t = X__int32_t                   /* _types.h:56:25 */ // preferred block size
  3645  type X__darwin_dev_t = X__int32_t                       /* _types.h:57:25 */ // dev_t
  3646  type X__darwin_fsblkcnt_t = uint32                      /* _types.h:58:25 */ // Used by statvfs and fstatvfs
  3647  type X__darwin_fsfilcnt_t = uint32                      /* _types.h:59:25 */ // Used by statvfs and fstatvfs
  3648  type X__darwin_gid_t = X__uint32_t                      /* _types.h:60:25 */ // [???] process and group IDs
  3649  type X__darwin_id_t = X__uint32_t                       /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t
  3650  type X__darwin_ino64_t = X__uint64_t                    /* _types.h:62:25 */ // [???] Used for 64 bit inodes
  3651  type X__darwin_ino_t = X__darwin_ino64_t                /* _types.h:64:26 */ // [???] Used for inodes
  3652  type X__darwin_mach_port_name_t = X__darwin_natural_t   /* _types.h:68:28 */ // Used by mach
  3653  type X__darwin_mach_port_t = X__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach
  3654  type X__darwin_mode_t = X__uint16_t                     /* _types.h:70:25 */ // [???] Some file attributes
  3655  type X__darwin_off_t = X__int64_t                       /* _types.h:71:25 */ // [???] Used for file sizes
  3656  type X__darwin_pid_t = X__int32_t                       /* _types.h:72:25 */ // [???] process and group IDs
  3657  type X__darwin_sigset_t = X__uint32_t                   /* _types.h:73:25 */ // [???] signal set
  3658  type X__darwin_suseconds_t = X__int32_t                 /* _types.h:74:25 */ // [???] microseconds
  3659  type X__darwin_uid_t = X__uint32_t                      /* _types.h:75:25 */ // [???] user IDs
  3660  type X__darwin_useconds_t = X__uint32_t                 /* _types.h:76:25 */ // [???] microseconds
  3661  type X__darwin_uuid_t = [16]uint8                       /* _types.h:77:25 */
  3662  type X__darwin_uuid_string_t = [37]int8                 /* _types.h:78:17 */
  3663  
  3664  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  3665  //
  3666  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3667  //
  3668  // This file contains Original Code and/or Modifications of Original Code
  3669  // as defined in and that are subject to the Apple Public Source License
  3670  // Version 2.0 (the 'License'). You may not use this file except in
  3671  // compliance with the License. The rights granted to you under the License
  3672  // may not be used to create, or enable the creation or redistribution of,
  3673  // unlawful or unlicensed copies of an Apple operating system, or to
  3674  // circumvent, violate, or enable the circumvention or violation of, any
  3675  // terms of an Apple operating system software license agreement.
  3676  //
  3677  // Please obtain a copy of the License at
  3678  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3679  //
  3680  // The Original Code and all software distributed under the License are
  3681  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3682  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3683  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3684  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3685  // Please see the License for the specific language governing rights and
  3686  // limitations under the License.
  3687  //
  3688  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3689  
  3690  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  3691  //
  3692  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3693  //
  3694  // This file contains Original Code and/or Modifications of Original Code
  3695  // as defined in and that are subject to the Apple Public Source License
  3696  // Version 2.0 (the 'License'). You may not use this file except in
  3697  // compliance with the License. The rights granted to you under the License
  3698  // may not be used to create, or enable the creation or redistribution of,
  3699  // unlawful or unlicensed copies of an Apple operating system, or to
  3700  // circumvent, violate, or enable the circumvention or violation of, any
  3701  // terms of an Apple operating system software license agreement.
  3702  //
  3703  // Please obtain a copy of the License at
  3704  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3705  //
  3706  // The Original Code and all software distributed under the License are
  3707  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3708  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3709  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3710  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3711  // Please see the License for the specific language governing rights and
  3712  // limitations under the License.
  3713  //
  3714  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3715  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  3716  // Copyright (c) 1991, 1993
  3717  //	The Regents of the University of California.  All rights reserved.
  3718  //
  3719  // This code is derived from software contributed to Berkeley by
  3720  // Berkeley Software Design, Inc.
  3721  //
  3722  // Redistribution and use in source and binary forms, with or without
  3723  // modification, are permitted provided that the following conditions
  3724  // are met:
  3725  // 1. Redistributions of source code must retain the above copyright
  3726  //    notice, this list of conditions and the following disclaimer.
  3727  // 2. Redistributions in binary form must reproduce the above copyright
  3728  //    notice, this list of conditions and the following disclaimer in the
  3729  //    documentation and/or other materials provided with the distribution.
  3730  // 3. All advertising materials mentioning features or use of this software
  3731  //    must display the following acknowledgement:
  3732  //	This product includes software developed by the University of
  3733  //	California, Berkeley and its contributors.
  3734  // 4. Neither the name of the University nor the names of its contributors
  3735  //    may be used to endorse or promote products derived from this software
  3736  //    without specific prior written permission.
  3737  //
  3738  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3739  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3740  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3741  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3742  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3743  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3744  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3745  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3746  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3747  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3748  // SUCH DAMAGE.
  3749  //
  3750  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  3751  
  3752  // pthread opaque structures
  3753  
  3754  type X__darwin_pthread_handler_rec = struct {
  3755  	F__routine uintptr
  3756  	F__arg     uintptr
  3757  	F__next    uintptr
  3758  } /* _pthread_types.h:57:1 */
  3759  
  3760  type X_opaque_pthread_attr_t = struct {
  3761  	F__sig    int64
  3762  	F__opaque [56]int8
  3763  } /* _pthread_types.h:63:1 */
  3764  
  3765  type X_opaque_pthread_cond_t = struct {
  3766  	F__sig    int64
  3767  	F__opaque [40]int8
  3768  } /* _pthread_types.h:68:1 */
  3769  
  3770  type X_opaque_pthread_condattr_t = struct {
  3771  	F__sig    int64
  3772  	F__opaque [8]int8
  3773  } /* _pthread_types.h:73:1 */
  3774  
  3775  type X_opaque_pthread_mutex_t = struct {
  3776  	F__sig    int64
  3777  	F__opaque [56]int8
  3778  } /* _pthread_types.h:78:1 */
  3779  
  3780  type X_opaque_pthread_mutexattr_t = struct {
  3781  	F__sig    int64
  3782  	F__opaque [8]int8
  3783  } /* _pthread_types.h:83:1 */
  3784  
  3785  type X_opaque_pthread_once_t = struct {
  3786  	F__sig    int64
  3787  	F__opaque [8]int8
  3788  } /* _pthread_types.h:88:1 */
  3789  
  3790  type X_opaque_pthread_rwlock_t = struct {
  3791  	F__sig    int64
  3792  	F__opaque [192]int8
  3793  } /* _pthread_types.h:93:1 */
  3794  
  3795  type X_opaque_pthread_rwlockattr_t = struct {
  3796  	F__sig    int64
  3797  	F__opaque [16]int8
  3798  } /* _pthread_types.h:98:1 */
  3799  
  3800  type X_opaque_pthread_t = struct {
  3801  	F__sig           int64
  3802  	F__cleanup_stack uintptr
  3803  	F__opaque        [8176]int8
  3804  } /* _pthread_types.h:103:1 */
  3805  
  3806  type X__darwin_pthread_attr_t = X_opaque_pthread_attr_t             /* _pthread_types.h:109:39 */
  3807  type X__darwin_pthread_cond_t = X_opaque_pthread_cond_t             /* _pthread_types.h:110:39 */
  3808  type X__darwin_pthread_condattr_t = X_opaque_pthread_condattr_t     /* _pthread_types.h:111:43 */
  3809  type X__darwin_pthread_key_t = uint64                               /* _pthread_types.h:112:23 */
  3810  type X__darwin_pthread_mutex_t = X_opaque_pthread_mutex_t           /* _pthread_types.h:113:40 */
  3811  type X__darwin_pthread_mutexattr_t = X_opaque_pthread_mutexattr_t   /* _pthread_types.h:114:44 */
  3812  type X__darwin_pthread_once_t = X_opaque_pthread_once_t             /* _pthread_types.h:115:39 */
  3813  type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t         /* _pthread_types.h:116:41 */
  3814  type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
  3815  type X__darwin_pthread_t = uintptr                                  /* _pthread_types.h:118:34 */
  3816  
  3817  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  3818  //
  3819  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3820  //
  3821  // This file contains Original Code and/or Modifications of Original Code
  3822  // as defined in and that are subject to the Apple Public Source License
  3823  // Version 2.0 (the 'License'). You may not use this file except in
  3824  // compliance with the License. The rights granted to you under the License
  3825  // may not be used to create, or enable the creation or redistribution of,
  3826  // unlawful or unlicensed copies of an Apple operating system, or to
  3827  // circumvent, violate, or enable the circumvention or violation of, any
  3828  // terms of an Apple operating system software license agreement.
  3829  //
  3830  // Please obtain a copy of the License at
  3831  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3832  //
  3833  // The Original Code and all software distributed under the License are
  3834  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3835  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3836  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3837  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3838  // Please see the License for the specific language governing rights and
  3839  // limitations under the License.
  3840  //
  3841  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3842  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  3843  
  3844  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  3845  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  3846  // Copyright (c) 1987, 1991, 1993
  3847  //	The Regents of the University of California.  All rights reserved.
  3848  //
  3849  // Redistribution and use in source and binary forms, with or without
  3850  // modification, are permitted provided that the following conditions
  3851  // are met:
  3852  // 1. Redistributions of source code must retain the above copyright
  3853  //    notice, this list of conditions and the following disclaimer.
  3854  // 2. Redistributions in binary form must reproduce the above copyright
  3855  //    notice, this list of conditions and the following disclaimer in the
  3856  //    documentation and/or other materials provided with the distribution.
  3857  // 3. All advertising materials mentioning features or use of this software
  3858  //    must display the following acknowledgement:
  3859  //	This product includes software developed by the University of
  3860  //	California, Berkeley and its contributors.
  3861  // 4. Neither the name of the University nor the names of its contributors
  3862  //    may be used to endorse or promote products derived from this software
  3863  //    without specific prior written permission.
  3864  //
  3865  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3866  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3867  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3868  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3869  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3870  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3871  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3872  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3873  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3874  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3875  // SUCH DAMAGE.
  3876  //
  3877  //	@(#)endian.h	8.1 (Berkeley) 6/11/93
  3878  
  3879  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  3880  //
  3881  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3882  //
  3883  // This file contains Original Code and/or Modifications of Original Code
  3884  // as defined in and that are subject to the Apple Public Source License
  3885  // Version 2.0 (the 'License'). You may not use this file except in
  3886  // compliance with the License. The rights granted to you under the License
  3887  // may not be used to create, or enable the creation or redistribution of,
  3888  // unlawful or unlicensed copies of an Apple operating system, or to
  3889  // circumvent, violate, or enable the circumvention or violation of, any
  3890  // terms of an Apple operating system software license agreement.
  3891  //
  3892  // Please obtain a copy of the License at
  3893  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3894  //
  3895  // The Original Code and all software distributed under the License are
  3896  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3897  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3898  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3899  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3900  // Please see the License for the specific language governing rights and
  3901  // limitations under the License.
  3902  //
  3903  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3904  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  3905  // Copyright (c) 1991, 1993
  3906  //	The Regents of the University of California.  All rights reserved.
  3907  //
  3908  // This code is derived from software contributed to Berkeley by
  3909  // Berkeley Software Design, Inc.
  3910  //
  3911  // Redistribution and use in source and binary forms, with or without
  3912  // modification, are permitted provided that the following conditions
  3913  // are met:
  3914  // 1. Redistributions of source code must retain the above copyright
  3915  //    notice, this list of conditions and the following disclaimer.
  3916  // 2. Redistributions in binary form must reproduce the above copyright
  3917  //    notice, this list of conditions and the following disclaimer in the
  3918  //    documentation and/or other materials provided with the distribution.
  3919  // 3. All advertising materials mentioning features or use of this software
  3920  //    must display the following acknowledgement:
  3921  //	This product includes software developed by the University of
  3922  //	California, Berkeley and its contributors.
  3923  // 4. Neither the name of the University nor the names of its contributors
  3924  //    may be used to endorse or promote products derived from this software
  3925  //    without specific prior written permission.
  3926  //
  3927  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3928  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3929  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3930  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3931  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3932  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3933  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3934  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3935  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3936  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3937  // SUCH DAMAGE.
  3938  //
  3939  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  3940  
  3941  // Define _NOQUAD if the compiler does NOT support 64-bit integers.
  3942  // #define _NOQUAD
  3943  
  3944  // Define the order of 32-bit words in 64-bit words.
  3945  
  3946  // Definitions for byte order, according to byte significance from low
  3947  // address to high.
  3948  
  3949  // Copyright (c) 2004, 2006 Apple Computer, Inc. All rights reserved.
  3950  //
  3951  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3952  //
  3953  // This file contains Original Code and/or Modifications of Original Code
  3954  // as defined in and that are subject to the Apple Public Source License
  3955  // Version 2.0 (the 'License'). You may not use this file except in
  3956  // compliance with the License. The rights granted to you under the License
  3957  // may not be used to create, or enable the creation or redistribution of,
  3958  // unlawful or unlicensed copies of an Apple operating system, or to
  3959  // circumvent, violate, or enable the circumvention or violation of, any
  3960  // terms of an Apple operating system software license agreement.
  3961  //
  3962  // Please obtain a copy of the License at
  3963  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3964  //
  3965  // The Original Code and all software distributed under the License are
  3966  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3967  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3968  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3969  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3970  // Please see the License for the specific language governing rights and
  3971  // limitations under the License.
  3972  //
  3973  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3974  
  3975  // Copyright (c) 1995 NeXT Computer, Inc. All rights reserved.
  3976  // Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
  3977  //
  3978  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3979  //
  3980  // This file contains Original Code and/or Modifications of Original Code
  3981  // as defined in and that are subject to the Apple Public Source License
  3982  // Version 2.0 (the 'License'). You may not use this file except in
  3983  // compliance with the License. The rights granted to you under the License
  3984  // may not be used to create, or enable the creation or redistribution of,
  3985  // unlawful or unlicensed copies of an Apple operating system, or to
  3986  // circumvent, violate, or enable the circumvention or violation of, any
  3987  // terms of an Apple operating system software license agreement.
  3988  //
  3989  // Please obtain a copy of the License at
  3990  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  3991  //
  3992  // The Original Code and all software distributed under the License are
  3993  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3994  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3995  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3996  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3997  // Please see the License for the specific language governing rights and
  3998  // limitations under the License.
  3999  //
  4000  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4001  // Copyright (c) 1987, 1991, 1993
  4002  //	The Regents of the University of California.  All rights reserved.
  4003  //
  4004  // Redistribution and use in source and binary forms, with or without
  4005  // modification, are permitted provided that the following conditions
  4006  // are met:
  4007  // 1. Redistributions of source code must retain the above copyright
  4008  //    notice, this list of conditions and the following disclaimer.
  4009  // 2. Redistributions in binary form must reproduce the above copyright
  4010  //    notice, this list of conditions and the following disclaimer in the
  4011  //    documentation and/or other materials provided with the distribution.
  4012  // 3. All advertising materials mentioning features or use of this software
  4013  //    must display the following acknowledgement:
  4014  //	This product includes software developed by the University of
  4015  //	California, Berkeley and its contributors.
  4016  // 4. Neither the name of the University nor the names of its contributors
  4017  //    may be used to endorse or promote products derived from this software
  4018  //    without specific prior written permission.
  4019  //
  4020  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  4021  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  4022  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  4023  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  4024  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  4025  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  4026  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  4027  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  4028  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  4029  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  4030  // SUCH DAMAGE.
  4031  
  4032  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  4033  //
  4034  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4035  //
  4036  // This file contains Original Code and/or Modifications of Original Code
  4037  // as defined in and that are subject to the Apple Public Source License
  4038  // Version 2.0 (the 'License'). You may not use this file except in
  4039  // compliance with the License. The rights granted to you under the License
  4040  // may not be used to create, or enable the creation or redistribution of,
  4041  // unlawful or unlicensed copies of an Apple operating system, or to
  4042  // circumvent, violate, or enable the circumvention or violation of, any
  4043  // terms of an Apple operating system software license agreement.
  4044  //
  4045  // Please obtain a copy of the License at
  4046  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4047  //
  4048  // The Original Code and all software distributed under the License are
  4049  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4050  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4051  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4052  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4053  // Please see the License for the specific language governing rights and
  4054  // limitations under the License.
  4055  //
  4056  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4057  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  4058  // Copyright (c) 1991, 1993
  4059  //	The Regents of the University of California.  All rights reserved.
  4060  //
  4061  // This code is derived from software contributed to Berkeley by
  4062  // Berkeley Software Design, Inc.
  4063  //
  4064  // Redistribution and use in source and binary forms, with or without
  4065  // modification, are permitted provided that the following conditions
  4066  // are met:
  4067  // 1. Redistributions of source code must retain the above copyright
  4068  //    notice, this list of conditions and the following disclaimer.
  4069  // 2. Redistributions in binary form must reproduce the above copyright
  4070  //    notice, this list of conditions and the following disclaimer in the
  4071  //    documentation and/or other materials provided with the distribution.
  4072  // 3. All advertising materials mentioning features or use of this software
  4073  //    must display the following acknowledgement:
  4074  //	This product includes software developed by the University of
  4075  //	California, Berkeley and its contributors.
  4076  // 4. Neither the name of the University nor the names of its contributors
  4077  //    may be used to endorse or promote products derived from this software
  4078  //    without specific prior written permission.
  4079  //
  4080  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  4081  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  4082  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  4083  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  4084  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  4085  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  4086  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  4087  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  4088  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  4089  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  4090  // SUCH DAMAGE.
  4091  //
  4092  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  4093  
  4094  // Macros for network/external number representation conversion.
  4095  
  4096  // Copyright (c) 2006 Apple Computer, Inc. All rights reserved.
  4097  //
  4098  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4099  //
  4100  // This file contains Original Code and/or Modifications of Original Code
  4101  // as defined in and that are subject to the Apple Public Source License
  4102  // Version 2.0 (the 'License'). You may not use this file except in
  4103  // compliance with the License. The rights granted to you under the License
  4104  // may not be used to create, or enable the creation or redistribution of,
  4105  // unlawful or unlicensed copies of an Apple operating system, or to
  4106  // circumvent, violate, or enable the circumvention or violation of, any
  4107  // terms of an Apple operating system software license agreement.
  4108  //
  4109  // Please obtain a copy of the License at
  4110  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4111  //
  4112  // The Original Code and all software distributed under the License are
  4113  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4114  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4115  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4116  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4117  // Please see the License for the specific language governing rights and
  4118  // limitations under the License.
  4119  //
  4120  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4121  
  4122  // This header is normally included from <libkern/OSByteOrder.h>.  However,
  4123  // <sys/_endian.h> also includes this in the case of little-endian
  4124  // architectures, so that we can map OSByteOrder routines to the hton* and ntoh*
  4125  // macros.  This results in the asymmetry below; we only include
  4126  // <libkern/arch/_OSByteOrder.h> for little-endian architectures.
  4127  
  4128  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  4129  //
  4130  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4131  //
  4132  // This file contains Original Code and/or Modifications of Original Code
  4133  // as defined in and that are subject to the Apple Public Source License
  4134  // Version 2.0 (the 'License'). You may not use this file except in
  4135  // compliance with the License. The rights granted to you under the License
  4136  // may not be used to create, or enable the creation or redistribution of,
  4137  // unlawful or unlicensed copies of an Apple operating system, or to
  4138  // circumvent, violate, or enable the circumvention or violation of, any
  4139  // terms of an Apple operating system software license agreement.
  4140  //
  4141  // Please obtain a copy of the License at
  4142  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4143  //
  4144  // The Original Code and all software distributed under the License are
  4145  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4146  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4147  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4148  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4149  // Please see the License for the specific language governing rights and
  4150  // limitations under the License.
  4151  //
  4152  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4153  
  4154  // Macros for swapping constant values in the preprocessing stage.
  4155  
  4156  // Copyright (c) 1999-2007 Apple Inc. All rights reserved.
  4157  
  4158  //  DO NOT EDIT THIS FILE.
  4159  //
  4160  //     It has been auto-edited by fixincludes from:
  4161  //
  4162  // 	"/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/usr/include/stdint.h"
  4163  //
  4164  //     This had to be done to correct non-standard usages in the
  4165  //     original, manufacturer supplied header file.
  4166  
  4167  // Copyright (c) 2000-2010 Apple Inc.
  4168  // All rights reserved.
  4169  
  4170  // from ISO/IEC 988:1999 spec
  4171  
  4172  // 7.18.1.1 Exact-width integer types
  4173  // Copyright (c) 2012 Apple Inc. All rights reserved.
  4174  //
  4175  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4176  //
  4177  // This file contains Original Code and/or Modifications of Original Code
  4178  // as defined in and that are subject to the Apple Public Source License
  4179  // Version 2.0 (the 'License'). You may not use this file except in
  4180  // compliance with the License. The rights granted to you under the License
  4181  // may not be used to create, or enable the creation or redistribution of,
  4182  // unlawful or unlicensed copies of an Apple operating system, or to
  4183  // circumvent, violate, or enable the circumvention or violation of, any
  4184  // terms of an Apple operating system software license agreement.
  4185  //
  4186  // Please obtain a copy of the License at
  4187  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4188  //
  4189  // The Original Code and all software distributed under the License are
  4190  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4191  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4192  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4193  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4194  // Please see the License for the specific language governing rights and
  4195  // limitations under the License.
  4196  //
  4197  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4198  // Copyright (c) 2012 Apple Inc. All rights reserved.
  4199  //
  4200  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4201  //
  4202  // This file contains Original Code and/or Modifications of Original Code
  4203  // as defined in and that are subject to the Apple Public Source License
  4204  // Version 2.0 (the 'License'). You may not use this file except in
  4205  // compliance with the License. The rights granted to you under the License
  4206  // may not be used to create, or enable the creation or redistribution of,
  4207  // unlawful or unlicensed copies of an Apple operating system, or to
  4208  // circumvent, violate, or enable the circumvention or violation of, any
  4209  // terms of an Apple operating system software license agreement.
  4210  //
  4211  // Please obtain a copy of the License at
  4212  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4213  //
  4214  // The Original Code and all software distributed under the License are
  4215  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4216  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4217  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4218  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4219  // Please see the License for the specific language governing rights and
  4220  // limitations under the License.
  4221  //
  4222  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4223  // Copyright (c) 2012 Apple Inc. All rights reserved.
  4224  //
  4225  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4226  //
  4227  // This file contains Original Code and/or Modifications of Original Code
  4228  // as defined in and that are subject to the Apple Public Source License
  4229  // Version 2.0 (the 'License'). You may not use this file except in
  4230  // compliance with the License. The rights granted to you under the License
  4231  // may not be used to create, or enable the creation or redistribution of,
  4232  // unlawful or unlicensed copies of an Apple operating system, or to
  4233  // circumvent, violate, or enable the circumvention or violation of, any
  4234  // terms of an Apple operating system software license agreement.
  4235  //
  4236  // Please obtain a copy of the License at
  4237  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4238  //
  4239  // The Original Code and all software distributed under the License are
  4240  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4241  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4242  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4243  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4244  // Please see the License for the specific language governing rights and
  4245  // limitations under the License.
  4246  //
  4247  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4248  // Copyright (c) 2012 Apple Inc. All rights reserved.
  4249  //
  4250  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4251  //
  4252  // This file contains Original Code and/or Modifications of Original Code
  4253  // as defined in and that are subject to the Apple Public Source License
  4254  // Version 2.0 (the 'License'). You may not use this file except in
  4255  // compliance with the License. The rights granted to you under the License
  4256  // may not be used to create, or enable the creation or redistribution of,
  4257  // unlawful or unlicensed copies of an Apple operating system, or to
  4258  // circumvent, violate, or enable the circumvention or violation of, any
  4259  // terms of an Apple operating system software license agreement.
  4260  //
  4261  // Please obtain a copy of the License at
  4262  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4263  //
  4264  // The Original Code and all software distributed under the License are
  4265  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4266  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4267  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4268  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4269  // Please see the License for the specific language governing rights and
  4270  // limitations under the License.
  4271  //
  4272  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4273  
  4274  // Copyright (c) 2012 Apple Inc. All rights reserved.
  4275  //
  4276  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4277  //
  4278  // This file contains Original Code and/or Modifications of Original Code
  4279  // as defined in and that are subject to the Apple Public Source License
  4280  // Version 2.0 (the 'License'). You may not use this file except in
  4281  // compliance with the License. The rights granted to you under the License
  4282  // may not be used to create, or enable the creation or redistribution of,
  4283  // unlawful or unlicensed copies of an Apple operating system, or to
  4284  // circumvent, violate, or enable the circumvention or violation of, any
  4285  // terms of an Apple operating system software license agreement.
  4286  //
  4287  // Please obtain a copy of the License at
  4288  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4289  //
  4290  // The Original Code and all software distributed under the License are
  4291  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4292  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4293  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4294  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4295  // Please see the License for the specific language governing rights and
  4296  // limitations under the License.
  4297  //
  4298  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4299  
  4300  type Uint8_t = uint8 /* _uint8_t.h:31:23 */
  4301  // Copyright (c) 2012 Apple Inc. All rights reserved.
  4302  //
  4303  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4304  //
  4305  // This file contains Original Code and/or Modifications of Original Code
  4306  // as defined in and that are subject to the Apple Public Source License
  4307  // Version 2.0 (the 'License'). You may not use this file except in
  4308  // compliance with the License. The rights granted to you under the License
  4309  // may not be used to create, or enable the creation or redistribution of,
  4310  // unlawful or unlicensed copies of an Apple operating system, or to
  4311  // circumvent, violate, or enable the circumvention or violation of, any
  4312  // terms of an Apple operating system software license agreement.
  4313  //
  4314  // Please obtain a copy of the License at
  4315  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4316  //
  4317  // The Original Code and all software distributed under the License are
  4318  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4319  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4320  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4321  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4322  // Please see the License for the specific language governing rights and
  4323  // limitations under the License.
  4324  //
  4325  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4326  
  4327  type Uint16_t = uint16 /* _uint16_t.h:31:24 */
  4328  // Copyright (c) 2012 Apple Inc. All rights reserved.
  4329  //
  4330  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4331  //
  4332  // This file contains Original Code and/or Modifications of Original Code
  4333  // as defined in and that are subject to the Apple Public Source License
  4334  // Version 2.0 (the 'License'). You may not use this file except in
  4335  // compliance with the License. The rights granted to you under the License
  4336  // may not be used to create, or enable the creation or redistribution of,
  4337  // unlawful or unlicensed copies of an Apple operating system, or to
  4338  // circumvent, violate, or enable the circumvention or violation of, any
  4339  // terms of an Apple operating system software license agreement.
  4340  //
  4341  // Please obtain a copy of the License at
  4342  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4343  //
  4344  // The Original Code and all software distributed under the License are
  4345  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4346  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4347  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4348  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4349  // Please see the License for the specific language governing rights and
  4350  // limitations under the License.
  4351  //
  4352  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4353  
  4354  type Uint32_t = uint32 /* _uint32_t.h:31:22 */
  4355  // Copyright (c) 2012 Apple Inc. All rights reserved.
  4356  //
  4357  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4358  //
  4359  // This file contains Original Code and/or Modifications of Original Code
  4360  // as defined in and that are subject to the Apple Public Source License
  4361  // Version 2.0 (the 'License'). You may not use this file except in
  4362  // compliance with the License. The rights granted to you under the License
  4363  // may not be used to create, or enable the creation or redistribution of,
  4364  // unlawful or unlicensed copies of an Apple operating system, or to
  4365  // circumvent, violate, or enable the circumvention or violation of, any
  4366  // terms of an Apple operating system software license agreement.
  4367  //
  4368  // Please obtain a copy of the License at
  4369  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4370  //
  4371  // The Original Code and all software distributed under the License are
  4372  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4373  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4374  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4375  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4376  // Please see the License for the specific language governing rights and
  4377  // limitations under the License.
  4378  //
  4379  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4380  
  4381  type Uint64_t = uint64 /* _uint64_t.h:31:28 */
  4382  
  4383  // 7.18.1.2 Minimum-width integer types
  4384  type Int_least8_t = Int8_t     /* stdint.h:38:26 */
  4385  type Int_least16_t = Int16_t   /* stdint.h:39:25 */
  4386  type Int_least32_t = Int32_t   /* stdint.h:40:25 */
  4387  type Int_least64_t = Int64_t   /* stdint.h:41:25 */
  4388  type Uint_least8_t = Uint8_t   /* stdint.h:42:25 */
  4389  type Uint_least16_t = Uint16_t /* stdint.h:43:24 */
  4390  type Uint_least32_t = Uint32_t /* stdint.h:44:24 */
  4391  type Uint_least64_t = Uint64_t /* stdint.h:45:24 */
  4392  
  4393  // 7.18.1.3 Fastest-width integer types
  4394  type Int_fast8_t = Int8_t     /* stdint.h:49:27 */
  4395  type Int_fast16_t = Int16_t   /* stdint.h:50:26 */
  4396  type Int_fast32_t = Int32_t   /* stdint.h:51:26 */
  4397  type Int_fast64_t = Int64_t   /* stdint.h:52:26 */
  4398  type Uint_fast8_t = Uint8_t   /* stdint.h:53:26 */
  4399  type Uint_fast16_t = Uint16_t /* stdint.h:54:25 */
  4400  type Uint_fast32_t = Uint32_t /* stdint.h:55:25 */
  4401  type Uint_fast64_t = Uint64_t /* stdint.h:56:25 */
  4402  
  4403  // 7.18.1.4 Integer types capable of holding object pointers
  4404  
  4405  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  4406  //
  4407  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4408  //
  4409  // This file contains Original Code and/or Modifications of Original Code
  4410  // as defined in and that are subject to the Apple Public Source License
  4411  // Version 2.0 (the 'License'). You may not use this file except in
  4412  // compliance with the License. The rights granted to you under the License
  4413  // may not be used to create, or enable the creation or redistribution of,
  4414  // unlawful or unlicensed copies of an Apple operating system, or to
  4415  // circumvent, violate, or enable the circumvention or violation of, any
  4416  // terms of an Apple operating system software license agreement.
  4417  //
  4418  // Please obtain a copy of the License at
  4419  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4420  //
  4421  // The Original Code and all software distributed under the License are
  4422  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4423  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4424  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4425  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4426  // Please see the License for the specific language governing rights and
  4427  // limitations under the License.
  4428  //
  4429  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4430  
  4431  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  4432  //
  4433  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4434  //
  4435  // This file contains Original Code and/or Modifications of Original Code
  4436  // as defined in and that are subject to the Apple Public Source License
  4437  // Version 2.0 (the 'License'). You may not use this file except in
  4438  // compliance with the License. The rights granted to you under the License
  4439  // may not be used to create, or enable the creation or redistribution of,
  4440  // unlawful or unlicensed copies of an Apple operating system, or to
  4441  // circumvent, violate, or enable the circumvention or violation of, any
  4442  // terms of an Apple operating system software license agreement.
  4443  //
  4444  // Please obtain a copy of the License at
  4445  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4446  //
  4447  // The Original Code and all software distributed under the License are
  4448  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4449  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4450  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4451  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4452  // Please see the License for the specific language governing rights and
  4453  // limitations under the License.
  4454  //
  4455  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4456  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  4457  //
  4458  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4459  //
  4460  // This file contains Original Code and/or Modifications of Original Code
  4461  // as defined in and that are subject to the Apple Public Source License
  4462  // Version 2.0 (the 'License'). You may not use this file except in
  4463  // compliance with the License. The rights granted to you under the License
  4464  // may not be used to create, or enable the creation or redistribution of,
  4465  // unlawful or unlicensed copies of an Apple operating system, or to
  4466  // circumvent, violate, or enable the circumvention or violation of, any
  4467  // terms of an Apple operating system software license agreement.
  4468  //
  4469  // Please obtain a copy of the License at
  4470  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4471  //
  4472  // The Original Code and all software distributed under the License are
  4473  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4474  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4475  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4476  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4477  // Please see the License for the specific language governing rights and
  4478  // limitations under the License.
  4479  //
  4480  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4481  
  4482  // 7.18.1.5 Greatest-width integer types
  4483  // Copyright (c) 2012 Apple Inc. All rights reserved.
  4484  //
  4485  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4486  //
  4487  // This file contains Original Code and/or Modifications of Original Code
  4488  // as defined in and that are subject to the Apple Public Source License
  4489  // Version 2.0 (the 'License'). You may not use this file except in
  4490  // compliance with the License. The rights granted to you under the License
  4491  // may not be used to create, or enable the creation or redistribution of,
  4492  // unlawful or unlicensed copies of an Apple operating system, or to
  4493  // circumvent, violate, or enable the circumvention or violation of, any
  4494  // terms of an Apple operating system software license agreement.
  4495  //
  4496  // Please obtain a copy of the License at
  4497  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4498  //
  4499  // The Original Code and all software distributed under the License are
  4500  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4501  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4502  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4503  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4504  // Please see the License for the specific language governing rights and
  4505  // limitations under the License.
  4506  //
  4507  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4508  
  4509  type Intmax_t = int64 /* _intmax_t.h:32:25 */
  4510  // Copyright (c) 2012 Apple Inc. All rights reserved.
  4511  //
  4512  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4513  //
  4514  // This file contains Original Code and/or Modifications of Original Code
  4515  // as defined in and that are subject to the Apple Public Source License
  4516  // Version 2.0 (the 'License'). You may not use this file except in
  4517  // compliance with the License. The rights granted to you under the License
  4518  // may not be used to create, or enable the creation or redistribution of,
  4519  // unlawful or unlicensed copies of an Apple operating system, or to
  4520  // circumvent, violate, or enable the circumvention or violation of, any
  4521  // terms of an Apple operating system software license agreement.
  4522  //
  4523  // Please obtain a copy of the License at
  4524  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4525  //
  4526  // The Original Code and all software distributed under the License are
  4527  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4528  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4529  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4530  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4531  // Please see the License for the specific language governing rights and
  4532  // limitations under the License.
  4533  //
  4534  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4535  
  4536  type Uintmax_t = uint64 /* _uintmax_t.h:32:26 */
  4537  
  4538  // 7.18.4 Macros for integer constants
  4539  
  4540  // 7.18.2 Limits of specified-width integer types:
  4541  //   These #defines specify the minimum and maximum limits
  4542  //   of each of the types declared above.
  4543  //
  4544  //   They must have "the same type as would an expression that is an
  4545  //   object of the corresponding type converted according to the integer
  4546  //   promotion".
  4547  
  4548  // 7.18.2.1 Limits of exact-width integer types
  4549  
  4550  //
  4551  //       Note:  the literal "most negative int" cannot be written in C --
  4552  //       the rules in the standard (section 6.4.4.1 in C99) will give it
  4553  //       an unsigned type, so INT32_MIN (and the most negative member of
  4554  //       any larger signed type) must be written via a constant expression.
  4555  //
  4556  
  4557  // 7.18.2.2 Limits of minimum-width integer types
  4558  
  4559  // 7.18.2.3 Limits of fastest minimum-width integer types
  4560  
  4561  // 7.18.2.4 Limits of integer types capable of holding object pointers
  4562  
  4563  // 7.18.2.5 Limits of greatest-width integer types
  4564  
  4565  // 7.18.3 "Other"
  4566  
  4567  // WCHAR_MIN should be 0 if wchar_t is an unsigned type and
  4568  //    (-WCHAR_MAX-1) if wchar_t is a signed type.  Unfortunately,
  4569  //    it turns out that -fshort-wchar changes the signedness of
  4570  //    the type.
  4571  
  4572  // Copyright (c) 2007 Apple Inc. All rights reserved.
  4573  //
  4574  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4575  //
  4576  // This file contains Original Code and/or Modifications of Original Code
  4577  // as defined in and that are subject to the Apple Public Source License
  4578  // Version 2.0 (the 'License'). You may not use this file except in
  4579  // compliance with the License. The rights granted to you under the License
  4580  // may not be used to create, or enable the creation or redistribution of,
  4581  // unlawful or unlicensed copies of an Apple operating system, or to
  4582  // circumvent, violate, or enable the circumvention or violation of, any
  4583  // terms of an Apple operating system software license agreement.
  4584  //
  4585  // Please obtain a copy of the License at
  4586  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4587  //
  4588  // The Original Code and all software distributed under the License are
  4589  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4590  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4591  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4592  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4593  // Please see the License for the specific language governing rights and
  4594  // limitations under the License.
  4595  //
  4596  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4597  
  4598  // Collect the __ARM_ARCH_*__ compiler flags into something easier to use.
  4599  
  4600  // Generic byte swapping functions.
  4601  
  4602  func _OSSwapInt16(tls *libc.TLS, _data Uint16_t) Uint16_t { /* OSByteOrder.h:15:1: */
  4603  	// Reduces to 'rev16' with clang
  4604  	return Uint16_t(int32(_data)<<8 | int32(_data)>>8)
  4605  }
  4606  
  4607  func _OSSwapInt32(tls *libc.TLS, _data Uint32_t) Uint32_t { /* OSByteOrder.h:25:1: */
  4608  	// This actually generates the best code
  4609  	_data = (_data^(_data>>16|_data<<16))&0xFF00FFFF>>8 ^ (_data>>8 | _data<<24)
  4610  
  4611  	return _data
  4612  }
  4613  
  4614  func _OSSwapInt64(tls *libc.TLS, _data Uint64_t) Uint64_t { /* OSByteOrder.h:41:1: */
  4615  	bp := tls.Alloc(8)
  4616  	defer tls.Free(8)
  4617  
  4618  	// var _u struct {F_ull Uint64_t;} at bp, 8
  4619  
  4620  	// This actually generates the best code
  4621  	*(*Uint32_t)(unsafe.Pointer(bp)) = Uint32_t(_data >> 32)
  4622  	*(*Uint32_t)(unsafe.Pointer(bp + 1*4)) = Uint32_t(_data & uint64(0xffffffff))
  4623  	*(*Uint32_t)(unsafe.Pointer(bp)) = _OSSwapInt32(tls, *(*Uint32_t)(unsafe.Pointer(bp)))
  4624  	*(*Uint32_t)(unsafe.Pointer(bp + 1*4)) = _OSSwapInt32(tls, *(*Uint32_t)(unsafe.Pointer(bp + 1*4)))
  4625  	return *(*Uint64_t)(unsafe.Pointer(bp))
  4626  }
  4627  
  4628  // Functions for byte reversed loads.
  4629  
  4630  type X_OSUnalignedU16 = struct{ F__val Uint16_t } /* OSByteOrder.h:64:1 */
  4631  
  4632  type X_OSUnalignedU32 = struct{ F__val Uint32_t } /* OSByteOrder.h:68:1 */
  4633  
  4634  type X_OSUnalignedU64 = struct{ F__val Uint64_t } /* OSByteOrder.h:72:1 */
  4635  
  4636  // Copyright (c) 2017 Apple Inc. All rights reserved.
  4637  //
  4638  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4639  //
  4640  // This file contains Original Code and/or Modifications of Original Code
  4641  // as defined in and that are subject to the Apple Public Source License
  4642  // Version 2.0 (the 'License'). You may not use this file except in
  4643  // compliance with the License. The rights granted to you under the License
  4644  // may not be used to create, or enable the creation or redistribution of,
  4645  // unlawful or unlicensed copies of an Apple operating system, or to
  4646  // circumvent, violate, or enable the circumvention or violation of, any
  4647  // terms of an Apple operating system software license agreement.
  4648  //
  4649  // Please obtain a copy of the License at
  4650  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4651  //
  4652  // The Original Code and all software distributed under the License are
  4653  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4654  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4655  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4656  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4657  // Please see the License for the specific language governing rights and
  4658  // limitations under the License.
  4659  //
  4660  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4661  type U_char = uint8 /* _u_char.h:30:25 */
  4662  // Copyright (c) 2017 Apple Inc. All rights reserved.
  4663  //
  4664  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4665  //
  4666  // This file contains Original Code and/or Modifications of Original Code
  4667  // as defined in and that are subject to the Apple Public Source License
  4668  // Version 2.0 (the 'License'). You may not use this file except in
  4669  // compliance with the License. The rights granted to you under the License
  4670  // may not be used to create, or enable the creation or redistribution of,
  4671  // unlawful or unlicensed copies of an Apple operating system, or to
  4672  // circumvent, violate, or enable the circumvention or violation of, any
  4673  // terms of an Apple operating system software license agreement.
  4674  //
  4675  // Please obtain a copy of the License at
  4676  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4677  //
  4678  // The Original Code and all software distributed under the License are
  4679  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4680  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4681  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4682  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4683  // Please see the License for the specific language governing rights and
  4684  // limitations under the License.
  4685  //
  4686  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4687  type U_short = uint16 /* _u_short.h:30:25 */
  4688  // Copyright (c) 2017 Apple Inc. All rights reserved.
  4689  //
  4690  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4691  //
  4692  // This file contains Original Code and/or Modifications of Original Code
  4693  // as defined in and that are subject to the Apple Public Source License
  4694  // Version 2.0 (the 'License'). You may not use this file except in
  4695  // compliance with the License. The rights granted to you under the License
  4696  // may not be used to create, or enable the creation or redistribution of,
  4697  // unlawful or unlicensed copies of an Apple operating system, or to
  4698  // circumvent, violate, or enable the circumvention or violation of, any
  4699  // terms of an Apple operating system software license agreement.
  4700  //
  4701  // Please obtain a copy of the License at
  4702  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4703  //
  4704  // The Original Code and all software distributed under the License are
  4705  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4706  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4707  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4708  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4709  // Please see the License for the specific language governing rights and
  4710  // limitations under the License.
  4711  //
  4712  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4713  type U_int = uint32  /* _u_int.h:30:25 */
  4714  type U_long = uint64 /* types.h:88:33 */
  4715  type Ushort = uint16 /* types.h:91:33 */ // Sys V compatibility
  4716  type Uint = uint32   /* types.h:92:33 */ // Sys V compatibility
  4717  
  4718  type U_quad_t = U_int64_t /* types.h:95:33 */ // quads
  4719  type Quad_t = Int64_t     /* types.h:96:33 */
  4720  type Qaddr_t = uintptr    /* types.h:97:16 */
  4721  
  4722  // Copyright (c) 2017 Apple Inc. All rights reserved.
  4723  //
  4724  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4725  //
  4726  // This file contains Original Code and/or Modifications of Original Code
  4727  // as defined in and that are subject to the Apple Public Source License
  4728  // Version 2.0 (the 'License'). You may not use this file except in
  4729  // compliance with the License. The rights granted to you under the License
  4730  // may not be used to create, or enable the creation or redistribution of,
  4731  // unlawful or unlicensed copies of an Apple operating system, or to
  4732  // circumvent, violate, or enable the circumvention or violation of, any
  4733  // terms of an Apple operating system software license agreement.
  4734  //
  4735  // Please obtain a copy of the License at
  4736  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4737  //
  4738  // The Original Code and all software distributed under the License are
  4739  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4740  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4741  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4742  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4743  // Please see the License for the specific language governing rights and
  4744  // limitations under the License.
  4745  //
  4746  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4747  type Caddr_t = uintptr /* _caddr_t.h:30:14 */
  4748  
  4749  type Daddr_t = Int32_t /* types.h:101:33 */ // disk address
  4750  
  4751  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  4752  //
  4753  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4754  //
  4755  // This file contains Original Code and/or Modifications of Original Code
  4756  // as defined in and that are subject to the Apple Public Source License
  4757  // Version 2.0 (the 'License'). You may not use this file except in
  4758  // compliance with the License. The rights granted to you under the License
  4759  // may not be used to create, or enable the creation or redistribution of,
  4760  // unlawful or unlicensed copies of an Apple operating system, or to
  4761  // circumvent, violate, or enable the circumvention or violation of, any
  4762  // terms of an Apple operating system software license agreement.
  4763  //
  4764  // Please obtain a copy of the License at
  4765  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4766  //
  4767  // The Original Code and all software distributed under the License are
  4768  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4769  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4770  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4771  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4772  // Please see the License for the specific language governing rights and
  4773  // limitations under the License.
  4774  //
  4775  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4776  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  4777  //
  4778  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4779  //
  4780  // This file contains Original Code and/or Modifications of Original Code
  4781  // as defined in and that are subject to the Apple Public Source License
  4782  // Version 2.0 (the 'License'). You may not use this file except in
  4783  // compliance with the License. The rights granted to you under the License
  4784  // may not be used to create, or enable the creation or redistribution of,
  4785  // unlawful or unlicensed copies of an Apple operating system, or to
  4786  // circumvent, violate, or enable the circumvention or violation of, any
  4787  // terms of an Apple operating system software license agreement.
  4788  //
  4789  // Please obtain a copy of the License at
  4790  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4791  //
  4792  // The Original Code and all software distributed under the License are
  4793  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4794  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4795  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4796  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4797  // Please see the License for the specific language governing rights and
  4798  // limitations under the License.
  4799  //
  4800  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4801  
  4802  type Dev_t = X__darwin_dev_t /* _dev_t.h:31:31 */ // device number
  4803  
  4804  type Fixpt_t = U_int32_t /* types.h:105:33 */ // fixed point number
  4805  
  4806  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  4807  //
  4808  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4809  //
  4810  // This file contains Original Code and/or Modifications of Original Code
  4811  // as defined in and that are subject to the Apple Public Source License
  4812  // Version 2.0 (the 'License'). You may not use this file except in
  4813  // compliance with the License. The rights granted to you under the License
  4814  // may not be used to create, or enable the creation or redistribution of,
  4815  // unlawful or unlicensed copies of an Apple operating system, or to
  4816  // circumvent, violate, or enable the circumvention or violation of, any
  4817  // terms of an Apple operating system software license agreement.
  4818  //
  4819  // Please obtain a copy of the License at
  4820  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4821  //
  4822  // The Original Code and all software distributed under the License are
  4823  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4824  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4825  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4826  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4827  // Please see the License for the specific language governing rights and
  4828  // limitations under the License.
  4829  //
  4830  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4831  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  4832  //
  4833  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4834  //
  4835  // This file contains Original Code and/or Modifications of Original Code
  4836  // as defined in and that are subject to the Apple Public Source License
  4837  // Version 2.0 (the 'License'). You may not use this file except in
  4838  // compliance with the License. The rights granted to you under the License
  4839  // may not be used to create, or enable the creation or redistribution of,
  4840  // unlawful or unlicensed copies of an Apple operating system, or to
  4841  // circumvent, violate, or enable the circumvention or violation of, any
  4842  // terms of an Apple operating system software license agreement.
  4843  //
  4844  // Please obtain a copy of the License at
  4845  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4846  //
  4847  // The Original Code and all software distributed under the License are
  4848  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4849  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4850  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4851  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4852  // Please see the License for the specific language governing rights and
  4853  // limitations under the License.
  4854  //
  4855  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4856  
  4857  type Blkcnt_t = X__darwin_blkcnt_t /* _blkcnt_t.h:31:34 */
  4858  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  4859  //
  4860  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4861  //
  4862  // This file contains Original Code and/or Modifications of Original Code
  4863  // as defined in and that are subject to the Apple Public Source License
  4864  // Version 2.0 (the 'License'). You may not use this file except in
  4865  // compliance with the License. The rights granted to you under the License
  4866  // may not be used to create, or enable the creation or redistribution of,
  4867  // unlawful or unlicensed copies of an Apple operating system, or to
  4868  // circumvent, violate, or enable the circumvention or violation of, any
  4869  // terms of an Apple operating system software license agreement.
  4870  //
  4871  // Please obtain a copy of the License at
  4872  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4873  //
  4874  // The Original Code and all software distributed under the License are
  4875  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4876  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4877  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4878  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4879  // Please see the License for the specific language governing rights and
  4880  // limitations under the License.
  4881  //
  4882  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4883  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  4884  //
  4885  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4886  //
  4887  // This file contains Original Code and/or Modifications of Original Code
  4888  // as defined in and that are subject to the Apple Public Source License
  4889  // Version 2.0 (the 'License'). You may not use this file except in
  4890  // compliance with the License. The rights granted to you under the License
  4891  // may not be used to create, or enable the creation or redistribution of,
  4892  // unlawful or unlicensed copies of an Apple operating system, or to
  4893  // circumvent, violate, or enable the circumvention or violation of, any
  4894  // terms of an Apple operating system software license agreement.
  4895  //
  4896  // Please obtain a copy of the License at
  4897  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4898  //
  4899  // The Original Code and all software distributed under the License are
  4900  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4901  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4902  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4903  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4904  // Please see the License for the specific language governing rights and
  4905  // limitations under the License.
  4906  //
  4907  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4908  
  4909  type Blksize_t = X__darwin_blksize_t /* _blksize_t.h:31:35 */
  4910  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  4911  //
  4912  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4913  //
  4914  // This file contains Original Code and/or Modifications of Original Code
  4915  // as defined in and that are subject to the Apple Public Source License
  4916  // Version 2.0 (the 'License'). You may not use this file except in
  4917  // compliance with the License. The rights granted to you under the License
  4918  // may not be used to create, or enable the creation or redistribution of,
  4919  // unlawful or unlicensed copies of an Apple operating system, or to
  4920  // circumvent, violate, or enable the circumvention or violation of, any
  4921  // terms of an Apple operating system software license agreement.
  4922  //
  4923  // Please obtain a copy of the License at
  4924  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4925  //
  4926  // The Original Code and all software distributed under the License are
  4927  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4928  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4929  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4930  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4931  // Please see the License for the specific language governing rights and
  4932  // limitations under the License.
  4933  //
  4934  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4935  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  4936  //
  4937  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4938  //
  4939  // This file contains Original Code and/or Modifications of Original Code
  4940  // as defined in and that are subject to the Apple Public Source License
  4941  // Version 2.0 (the 'License'). You may not use this file except in
  4942  // compliance with the License. The rights granted to you under the License
  4943  // may not be used to create, or enable the creation or redistribution of,
  4944  // unlawful or unlicensed copies of an Apple operating system, or to
  4945  // circumvent, violate, or enable the circumvention or violation of, any
  4946  // terms of an Apple operating system software license agreement.
  4947  //
  4948  // Please obtain a copy of the License at
  4949  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4950  //
  4951  // The Original Code and all software distributed under the License are
  4952  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4953  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4954  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4955  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4956  // Please see the License for the specific language governing rights and
  4957  // limitations under the License.
  4958  //
  4959  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4960  
  4961  type Gid_t = X__darwin_gid_t /* _gid_t.h:31:25 */
  4962  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  4963  //
  4964  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4965  //
  4966  // This file contains Original Code and/or Modifications of Original Code
  4967  // as defined in and that are subject to the Apple Public Source License
  4968  // Version 2.0 (the 'License'). You may not use this file except in
  4969  // compliance with the License. The rights granted to you under the License
  4970  // may not be used to create, or enable the creation or redistribution of,
  4971  // unlawful or unlicensed copies of an Apple operating system, or to
  4972  // circumvent, violate, or enable the circumvention or violation of, any
  4973  // terms of an Apple operating system software license agreement.
  4974  //
  4975  // Please obtain a copy of the License at
  4976  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  4977  //
  4978  // The Original Code and all software distributed under the License are
  4979  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  4980  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  4981  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  4982  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  4983  // Please see the License for the specific language governing rights and
  4984  // limitations under the License.
  4985  //
  4986  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  4987  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  4988  //
  4989  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  4990  //
  4991  // This file contains Original Code and/or Modifications of Original Code
  4992  // as defined in and that are subject to the Apple Public Source License
  4993  // Version 2.0 (the 'License'). You may not use this file except in
  4994  // compliance with the License. The rights granted to you under the License
  4995  // may not be used to create, or enable the creation or redistribution of,
  4996  // unlawful or unlicensed copies of an Apple operating system, or to
  4997  // circumvent, violate, or enable the circumvention or violation of, any
  4998  // terms of an Apple operating system software license agreement.
  4999  //
  5000  // Please obtain a copy of the License at
  5001  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5002  //
  5003  // The Original Code and all software distributed under the License are
  5004  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5005  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5006  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5007  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5008  // Please see the License for the specific language governing rights and
  5009  // limitations under the License.
  5010  //
  5011  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5012  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  5013  type In_addr_t = X__uint32_t /* _in_addr_t.h:31:25 */ // base type for internet address
  5014  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5015  //
  5016  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5017  //
  5018  // This file contains Original Code and/or Modifications of Original Code
  5019  // as defined in and that are subject to the Apple Public Source License
  5020  // Version 2.0 (the 'License'). You may not use this file except in
  5021  // compliance with the License. The rights granted to you under the License
  5022  // may not be used to create, or enable the creation or redistribution of,
  5023  // unlawful or unlicensed copies of an Apple operating system, or to
  5024  // circumvent, violate, or enable the circumvention or violation of, any
  5025  // terms of an Apple operating system software license agreement.
  5026  //
  5027  // Please obtain a copy of the License at
  5028  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5029  //
  5030  // The Original Code and all software distributed under the License are
  5031  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5032  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5033  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5034  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5035  // Please see the License for the specific language governing rights and
  5036  // limitations under the License.
  5037  //
  5038  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5039  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  5040  //
  5041  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5042  //
  5043  // This file contains Original Code and/or Modifications of Original Code
  5044  // as defined in and that are subject to the Apple Public Source License
  5045  // Version 2.0 (the 'License'). You may not use this file except in
  5046  // compliance with the License. The rights granted to you under the License
  5047  // may not be used to create, or enable the creation or redistribution of,
  5048  // unlawful or unlicensed copies of an Apple operating system, or to
  5049  // circumvent, violate, or enable the circumvention or violation of, any
  5050  // terms of an Apple operating system software license agreement.
  5051  //
  5052  // Please obtain a copy of the License at
  5053  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5054  //
  5055  // The Original Code and all software distributed under the License are
  5056  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5057  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5058  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5059  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5060  // Please see the License for the specific language governing rights and
  5061  // limitations under the License.
  5062  //
  5063  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5064  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  5065  type In_port_t = X__uint16_t /* _in_port_t.h:31:33 */
  5066  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5067  //
  5068  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5069  //
  5070  // This file contains Original Code and/or Modifications of Original Code
  5071  // as defined in and that are subject to the Apple Public Source License
  5072  // Version 2.0 (the 'License'). You may not use this file except in
  5073  // compliance with the License. The rights granted to you under the License
  5074  // may not be used to create, or enable the creation or redistribution of,
  5075  // unlawful or unlicensed copies of an Apple operating system, or to
  5076  // circumvent, violate, or enable the circumvention or violation of, any
  5077  // terms of an Apple operating system software license agreement.
  5078  //
  5079  // Please obtain a copy of the License at
  5080  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5081  //
  5082  // The Original Code and all software distributed under the License are
  5083  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5084  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5085  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5086  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5087  // Please see the License for the specific language governing rights and
  5088  // limitations under the License.
  5089  //
  5090  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5091  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  5092  //
  5093  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5094  //
  5095  // This file contains Original Code and/or Modifications of Original Code
  5096  // as defined in and that are subject to the Apple Public Source License
  5097  // Version 2.0 (the 'License'). You may not use this file except in
  5098  // compliance with the License. The rights granted to you under the License
  5099  // may not be used to create, or enable the creation or redistribution of,
  5100  // unlawful or unlicensed copies of an Apple operating system, or to
  5101  // circumvent, violate, or enable the circumvention or violation of, any
  5102  // terms of an Apple operating system software license agreement.
  5103  //
  5104  // Please obtain a copy of the License at
  5105  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5106  //
  5107  // The Original Code and all software distributed under the License are
  5108  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5109  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5110  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5111  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5112  // Please see the License for the specific language governing rights and
  5113  // limitations under the License.
  5114  //
  5115  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5116  
  5117  type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
  5118  
  5119  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5120  //
  5121  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5122  //
  5123  // This file contains Original Code and/or Modifications of Original Code
  5124  // as defined in and that are subject to the Apple Public Source License
  5125  // Version 2.0 (the 'License'). You may not use this file except in
  5126  // compliance with the License. The rights granted to you under the License
  5127  // may not be used to create, or enable the creation or redistribution of,
  5128  // unlawful or unlicensed copies of an Apple operating system, or to
  5129  // circumvent, violate, or enable the circumvention or violation of, any
  5130  // terms of an Apple operating system software license agreement.
  5131  //
  5132  // Please obtain a copy of the License at
  5133  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5134  //
  5135  // The Original Code and all software distributed under the License are
  5136  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5137  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5138  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5139  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5140  // Please see the License for the specific language governing rights and
  5141  // limitations under the License.
  5142  //
  5143  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5144  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  5145  //
  5146  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5147  //
  5148  // This file contains Original Code and/or Modifications of Original Code
  5149  // as defined in and that are subject to the Apple Public Source License
  5150  // Version 2.0 (the 'License'). You may not use this file except in
  5151  // compliance with the License. The rights granted to you under the License
  5152  // may not be used to create, or enable the creation or redistribution of,
  5153  // unlawful or unlicensed copies of an Apple operating system, or to
  5154  // circumvent, violate, or enable the circumvention or violation of, any
  5155  // terms of an Apple operating system software license agreement.
  5156  //
  5157  // Please obtain a copy of the License at
  5158  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5159  //
  5160  // The Original Code and all software distributed under the License are
  5161  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5162  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5163  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5164  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5165  // Please see the License for the specific language governing rights and
  5166  // limitations under the License.
  5167  //
  5168  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5169  
  5170  type Ino64_t = X__darwin_ino64_t /* _ino64_t.h:31:33 */ // 64bit inode number
  5171  
  5172  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5173  //
  5174  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5175  //
  5176  // This file contains Original Code and/or Modifications of Original Code
  5177  // as defined in and that are subject to the Apple Public Source License
  5178  // Version 2.0 (the 'License'). You may not use this file except in
  5179  // compliance with the License. The rights granted to you under the License
  5180  // may not be used to create, or enable the creation or redistribution of,
  5181  // unlawful or unlicensed copies of an Apple operating system, or to
  5182  // circumvent, violate, or enable the circumvention or violation of, any
  5183  // terms of an Apple operating system software license agreement.
  5184  //
  5185  // Please obtain a copy of the License at
  5186  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5187  //
  5188  // The Original Code and all software distributed under the License are
  5189  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5190  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5191  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5192  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5193  // Please see the License for the specific language governing rights and
  5194  // limitations under the License.
  5195  //
  5196  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5197  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  5198  //
  5199  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5200  //
  5201  // This file contains Original Code and/or Modifications of Original Code
  5202  // as defined in and that are subject to the Apple Public Source License
  5203  // Version 2.0 (the 'License'). You may not use this file except in
  5204  // compliance with the License. The rights granted to you under the License
  5205  // may not be used to create, or enable the creation or redistribution of,
  5206  // unlawful or unlicensed copies of an Apple operating system, or to
  5207  // circumvent, violate, or enable the circumvention or violation of, any
  5208  // terms of an Apple operating system software license agreement.
  5209  //
  5210  // Please obtain a copy of the License at
  5211  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5212  //
  5213  // The Original Code and all software distributed under the License are
  5214  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5215  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5216  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5217  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5218  // Please see the License for the specific language governing rights and
  5219  // limitations under the License.
  5220  //
  5221  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5222  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  5223  type Key_t = X__int32_t /* _key_t.h:31:26 */ // IPC key (for Sys V IPC)
  5224  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5225  //
  5226  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5227  //
  5228  // This file contains Original Code and/or Modifications of Original Code
  5229  // as defined in and that are subject to the Apple Public Source License
  5230  // Version 2.0 (the 'License'). You may not use this file except in
  5231  // compliance with the License. The rights granted to you under the License
  5232  // may not be used to create, or enable the creation or redistribution of,
  5233  // unlawful or unlicensed copies of an Apple operating system, or to
  5234  // circumvent, violate, or enable the circumvention or violation of, any
  5235  // terms of an Apple operating system software license agreement.
  5236  //
  5237  // Please obtain a copy of the License at
  5238  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5239  //
  5240  // The Original Code and all software distributed under the License are
  5241  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5242  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5243  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5244  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5245  // Please see the License for the specific language governing rights and
  5246  // limitations under the License.
  5247  //
  5248  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5249  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  5250  //
  5251  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5252  //
  5253  // This file contains Original Code and/or Modifications of Original Code
  5254  // as defined in and that are subject to the Apple Public Source License
  5255  // Version 2.0 (the 'License'). You may not use this file except in
  5256  // compliance with the License. The rights granted to you under the License
  5257  // may not be used to create, or enable the creation or redistribution of,
  5258  // unlawful or unlicensed copies of an Apple operating system, or to
  5259  // circumvent, violate, or enable the circumvention or violation of, any
  5260  // terms of an Apple operating system software license agreement.
  5261  //
  5262  // Please obtain a copy of the License at
  5263  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5264  //
  5265  // The Original Code and all software distributed under the License are
  5266  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5267  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5268  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5269  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5270  // Please see the License for the specific language governing rights and
  5271  // limitations under the License.
  5272  //
  5273  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5274  
  5275  type Mode_t = X__darwin_mode_t /* _mode_t.h:31:33 */
  5276  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5277  //
  5278  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5279  //
  5280  // This file contains Original Code and/or Modifications of Original Code
  5281  // as defined in and that are subject to the Apple Public Source License
  5282  // Version 2.0 (the 'License'). You may not use this file except in
  5283  // compliance with the License. The rights granted to you under the License
  5284  // may not be used to create, or enable the creation or redistribution of,
  5285  // unlawful or unlicensed copies of an Apple operating system, or to
  5286  // circumvent, violate, or enable the circumvention or violation of, any
  5287  // terms of an Apple operating system software license agreement.
  5288  //
  5289  // Please obtain a copy of the License at
  5290  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5291  //
  5292  // The Original Code and all software distributed under the License are
  5293  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5294  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5295  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5296  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5297  // Please see the License for the specific language governing rights and
  5298  // limitations under the License.
  5299  //
  5300  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5301  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  5302  //
  5303  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5304  //
  5305  // This file contains Original Code and/or Modifications of Original Code
  5306  // as defined in and that are subject to the Apple Public Source License
  5307  // Version 2.0 (the 'License'). You may not use this file except in
  5308  // compliance with the License. The rights granted to you under the License
  5309  // may not be used to create, or enable the creation or redistribution of,
  5310  // unlawful or unlicensed copies of an Apple operating system, or to
  5311  // circumvent, violate, or enable the circumvention or violation of, any
  5312  // terms of an Apple operating system software license agreement.
  5313  //
  5314  // Please obtain a copy of the License at
  5315  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5316  //
  5317  // The Original Code and all software distributed under the License are
  5318  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5319  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5320  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5321  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5322  // Please see the License for the specific language governing rights and
  5323  // limitations under the License.
  5324  //
  5325  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5326  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  5327  type Nlink_t = X__uint16_t /* _nlink_t.h:31:27 */ // link count
  5328  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5329  //
  5330  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5331  //
  5332  // This file contains Original Code and/or Modifications of Original Code
  5333  // as defined in and that are subject to the Apple Public Source License
  5334  // Version 2.0 (the 'License'). You may not use this file except in
  5335  // compliance with the License. The rights granted to you under the License
  5336  // may not be used to create, or enable the creation or redistribution of,
  5337  // unlawful or unlicensed copies of an Apple operating system, or to
  5338  // circumvent, violate, or enable the circumvention or violation of, any
  5339  // terms of an Apple operating system software license agreement.
  5340  //
  5341  // Please obtain a copy of the License at
  5342  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5343  //
  5344  // The Original Code and all software distributed under the License are
  5345  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5346  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5347  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5348  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5349  // Please see the License for the specific language governing rights and
  5350  // limitations under the License.
  5351  //
  5352  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5353  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  5354  //
  5355  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5356  //
  5357  // This file contains Original Code and/or Modifications of Original Code
  5358  // as defined in and that are subject to the Apple Public Source License
  5359  // Version 2.0 (the 'License'). You may not use this file except in
  5360  // compliance with the License. The rights granted to you under the License
  5361  // may not be used to create, or enable the creation or redistribution of,
  5362  // unlawful or unlicensed copies of an Apple operating system, or to
  5363  // circumvent, violate, or enable the circumvention or violation of, any
  5364  // terms of an Apple operating system software license agreement.
  5365  //
  5366  // Please obtain a copy of the License at
  5367  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5368  //
  5369  // The Original Code and all software distributed under the License are
  5370  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5371  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5372  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5373  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5374  // Please see the License for the specific language governing rights and
  5375  // limitations under the License.
  5376  //
  5377  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5378  
  5379  type Id_t = X__darwin_id_t /* _id_t.h:31:25 */ // can hold pid_t, gid_t, or uid_t
  5380  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5381  //
  5382  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5383  //
  5384  // This file contains Original Code and/or Modifications of Original Code
  5385  // as defined in and that are subject to the Apple Public Source License
  5386  // Version 2.0 (the 'License'). You may not use this file except in
  5387  // compliance with the License. The rights granted to you under the License
  5388  // may not be used to create, or enable the creation or redistribution of,
  5389  // unlawful or unlicensed copies of an Apple operating system, or to
  5390  // circumvent, violate, or enable the circumvention or violation of, any
  5391  // terms of an Apple operating system software license agreement.
  5392  //
  5393  // Please obtain a copy of the License at
  5394  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5395  //
  5396  // The Original Code and all software distributed under the License are
  5397  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5398  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5399  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5400  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5401  // Please see the License for the specific language governing rights and
  5402  // limitations under the License.
  5403  //
  5404  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5405  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  5406  //
  5407  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5408  //
  5409  // This file contains Original Code and/or Modifications of Original Code
  5410  // as defined in and that are subject to the Apple Public Source License
  5411  // Version 2.0 (the 'License'). You may not use this file except in
  5412  // compliance with the License. The rights granted to you under the License
  5413  // may not be used to create, or enable the creation or redistribution of,
  5414  // unlawful or unlicensed copies of an Apple operating system, or to
  5415  // circumvent, violate, or enable the circumvention or violation of, any
  5416  // terms of an Apple operating system software license agreement.
  5417  //
  5418  // Please obtain a copy of the License at
  5419  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5420  //
  5421  // The Original Code and all software distributed under the License are
  5422  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5423  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5424  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5425  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5426  // Please see the License for the specific language governing rights and
  5427  // limitations under the License.
  5428  //
  5429  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5430  
  5431  type Pid_t = X__darwin_pid_t /* _pid_t.h:31:31 */
  5432  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5433  //
  5434  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5435  //
  5436  // This file contains Original Code and/or Modifications of Original Code
  5437  // as defined in and that are subject to the Apple Public Source License
  5438  // Version 2.0 (the 'License'). You may not use this file except in
  5439  // compliance with the License. The rights granted to you under the License
  5440  // may not be used to create, or enable the creation or redistribution of,
  5441  // unlawful or unlicensed copies of an Apple operating system, or to
  5442  // circumvent, violate, or enable the circumvention or violation of, any
  5443  // terms of an Apple operating system software license agreement.
  5444  //
  5445  // Please obtain a copy of the License at
  5446  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5447  //
  5448  // The Original Code and all software distributed under the License are
  5449  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5450  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5451  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5452  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5453  // Please see the License for the specific language governing rights and
  5454  // limitations under the License.
  5455  //
  5456  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5457  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  5458  //
  5459  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5460  //
  5461  // This file contains Original Code and/or Modifications of Original Code
  5462  // as defined in and that are subject to the Apple Public Source License
  5463  // Version 2.0 (the 'License'). You may not use this file except in
  5464  // compliance with the License. The rights granted to you under the License
  5465  // may not be used to create, or enable the creation or redistribution of,
  5466  // unlawful or unlicensed copies of an Apple operating system, or to
  5467  // circumvent, violate, or enable the circumvention or violation of, any
  5468  // terms of an Apple operating system software license agreement.
  5469  //
  5470  // Please obtain a copy of the License at
  5471  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5472  //
  5473  // The Original Code and all software distributed under the License are
  5474  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5475  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5476  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5477  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5478  // Please see the License for the specific language governing rights and
  5479  // limitations under the License.
  5480  //
  5481  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5482  
  5483  type Off_t = X__darwin_off_t /* _off_t.h:31:33 */
  5484  
  5485  type Segsz_t = Int32_t /* types.h:125:33 */ // segment size
  5486  type Swblk_t = Int32_t /* types.h:126:33 */ // swap offset
  5487  
  5488  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5489  //
  5490  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5491  //
  5492  // This file contains Original Code and/or Modifications of Original Code
  5493  // as defined in and that are subject to the Apple Public Source License
  5494  // Version 2.0 (the 'License'). You may not use this file except in
  5495  // compliance with the License. The rights granted to you under the License
  5496  // may not be used to create, or enable the creation or redistribution of,
  5497  // unlawful or unlicensed copies of an Apple operating system, or to
  5498  // circumvent, violate, or enable the circumvention or violation of, any
  5499  // terms of an Apple operating system software license agreement.
  5500  //
  5501  // Please obtain a copy of the License at
  5502  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5503  //
  5504  // The Original Code and all software distributed under the License are
  5505  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5506  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5507  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5508  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5509  // Please see the License for the specific language governing rights and
  5510  // limitations under the License.
  5511  //
  5512  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5513  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  5514  //
  5515  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5516  //
  5517  // This file contains Original Code and/or Modifications of Original Code
  5518  // as defined in and that are subject to the Apple Public Source License
  5519  // Version 2.0 (the 'License'). You may not use this file except in
  5520  // compliance with the License. The rights granted to you under the License
  5521  // may not be used to create, or enable the creation or redistribution of,
  5522  // unlawful or unlicensed copies of an Apple operating system, or to
  5523  // circumvent, violate, or enable the circumvention or violation of, any
  5524  // terms of an Apple operating system software license agreement.
  5525  //
  5526  // Please obtain a copy of the License at
  5527  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5528  //
  5529  // The Original Code and all software distributed under the License are
  5530  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5531  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5532  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5533  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5534  // Please see the License for the specific language governing rights and
  5535  // limitations under the License.
  5536  //
  5537  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5538  
  5539  type Uid_t = X__darwin_uid_t /* _uid_t.h:31:31 */
  5540  
  5541  // Major, minor numbers, dev_t's.
  5542  
  5543  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5544  //
  5545  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5546  //
  5547  // This file contains Original Code and/or Modifications of Original Code
  5548  // as defined in and that are subject to the Apple Public Source License
  5549  // Version 2.0 (the 'License'). You may not use this file except in
  5550  // compliance with the License. The rights granted to you under the License
  5551  // may not be used to create, or enable the creation or redistribution of,
  5552  // unlawful or unlicensed copies of an Apple operating system, or to
  5553  // circumvent, violate, or enable the circumvention or violation of, any
  5554  // terms of an Apple operating system software license agreement.
  5555  //
  5556  // Please obtain a copy of the License at
  5557  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5558  //
  5559  // The Original Code and all software distributed under the License are
  5560  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5561  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5562  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5563  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5564  // Please see the License for the specific language governing rights and
  5565  // limitations under the License.
  5566  //
  5567  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5568  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  5569  //
  5570  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5571  //
  5572  // This file contains Original Code and/or Modifications of Original Code
  5573  // as defined in and that are subject to the Apple Public Source License
  5574  // Version 2.0 (the 'License'). You may not use this file except in
  5575  // compliance with the License. The rights granted to you under the License
  5576  // may not be used to create, or enable the creation or redistribution of,
  5577  // unlawful or unlicensed copies of an Apple operating system, or to
  5578  // circumvent, violate, or enable the circumvention or violation of, any
  5579  // terms of an Apple operating system software license agreement.
  5580  //
  5581  // Please obtain a copy of the License at
  5582  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5583  //
  5584  // The Original Code and all software distributed under the License are
  5585  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5586  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5587  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5588  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5589  // Please see the License for the specific language governing rights and
  5590  // limitations under the License.
  5591  //
  5592  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5593  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  5594  type Clock_t = X__darwin_clock_t /* _clock_t.h:31:33 */
  5595  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5596  //
  5597  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5598  //
  5599  // This file contains Original Code and/or Modifications of Original Code
  5600  // as defined in and that are subject to the Apple Public Source License
  5601  // Version 2.0 (the 'License'). You may not use this file except in
  5602  // compliance with the License. The rights granted to you under the License
  5603  // may not be used to create, or enable the creation or redistribution of,
  5604  // unlawful or unlicensed copies of an Apple operating system, or to
  5605  // circumvent, violate, or enable the circumvention or violation of, any
  5606  // terms of an Apple operating system software license agreement.
  5607  //
  5608  // Please obtain a copy of the License at
  5609  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5610  //
  5611  // The Original Code and all software distributed under the License are
  5612  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5613  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5614  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5615  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5616  // Please see the License for the specific language governing rights and
  5617  // limitations under the License.
  5618  //
  5619  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5620  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5621  //
  5622  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5623  //
  5624  // This file contains Original Code and/or Modifications of Original Code
  5625  // as defined in and that are subject to the Apple Public Source License
  5626  // Version 2.0 (the 'License'). You may not use this file except in
  5627  // compliance with the License. The rights granted to you under the License
  5628  // may not be used to create, or enable the creation or redistribution of,
  5629  // unlawful or unlicensed copies of an Apple operating system, or to
  5630  // circumvent, violate, or enable the circumvention or violation of, any
  5631  // terms of an Apple operating system software license agreement.
  5632  //
  5633  // Please obtain a copy of the License at
  5634  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5635  //
  5636  // The Original Code and all software distributed under the License are
  5637  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5638  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5639  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5640  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5641  // Please see the License for the specific language governing rights and
  5642  // limitations under the License.
  5643  //
  5644  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5645  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  5646  //
  5647  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5648  //
  5649  // This file contains Original Code and/or Modifications of Original Code
  5650  // as defined in and that are subject to the Apple Public Source License
  5651  // Version 2.0 (the 'License'). You may not use this file except in
  5652  // compliance with the License. The rights granted to you under the License
  5653  // may not be used to create, or enable the creation or redistribution of,
  5654  // unlawful or unlicensed copies of an Apple operating system, or to
  5655  // circumvent, violate, or enable the circumvention or violation of, any
  5656  // terms of an Apple operating system software license agreement.
  5657  //
  5658  // Please obtain a copy of the License at
  5659  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5660  //
  5661  // The Original Code and all software distributed under the License are
  5662  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5663  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5664  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5665  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5666  // Please see the License for the specific language governing rights and
  5667  // limitations under the License.
  5668  //
  5669  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5670  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  5671  type Ssize_t = X__darwin_ssize_t /* _ssize_t.h:31:33 */
  5672  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5673  //
  5674  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5675  //
  5676  // This file contains Original Code and/or Modifications of Original Code
  5677  // as defined in and that are subject to the Apple Public Source License
  5678  // Version 2.0 (the 'License'). You may not use this file except in
  5679  // compliance with the License. The rights granted to you under the License
  5680  // may not be used to create, or enable the creation or redistribution of,
  5681  // unlawful or unlicensed copies of an Apple operating system, or to
  5682  // circumvent, violate, or enable the circumvention or violation of, any
  5683  // terms of an Apple operating system software license agreement.
  5684  //
  5685  // Please obtain a copy of the License at
  5686  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5687  //
  5688  // The Original Code and all software distributed under the License are
  5689  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5690  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5691  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5692  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5693  // Please see the License for the specific language governing rights and
  5694  // limitations under the License.
  5695  //
  5696  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5697  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  5698  //
  5699  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5700  //
  5701  // This file contains Original Code and/or Modifications of Original Code
  5702  // as defined in and that are subject to the Apple Public Source License
  5703  // Version 2.0 (the 'License'). You may not use this file except in
  5704  // compliance with the License. The rights granted to you under the License
  5705  // may not be used to create, or enable the creation or redistribution of,
  5706  // unlawful or unlicensed copies of an Apple operating system, or to
  5707  // circumvent, violate, or enable the circumvention or violation of, any
  5708  // terms of an Apple operating system software license agreement.
  5709  //
  5710  // Please obtain a copy of the License at
  5711  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5712  //
  5713  // The Original Code and all software distributed under the License are
  5714  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5715  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5716  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5717  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5718  // Please see the License for the specific language governing rights and
  5719  // limitations under the License.
  5720  //
  5721  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5722  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  5723  type Time_t = X__darwin_time_t /* _time_t.h:31:33 */
  5724  
  5725  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5726  //
  5727  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5728  //
  5729  // This file contains Original Code and/or Modifications of Original Code
  5730  // as defined in and that are subject to the Apple Public Source License
  5731  // Version 2.0 (the 'License'). You may not use this file except in
  5732  // compliance with the License. The rights granted to you under the License
  5733  // may not be used to create, or enable the creation or redistribution of,
  5734  // unlawful or unlicensed copies of an Apple operating system, or to
  5735  // circumvent, violate, or enable the circumvention or violation of, any
  5736  // terms of an Apple operating system software license agreement.
  5737  //
  5738  // Please obtain a copy of the License at
  5739  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5740  //
  5741  // The Original Code and all software distributed under the License are
  5742  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5743  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5744  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5745  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5746  // Please see the License for the specific language governing rights and
  5747  // limitations under the License.
  5748  //
  5749  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5750  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  5751  //
  5752  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5753  //
  5754  // This file contains Original Code and/or Modifications of Original Code
  5755  // as defined in and that are subject to the Apple Public Source License
  5756  // Version 2.0 (the 'License'). You may not use this file except in
  5757  // compliance with the License. The rights granted to you under the License
  5758  // may not be used to create, or enable the creation or redistribution of,
  5759  // unlawful or unlicensed copies of an Apple operating system, or to
  5760  // circumvent, violate, or enable the circumvention or violation of, any
  5761  // terms of an Apple operating system software license agreement.
  5762  //
  5763  // Please obtain a copy of the License at
  5764  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5765  //
  5766  // The Original Code and all software distributed under the License are
  5767  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5768  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5769  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5770  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5771  // Please see the License for the specific language governing rights and
  5772  // limitations under the License.
  5773  //
  5774  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5775  
  5776  type Useconds_t = X__darwin_useconds_t /* _useconds_t.h:31:33 */
  5777  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5778  //
  5779  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5780  //
  5781  // This file contains Original Code and/or Modifications of Original Code
  5782  // as defined in and that are subject to the Apple Public Source License
  5783  // Version 2.0 (the 'License'). You may not use this file except in
  5784  // compliance with the License. The rights granted to you under the License
  5785  // may not be used to create, or enable the creation or redistribution of,
  5786  // unlawful or unlicensed copies of an Apple operating system, or to
  5787  // circumvent, violate, or enable the circumvention or violation of, any
  5788  // terms of an Apple operating system software license agreement.
  5789  //
  5790  // Please obtain a copy of the License at
  5791  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5792  //
  5793  // The Original Code and all software distributed under the License are
  5794  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5795  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5796  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5797  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5798  // Please see the License for the specific language governing rights and
  5799  // limitations under the License.
  5800  //
  5801  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5802  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  5803  //
  5804  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5805  //
  5806  // This file contains Original Code and/or Modifications of Original Code
  5807  // as defined in and that are subject to the Apple Public Source License
  5808  // Version 2.0 (the 'License'). You may not use this file except in
  5809  // compliance with the License. The rights granted to you under the License
  5810  // may not be used to create, or enable the creation or redistribution of,
  5811  // unlawful or unlicensed copies of an Apple operating system, or to
  5812  // circumvent, violate, or enable the circumvention or violation of, any
  5813  // terms of an Apple operating system software license agreement.
  5814  //
  5815  // Please obtain a copy of the License at
  5816  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5817  //
  5818  // The Original Code and all software distributed under the License are
  5819  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5820  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5821  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5822  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5823  // Please see the License for the specific language governing rights and
  5824  // limitations under the License.
  5825  //
  5826  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5827  
  5828  type Suseconds_t = X__darwin_suseconds_t /* _suseconds_t.h:31:33 */
  5829  
  5830  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5831  //
  5832  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5833  //
  5834  // This file contains Original Code and/or Modifications of Original Code
  5835  // as defined in and that are subject to the Apple Public Source License
  5836  // Version 2.0 (the 'License'). You may not use this file except in
  5837  // compliance with the License. The rights granted to you under the License
  5838  // may not be used to create, or enable the creation or redistribution of,
  5839  // unlawful or unlicensed copies of an Apple operating system, or to
  5840  // circumvent, violate, or enable the circumvention or violation of, any
  5841  // terms of an Apple operating system software license agreement.
  5842  //
  5843  // Please obtain a copy of the License at
  5844  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5845  //
  5846  // The Original Code and all software distributed under the License are
  5847  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5848  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5849  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5850  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5851  // Please see the License for the specific language governing rights and
  5852  // limitations under the License.
  5853  //
  5854  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5855  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  5856  //
  5857  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5858  //
  5859  // This file contains Original Code and/or Modifications of Original Code
  5860  // as defined in and that are subject to the Apple Public Source License
  5861  // Version 2.0 (the 'License'). You may not use this file except in
  5862  // compliance with the License. The rights granted to you under the License
  5863  // may not be used to create, or enable the creation or redistribution of,
  5864  // unlawful or unlicensed copies of an Apple operating system, or to
  5865  // circumvent, violate, or enable the circumvention or violation of, any
  5866  // terms of an Apple operating system software license agreement.
  5867  //
  5868  // Please obtain a copy of the License at
  5869  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5870  //
  5871  // The Original Code and all software distributed under the License are
  5872  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5873  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5874  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5875  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5876  // Please see the License for the specific language governing rights and
  5877  // limitations under the License.
  5878  //
  5879  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5880  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  5881  type Rsize_t = X__darwin_size_t /* _rsize_t.h:31:32 */
  5882  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5883  //
  5884  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5885  //
  5886  // This file contains Original Code and/or Modifications of Original Code
  5887  // as defined in and that are subject to the Apple Public Source License
  5888  // Version 2.0 (the 'License'). You may not use this file except in
  5889  // compliance with the License. The rights granted to you under the License
  5890  // may not be used to create, or enable the creation or redistribution of,
  5891  // unlawful or unlicensed copies of an Apple operating system, or to
  5892  // circumvent, violate, or enable the circumvention or violation of, any
  5893  // terms of an Apple operating system software license agreement.
  5894  //
  5895  // Please obtain a copy of the License at
  5896  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5897  //
  5898  // The Original Code and all software distributed under the License are
  5899  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5900  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5901  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5902  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5903  // Please see the License for the specific language governing rights and
  5904  // limitations under the License.
  5905  //
  5906  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5907  type Errno_t = int32 /* _errno_t.h:30:32 */
  5908  
  5909  // This code is present here in order to maintain historical backward
  5910  // compatability, and is intended to be removed at some point in the
  5911  // future; please include <sys/select.h> instead.
  5912  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  5913  //
  5914  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5915  //
  5916  // This file contains Original Code and/or Modifications of Original Code
  5917  // as defined in and that are subject to the Apple Public Source License
  5918  // Version 2.0 (the 'License'). You may not use this file except in
  5919  // compliance with the License. The rights granted to you under the License
  5920  // may not be used to create, or enable the creation or redistribution of,
  5921  // unlawful or unlicensed copies of an Apple operating system, or to
  5922  // circumvent, violate, or enable the circumvention or violation of, any
  5923  // terms of an Apple operating system software license agreement.
  5924  //
  5925  // Please obtain a copy of the License at
  5926  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5927  //
  5928  // The Original Code and all software distributed under the License are
  5929  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5930  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5931  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5932  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5933  // Please see the License for the specific language governing rights and
  5934  // limitations under the License.
  5935  //
  5936  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5937  
  5938  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  5939  //
  5940  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  5941  //
  5942  // This file contains Original Code and/or Modifications of Original Code
  5943  // as defined in and that are subject to the Apple Public Source License
  5944  // Version 2.0 (the 'License'). You may not use this file except in
  5945  // compliance with the License. The rights granted to you under the License
  5946  // may not be used to create, or enable the creation or redistribution of,
  5947  // unlawful or unlicensed copies of an Apple operating system, or to
  5948  // circumvent, violate, or enable the circumvention or violation of, any
  5949  // terms of an Apple operating system software license agreement.
  5950  //
  5951  // Please obtain a copy of the License at
  5952  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  5953  //
  5954  // The Original Code and all software distributed under the License are
  5955  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5956  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5957  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5958  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5959  // Please see the License for the specific language governing rights and
  5960  // limitations under the License.
  5961  //
  5962  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  5963  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  5964  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  5965  //
  5966  // @APPLE_LICENSE_HEADER_START@
  5967  //
  5968  // This file contains Original Code and/or Modifications of Original Code
  5969  // as defined in and that are subject to the Apple Public Source License
  5970  // Version 2.0 (the 'License'). You may not use this file except in
  5971  // compliance with the License. Please obtain a copy of the License at
  5972  // http://www.opensource.apple.com/apsl/ and read it before using this
  5973  // file.
  5974  //
  5975  // The Original Code and all software distributed under the License are
  5976  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  5977  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  5978  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  5979  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  5980  // Please see the License for the specific language governing rights and
  5981  // limitations under the License.
  5982  //
  5983  // @APPLE_LICENSE_HEADER_END@
  5984  
  5985  //
  5986  //     These macros are for use in OS header files. They enable function prototypes
  5987  //     and Objective-C methods to be tagged with the OS version in which they
  5988  //     were first available; and, if applicable, the OS version in which they
  5989  //     became deprecated.
  5990  //
  5991  //     The desktop Mac OS X and iOS each have different version numbers.
  5992  //     The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop
  5993  //     and iOS version numbers.  For instance:
  5994  //         __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0)
  5995  //     means the function/method was first available on Mac OS X 10.2 on the desktop
  5996  //     and first available in iOS 2.0 on the iPhone.
  5997  //
  5998  //     If a function is available on one platform, but not the other a _NA (not
  5999  //     applicable) parameter is used.  For instance:
  6000  //             __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA)
  6001  //     means that the function/method was first available on Mac OS X 10.3, and it
  6002  //     currently not implemented on the iPhone.
  6003  //
  6004  //     At some point, a function/method may be deprecated.  That means Apple
  6005  //     recommends applications stop using the function, either because there is a
  6006  //     better replacement or the functionality is being phased out.  Deprecated
  6007  //     functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED()
  6008  //     macro which specifies the OS version where the function became available
  6009  //     as well as the OS version in which it became deprecated.  For instance:
  6010  //         __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA)
  6011  //     means that the function/method was introduced in Mac OS X 10.0, then
  6012  //     became deprecated beginning in Mac OS X 10.5.  On iOS the function
  6013  //     has never been available.
  6014  //
  6015  //     For these macros to function properly, a program must specify the OS version range
  6016  //     it is targeting.  The min OS version is specified as an option to the compiler:
  6017  //     -mmacosx-version-min=10.x when building for Mac OS X, and -miphoneos-version-min=y.z
  6018  //     when building for the iPhone.  The upper bound for the OS version is rarely needed,
  6019  //     but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10x0 for
  6020  //     Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = y0z00 for iOS.
  6021  //
  6022  //     Examples:
  6023  //
  6024  //         A function available in Mac OS X 10.5 and later, but not on the phone:
  6025  //
  6026  //             extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
  6027  //
  6028  //
  6029  //         An Objective-C method in Mac OS X 10.5 and later, but not on the phone:
  6030  //
  6031  //             @interface MyClass : NSObject
  6032  //             -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
  6033  //             @end
  6034  //
  6035  //
  6036  //         An enum available on the phone, but not available on Mac OS X:
  6037  //
  6038  //             #if __IPHONE_OS_VERSION_MIN_REQUIRED
  6039  //                 enum { myEnum = 1 };
  6040  //             #endif
  6041  //            Note: this works when targeting the Mac OS X platform because
  6042  //            __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero.
  6043  //
  6044  //
  6045  //         An enum with values added in different iPhoneOS versions:
  6046  //
  6047  // 			enum {
  6048  // 			    myX  = 1,	// Usable on iPhoneOS 2.1 and later
  6049  // 			    myY  = 2,	// Usable on iPhoneOS 3.0 and later
  6050  // 			    myZ  = 3,	// Usable on iPhoneOS 3.0 and later
  6051  // 				...
  6052  // 		      Note: you do not want to use #if with enumeration values
  6053  // 			  when a client needs to see all values at compile time
  6054  // 			  and use runtime logic to only use the viable values.
  6055  //
  6056  //
  6057  //     It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one
  6058  //     source base that can be compiled to target a range of OS versions.  It is best
  6059  //     to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values.
  6060  //     That is because you might get compiled on an old OS that does not define a later
  6061  //     OS version macro, and in the C preprocessor undefined values evaluate to zero
  6062  //     in expresssions, which could cause the #if expression to evaluate in an unexpected
  6063  //     way.
  6064  //
  6065  //         #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
  6066  //             // code only compiled when targeting Mac OS X and not iPhone
  6067  //             // note use of 1050 instead of __MAC_10_5
  6068  //             #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
  6069  //                 // code in here might run on pre-Leopard OS
  6070  //             #else
  6071  //                 // code here can assume Leopard or later
  6072  //             #endif
  6073  //         #endif
  6074  //
  6075  //
  6076  
  6077  // __API_TO_BE_DEPRECATED is used as a version number in API that will be deprecated
  6078  // in an upcoming release. This soft deprecation is an intermediate step before formal
  6079  // deprecation to notify developers about the API before compiler warnings are generated.
  6080  // You can find all places in your code that use soft deprecated API by redefining the
  6081  // value of this macro to your current minimum deployment target, for example:
  6082  // (macOS)
  6083  //   clang -D__API_TO_BE_DEPRECATED=10.12 <other compiler flags>
  6084  // (iOS)
  6085  //   clang -D__API_TO_BE_DEPRECATED=11.0 <other compiler flags>
  6086  
  6087  // Copyright (c) 2019 by Apple Inc.. All rights reserved.
  6088  //
  6089  // @APPLE_LICENSE_HEADER_START@
  6090  //
  6091  // This file contains Original Code and/or Modifications of Original Code
  6092  // as defined in and that are subject to the Apple Public Source License
  6093  // Version 2.0 (the 'License'). You may not use this file except in
  6094  // compliance with the License. Please obtain a copy of the License at
  6095  // http://www.opensource.apple.com/apsl/ and read it before using this
  6096  // file.
  6097  //
  6098  // The Original Code and all software distributed under the License are
  6099  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6100  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6101  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6102  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6103  // Please see the License for the specific language governing rights and
  6104  // limitations under the License.
  6105  //
  6106  // @APPLE_LICENSE_HEADER_END@
  6107  
  6108  // __MAC_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable
  6109  
  6110  // __IPHONE_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable
  6111  
  6112  // Set up standard Mac OS X versions
  6113  
  6114  //  DO NOT EDIT THIS FILE.
  6115  //
  6116  //     It has been auto-edited by fixincludes from:
  6117  //
  6118  // 	"/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/usr/include/AvailabilityInternal.h"
  6119  //
  6120  //     This had to be done to correct non-standard usages in the
  6121  //     original, manufacturer supplied header file.
  6122  
  6123  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  6124  //
  6125  // @APPLE_LICENSE_HEADER_START@
  6126  //
  6127  // This file contains Original Code and/or Modifications of Original Code
  6128  // as defined in and that are subject to the Apple Public Source License
  6129  // Version 2.0 (the 'License'). You may not use this file except in
  6130  // compliance with the License. Please obtain a copy of the License at
  6131  // http://www.opensource.apple.com/apsl/ and read it before using this
  6132  // file.
  6133  //
  6134  // The Original Code and all software distributed under the License are
  6135  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6136  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6137  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6138  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6139  // Please see the License for the specific language governing rights and
  6140  // limitations under the License.
  6141  //
  6142  // @APPLE_LICENSE_HEADER_END@
  6143  
  6144  //
  6145  //     File:       AvailabilityInternal.h
  6146  //
  6147  //     Contains:   implementation details of __OSX_AVAILABLE_* macros from <Availability.h>
  6148  //
  6149  
  6150  // compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
  6151  
  6152  // make sure a default max version is set
  6153  
  6154  //
  6155  //  Macros for defining which versions/platform a given symbol can be used.
  6156  //
  6157  //  @see http://clang.llvm.org/docs/AttributeReference.html#availability
  6158  //
  6159  
  6160  // Evaluate to nothing for compilers that don't support availability.
  6161  
  6162  // Swift compiler version
  6163  // Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
  6164  // Example:
  6165  //
  6166  //  #if __swift_compiler_version_at_least(800, 2, 20)
  6167  //  - (nonnull NSString *)description;
  6168  //  #else
  6169  //  - (NSString *)description;
  6170  //  #endif
  6171  
  6172  // If __SPI_AVAILABLE has not been defined elsewhere, disable it.
  6173  
  6174  // for use to document app extension usage
  6175  
  6176  // for use marking APIs available info for Mac OSX
  6177  
  6178  // for use marking APIs available info for iOS
  6179  
  6180  // for use marking APIs available info for tvOS
  6181  
  6182  // for use marking APIs available info for Watch OS
  6183  
  6184  // for use marking APIs unavailable for swift
  6185  
  6186  //
  6187  //  Macros for defining which versions/platform a given symbol can be used.
  6188  //
  6189  //  @see http://clang.llvm.org/docs/AttributeReference.html#availability
  6190  //
  6191  //  * Note that these macros are only compatible with clang compilers that
  6192  //  * support the following target selection options:
  6193  //  *
  6194  //  * -mmacosx-version-min
  6195  //  * -miphoneos-version-min
  6196  //  * -mwatchos-version-min
  6197  //  * -mtvos-version-min
  6198  //
  6199  
  6200  // Evaluate to nothing for compilers that don't support availability.
  6201  
  6202  // If SPI decorations have not been defined elsewhere, disable them.
  6203  
  6204  // Select uses bit masks of file descriptors in longs.  These macros
  6205  // manipulate such bit fields (the filesystem macros use chars).  The
  6206  // extra protection here is to permit application redefinition above
  6207  // the default size.
  6208  
  6209  type Fd_set1 = struct{ Ffds_bits [32]X__int32_t } /* _fd_def.h:50:9 */
  6210  
  6211  // This code is present here in order to maintain historical backward
  6212  // compatability, and is intended to be removed at some point in the
  6213  // future; please include <sys/select.h> instead.
  6214  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6215  //
  6216  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6217  //
  6218  // This file contains Original Code and/or Modifications of Original Code
  6219  // as defined in and that are subject to the Apple Public Source License
  6220  // Version 2.0 (the 'License'). You may not use this file except in
  6221  // compliance with the License. The rights granted to you under the License
  6222  // may not be used to create, or enable the creation or redistribution of,
  6223  // unlawful or unlicensed copies of an Apple operating system, or to
  6224  // circumvent, violate, or enable the circumvention or violation of, any
  6225  // terms of an Apple operating system software license agreement.
  6226  //
  6227  // Please obtain a copy of the License at
  6228  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6229  //
  6230  // The Original Code and all software distributed under the License are
  6231  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6232  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6233  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6234  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6235  // Please see the License for the specific language governing rights and
  6236  // limitations under the License.
  6237  //
  6238  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6239  
  6240  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  6241  //
  6242  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6243  //
  6244  // This file contains Original Code and/or Modifications of Original Code
  6245  // as defined in and that are subject to the Apple Public Source License
  6246  // Version 2.0 (the 'License'). You may not use this file except in
  6247  // compliance with the License. The rights granted to you under the License
  6248  // may not be used to create, or enable the creation or redistribution of,
  6249  // unlawful or unlicensed copies of an Apple operating system, or to
  6250  // circumvent, violate, or enable the circumvention or violation of, any
  6251  // terms of an Apple operating system software license agreement.
  6252  //
  6253  // Please obtain a copy of the License at
  6254  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6255  //
  6256  // The Original Code and all software distributed under the License are
  6257  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6258  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6259  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6260  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6261  // Please see the License for the specific language governing rights and
  6262  // limitations under the License.
  6263  //
  6264  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6265  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  6266  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  6267  //
  6268  // @APPLE_LICENSE_HEADER_START@
  6269  //
  6270  // This file contains Original Code and/or Modifications of Original Code
  6271  // as defined in and that are subject to the Apple Public Source License
  6272  // Version 2.0 (the 'License'). You may not use this file except in
  6273  // compliance with the License. Please obtain a copy of the License at
  6274  // http://www.opensource.apple.com/apsl/ and read it before using this
  6275  // file.
  6276  //
  6277  // The Original Code and all software distributed under the License are
  6278  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6279  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6280  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6281  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6282  // Please see the License for the specific language governing rights and
  6283  // limitations under the License.
  6284  //
  6285  // @APPLE_LICENSE_HEADER_END@
  6286  
  6287  //
  6288  //     These macros are for use in OS header files. They enable function prototypes
  6289  //     and Objective-C methods to be tagged with the OS version in which they
  6290  //     were first available; and, if applicable, the OS version in which they
  6291  //     became deprecated.
  6292  //
  6293  //     The desktop Mac OS X and iOS each have different version numbers.
  6294  //     The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop
  6295  //     and iOS version numbers.  For instance:
  6296  //         __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0)
  6297  //     means the function/method was first available on Mac OS X 10.2 on the desktop
  6298  //     and first available in iOS 2.0 on the iPhone.
  6299  //
  6300  //     If a function is available on one platform, but not the other a _NA (not
  6301  //     applicable) parameter is used.  For instance:
  6302  //             __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA)
  6303  //     means that the function/method was first available on Mac OS X 10.3, and it
  6304  //     currently not implemented on the iPhone.
  6305  //
  6306  //     At some point, a function/method may be deprecated.  That means Apple
  6307  //     recommends applications stop using the function, either because there is a
  6308  //     better replacement or the functionality is being phased out.  Deprecated
  6309  //     functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED()
  6310  //     macro which specifies the OS version where the function became available
  6311  //     as well as the OS version in which it became deprecated.  For instance:
  6312  //         __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA)
  6313  //     means that the function/method was introduced in Mac OS X 10.0, then
  6314  //     became deprecated beginning in Mac OS X 10.5.  On iOS the function
  6315  //     has never been available.
  6316  //
  6317  //     For these macros to function properly, a program must specify the OS version range
  6318  //     it is targeting.  The min OS version is specified as an option to the compiler:
  6319  //     -mmacosx-version-min=10.x when building for Mac OS X, and -miphoneos-version-min=y.z
  6320  //     when building for the iPhone.  The upper bound for the OS version is rarely needed,
  6321  //     but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10x0 for
  6322  //     Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = y0z00 for iOS.
  6323  //
  6324  //     Examples:
  6325  //
  6326  //         A function available in Mac OS X 10.5 and later, but not on the phone:
  6327  //
  6328  //             extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
  6329  //
  6330  //
  6331  //         An Objective-C method in Mac OS X 10.5 and later, but not on the phone:
  6332  //
  6333  //             @interface MyClass : NSObject
  6334  //             -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
  6335  //             @end
  6336  //
  6337  //
  6338  //         An enum available on the phone, but not available on Mac OS X:
  6339  //
  6340  //             #if __IPHONE_OS_VERSION_MIN_REQUIRED
  6341  //                 enum { myEnum = 1 };
  6342  //             #endif
  6343  //            Note: this works when targeting the Mac OS X platform because
  6344  //            __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero.
  6345  //
  6346  //
  6347  //         An enum with values added in different iPhoneOS versions:
  6348  //
  6349  // 			enum {
  6350  // 			    myX  = 1,	// Usable on iPhoneOS 2.1 and later
  6351  // 			    myY  = 2,	// Usable on iPhoneOS 3.0 and later
  6352  // 			    myZ  = 3,	// Usable on iPhoneOS 3.0 and later
  6353  // 				...
  6354  // 		      Note: you do not want to use #if with enumeration values
  6355  // 			  when a client needs to see all values at compile time
  6356  // 			  and use runtime logic to only use the viable values.
  6357  //
  6358  //
  6359  //     It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one
  6360  //     source base that can be compiled to target a range of OS versions.  It is best
  6361  //     to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values.
  6362  //     That is because you might get compiled on an old OS that does not define a later
  6363  //     OS version macro, and in the C preprocessor undefined values evaluate to zero
  6364  //     in expresssions, which could cause the #if expression to evaluate in an unexpected
  6365  //     way.
  6366  //
  6367  //         #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
  6368  //             // code only compiled when targeting Mac OS X and not iPhone
  6369  //             // note use of 1050 instead of __MAC_10_5
  6370  //             #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
  6371  //                 // code in here might run on pre-Leopard OS
  6372  //             #else
  6373  //                 // code here can assume Leopard or later
  6374  //             #endif
  6375  //         #endif
  6376  //
  6377  //
  6378  
  6379  // __API_TO_BE_DEPRECATED is used as a version number in API that will be deprecated
  6380  // in an upcoming release. This soft deprecation is an intermediate step before formal
  6381  // deprecation to notify developers about the API before compiler warnings are generated.
  6382  // You can find all places in your code that use soft deprecated API by redefining the
  6383  // value of this macro to your current minimum deployment target, for example:
  6384  // (macOS)
  6385  //   clang -D__API_TO_BE_DEPRECATED=10.12 <other compiler flags>
  6386  // (iOS)
  6387  //   clang -D__API_TO_BE_DEPRECATED=11.0 <other compiler flags>
  6388  
  6389  // Copyright (c) 2019 by Apple Inc.. All rights reserved.
  6390  //
  6391  // @APPLE_LICENSE_HEADER_START@
  6392  //
  6393  // This file contains Original Code and/or Modifications of Original Code
  6394  // as defined in and that are subject to the Apple Public Source License
  6395  // Version 2.0 (the 'License'). You may not use this file except in
  6396  // compliance with the License. Please obtain a copy of the License at
  6397  // http://www.opensource.apple.com/apsl/ and read it before using this
  6398  // file.
  6399  //
  6400  // The Original Code and all software distributed under the License are
  6401  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6402  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6403  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6404  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6405  // Please see the License for the specific language governing rights and
  6406  // limitations under the License.
  6407  //
  6408  // @APPLE_LICENSE_HEADER_END@
  6409  
  6410  // __MAC_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable
  6411  
  6412  // __IPHONE_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable
  6413  
  6414  // Set up standard Mac OS X versions
  6415  
  6416  //  DO NOT EDIT THIS FILE.
  6417  //
  6418  //     It has been auto-edited by fixincludes from:
  6419  //
  6420  // 	"/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/usr/include/AvailabilityInternal.h"
  6421  //
  6422  //     This had to be done to correct non-standard usages in the
  6423  //     original, manufacturer supplied header file.
  6424  
  6425  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  6426  //
  6427  // @APPLE_LICENSE_HEADER_START@
  6428  //
  6429  // This file contains Original Code and/or Modifications of Original Code
  6430  // as defined in and that are subject to the Apple Public Source License
  6431  // Version 2.0 (the 'License'). You may not use this file except in
  6432  // compliance with the License. Please obtain a copy of the License at
  6433  // http://www.opensource.apple.com/apsl/ and read it before using this
  6434  // file.
  6435  //
  6436  // The Original Code and all software distributed under the License are
  6437  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6438  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6439  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6440  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6441  // Please see the License for the specific language governing rights and
  6442  // limitations under the License.
  6443  //
  6444  // @APPLE_LICENSE_HEADER_END@
  6445  
  6446  //
  6447  //     File:       AvailabilityInternal.h
  6448  //
  6449  //     Contains:   implementation details of __OSX_AVAILABLE_* macros from <Availability.h>
  6450  //
  6451  
  6452  // compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
  6453  
  6454  // make sure a default max version is set
  6455  
  6456  //
  6457  //  Macros for defining which versions/platform a given symbol can be used.
  6458  //
  6459  //  @see http://clang.llvm.org/docs/AttributeReference.html#availability
  6460  //
  6461  
  6462  // Evaluate to nothing for compilers that don't support availability.
  6463  
  6464  // Swift compiler version
  6465  // Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
  6466  // Example:
  6467  //
  6468  //  #if __swift_compiler_version_at_least(800, 2, 20)
  6469  //  - (nonnull NSString *)description;
  6470  //  #else
  6471  //  - (NSString *)description;
  6472  //  #endif
  6473  
  6474  // If __SPI_AVAILABLE has not been defined elsewhere, disable it.
  6475  
  6476  // for use to document app extension usage
  6477  
  6478  // for use marking APIs available info for Mac OSX
  6479  
  6480  // for use marking APIs available info for iOS
  6481  
  6482  // for use marking APIs available info for tvOS
  6483  
  6484  // for use marking APIs available info for Watch OS
  6485  
  6486  // for use marking APIs unavailable for swift
  6487  
  6488  //
  6489  //  Macros for defining which versions/platform a given symbol can be used.
  6490  //
  6491  //  @see http://clang.llvm.org/docs/AttributeReference.html#availability
  6492  //
  6493  //  * Note that these macros are only compatible with clang compilers that
  6494  //  * support the following target selection options:
  6495  //  *
  6496  //  * -mmacosx-version-min
  6497  //  * -miphoneos-version-min
  6498  //  * -mwatchos-version-min
  6499  //  * -mtvos-version-min
  6500  //
  6501  
  6502  // Evaluate to nothing for compilers that don't support availability.
  6503  
  6504  // If SPI decorations have not been defined elsewhere, disable them.
  6505  
  6506  // Select uses bit masks of file descriptors in longs.  These macros
  6507  // manipulate such bit fields (the filesystem macros use chars).  The
  6508  // extra protection here is to permit application redefinition above
  6509  // the default size.
  6510  
  6511  type Fd_set = Fd_set1 /* _fd_def.h:52:3 */
  6512  
  6513  // Use the built-in bzero function instead of the library version so that
  6514  // we do not pollute the namespace or introduce prototype warnings.
  6515  
  6516  type Fd_mask = X__int32_t /* types.h:189:25 */
  6517  
  6518  // Select uses bit masks of file descriptors in longs.  These macros
  6519  // manipulate such bit fields (the filesystem macros use chars).  The
  6520  // extra protection here is to permit application redefinition above
  6521  // the default size.
  6522  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6523  //
  6524  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6525  //
  6526  // This file contains Original Code and/or Modifications of Original Code
  6527  // as defined in and that are subject to the Apple Public Source License
  6528  // Version 2.0 (the 'License'). You may not use this file except in
  6529  // compliance with the License. The rights granted to you under the License
  6530  // may not be used to create, or enable the creation or redistribution of,
  6531  // unlawful or unlicensed copies of an Apple operating system, or to
  6532  // circumvent, violate, or enable the circumvention or violation of, any
  6533  // terms of an Apple operating system software license agreement.
  6534  //
  6535  // Please obtain a copy of the License at
  6536  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6537  //
  6538  // The Original Code and all software distributed under the License are
  6539  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6540  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6541  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6542  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6543  // Please see the License for the specific language governing rights and
  6544  // limitations under the License.
  6545  //
  6546  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6547  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6548  //
  6549  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6550  //
  6551  // This file contains Original Code and/or Modifications of Original Code
  6552  // as defined in and that are subject to the Apple Public Source License
  6553  // Version 2.0 (the 'License'). You may not use this file except in
  6554  // compliance with the License. The rights granted to you under the License
  6555  // may not be used to create, or enable the creation or redistribution of,
  6556  // unlawful or unlicensed copies of an Apple operating system, or to
  6557  // circumvent, violate, or enable the circumvention or violation of, any
  6558  // terms of an Apple operating system software license agreement.
  6559  //
  6560  // Please obtain a copy of the License at
  6561  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6562  //
  6563  // The Original Code and all software distributed under the License are
  6564  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6565  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6566  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6567  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6568  // Please see the License for the specific language governing rights and
  6569  // limitations under the License.
  6570  //
  6571  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6572  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6573  //
  6574  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6575  //
  6576  // This file contains Original Code and/or Modifications of Original Code
  6577  // as defined in and that are subject to the Apple Public Source License
  6578  // Version 2.0 (the 'License'). You may not use this file except in
  6579  // compliance with the License. The rights granted to you under the License
  6580  // may not be used to create, or enable the creation or redistribution of,
  6581  // unlawful or unlicensed copies of an Apple operating system, or to
  6582  // circumvent, violate, or enable the circumvention or violation of, any
  6583  // terms of an Apple operating system software license agreement.
  6584  //
  6585  // Please obtain a copy of the License at
  6586  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6587  //
  6588  // The Original Code and all software distributed under the License are
  6589  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6590  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6591  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6592  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6593  // Please see the License for the specific language governing rights and
  6594  // limitations under the License.
  6595  //
  6596  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6597  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6598  //
  6599  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6600  //
  6601  // This file contains Original Code and/or Modifications of Original Code
  6602  // as defined in and that are subject to the Apple Public Source License
  6603  // Version 2.0 (the 'License'). You may not use this file except in
  6604  // compliance with the License. The rights granted to you under the License
  6605  // may not be used to create, or enable the creation or redistribution of,
  6606  // unlawful or unlicensed copies of an Apple operating system, or to
  6607  // circumvent, violate, or enable the circumvention or violation of, any
  6608  // terms of an Apple operating system software license agreement.
  6609  //
  6610  // Please obtain a copy of the License at
  6611  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6612  //
  6613  // The Original Code and all software distributed under the License are
  6614  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6615  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6616  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6617  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6618  // Please see the License for the specific language governing rights and
  6619  // limitations under the License.
  6620  //
  6621  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6622  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6623  //
  6624  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6625  //
  6626  // This file contains Original Code and/or Modifications of Original Code
  6627  // as defined in and that are subject to the Apple Public Source License
  6628  // Version 2.0 (the 'License'). You may not use this file except in
  6629  // compliance with the License. The rights granted to you under the License
  6630  // may not be used to create, or enable the creation or redistribution of,
  6631  // unlawful or unlicensed copies of an Apple operating system, or to
  6632  // circumvent, violate, or enable the circumvention or violation of, any
  6633  // terms of an Apple operating system software license agreement.
  6634  //
  6635  // Please obtain a copy of the License at
  6636  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6637  //
  6638  // The Original Code and all software distributed under the License are
  6639  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6640  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6641  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6642  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6643  // Please see the License for the specific language governing rights and
  6644  // limitations under the License.
  6645  //
  6646  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6647  
  6648  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6649  //
  6650  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6651  //
  6652  // This file contains Original Code and/or Modifications of Original Code
  6653  // as defined in and that are subject to the Apple Public Source License
  6654  // Version 2.0 (the 'License'). You may not use this file except in
  6655  // compliance with the License. The rights granted to you under the License
  6656  // may not be used to create, or enable the creation or redistribution of,
  6657  // unlawful or unlicensed copies of an Apple operating system, or to
  6658  // circumvent, violate, or enable the circumvention or violation of, any
  6659  // terms of an Apple operating system software license agreement.
  6660  //
  6661  // Please obtain a copy of the License at
  6662  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6663  //
  6664  // The Original Code and all software distributed under the License are
  6665  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6666  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6667  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6668  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6669  // Please see the License for the specific language governing rights and
  6670  // limitations under the License.
  6671  //
  6672  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6673  
  6674  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6675  //
  6676  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6677  //
  6678  // This file contains Original Code and/or Modifications of Original Code
  6679  // as defined in and that are subject to the Apple Public Source License
  6680  // Version 2.0 (the 'License'). You may not use this file except in
  6681  // compliance with the License. The rights granted to you under the License
  6682  // may not be used to create, or enable the creation or redistribution of,
  6683  // unlawful or unlicensed copies of an Apple operating system, or to
  6684  // circumvent, violate, or enable the circumvention or violation of, any
  6685  // terms of an Apple operating system software license agreement.
  6686  //
  6687  // Please obtain a copy of the License at
  6688  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6689  //
  6690  // The Original Code and all software distributed under the License are
  6691  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6692  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6693  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6694  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6695  // Please see the License for the specific language governing rights and
  6696  // limitations under the License.
  6697  //
  6698  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6699  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  6700  //
  6701  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6702  //
  6703  // This file contains Original Code and/or Modifications of Original Code
  6704  // as defined in and that are subject to the Apple Public Source License
  6705  // Version 2.0 (the 'License'). You may not use this file except in
  6706  // compliance with the License. The rights granted to you under the License
  6707  // may not be used to create, or enable the creation or redistribution of,
  6708  // unlawful or unlicensed copies of an Apple operating system, or to
  6709  // circumvent, violate, or enable the circumvention or violation of, any
  6710  // terms of an Apple operating system software license agreement.
  6711  //
  6712  // Please obtain a copy of the License at
  6713  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6714  //
  6715  // The Original Code and all software distributed under the License are
  6716  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6717  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6718  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6719  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6720  // Please see the License for the specific language governing rights and
  6721  // limitations under the License.
  6722  //
  6723  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6724  
  6725  type Pthread_attr_t = X__darwin_pthread_attr_t /* _pthread_attr_t.h:31:33 */
  6726  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6727  //
  6728  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6729  //
  6730  // This file contains Original Code and/or Modifications of Original Code
  6731  // as defined in and that are subject to the Apple Public Source License
  6732  // Version 2.0 (the 'License'). You may not use this file except in
  6733  // compliance with the License. The rights granted to you under the License
  6734  // may not be used to create, or enable the creation or redistribution of,
  6735  // unlawful or unlicensed copies of an Apple operating system, or to
  6736  // circumvent, violate, or enable the circumvention or violation of, any
  6737  // terms of an Apple operating system software license agreement.
  6738  //
  6739  // Please obtain a copy of the License at
  6740  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6741  //
  6742  // The Original Code and all software distributed under the License are
  6743  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6744  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6745  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6746  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6747  // Please see the License for the specific language governing rights and
  6748  // limitations under the License.
  6749  //
  6750  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6751  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  6752  //
  6753  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6754  //
  6755  // This file contains Original Code and/or Modifications of Original Code
  6756  // as defined in and that are subject to the Apple Public Source License
  6757  // Version 2.0 (the 'License'). You may not use this file except in
  6758  // compliance with the License. The rights granted to you under the License
  6759  // may not be used to create, or enable the creation or redistribution of,
  6760  // unlawful or unlicensed copies of an Apple operating system, or to
  6761  // circumvent, violate, or enable the circumvention or violation of, any
  6762  // terms of an Apple operating system software license agreement.
  6763  //
  6764  // Please obtain a copy of the License at
  6765  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6766  //
  6767  // The Original Code and all software distributed under the License are
  6768  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6769  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6770  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6771  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6772  // Please see the License for the specific language governing rights and
  6773  // limitations under the License.
  6774  //
  6775  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6776  
  6777  type Pthread_cond_t = X__darwin_pthread_cond_t /* _pthread_cond_t.h:31:33 */
  6778  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6779  //
  6780  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6781  //
  6782  // This file contains Original Code and/or Modifications of Original Code
  6783  // as defined in and that are subject to the Apple Public Source License
  6784  // Version 2.0 (the 'License'). You may not use this file except in
  6785  // compliance with the License. The rights granted to you under the License
  6786  // may not be used to create, or enable the creation or redistribution of,
  6787  // unlawful or unlicensed copies of an Apple operating system, or to
  6788  // circumvent, violate, or enable the circumvention or violation of, any
  6789  // terms of an Apple operating system software license agreement.
  6790  //
  6791  // Please obtain a copy of the License at
  6792  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6793  //
  6794  // The Original Code and all software distributed under the License are
  6795  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6796  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6797  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6798  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6799  // Please see the License for the specific language governing rights and
  6800  // limitations under the License.
  6801  //
  6802  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6803  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  6804  //
  6805  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6806  //
  6807  // This file contains Original Code and/or Modifications of Original Code
  6808  // as defined in and that are subject to the Apple Public Source License
  6809  // Version 2.0 (the 'License'). You may not use this file except in
  6810  // compliance with the License. The rights granted to you under the License
  6811  // may not be used to create, or enable the creation or redistribution of,
  6812  // unlawful or unlicensed copies of an Apple operating system, or to
  6813  // circumvent, violate, or enable the circumvention or violation of, any
  6814  // terms of an Apple operating system software license agreement.
  6815  //
  6816  // Please obtain a copy of the License at
  6817  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6818  //
  6819  // The Original Code and all software distributed under the License are
  6820  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6821  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6822  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6823  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6824  // Please see the License for the specific language governing rights and
  6825  // limitations under the License.
  6826  //
  6827  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6828  
  6829  type Pthread_condattr_t = X__darwin_pthread_condattr_t /* _pthread_condattr_t.h:31:37 */
  6830  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6831  //
  6832  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6833  //
  6834  // This file contains Original Code and/or Modifications of Original Code
  6835  // as defined in and that are subject to the Apple Public Source License
  6836  // Version 2.0 (the 'License'). You may not use this file except in
  6837  // compliance with the License. The rights granted to you under the License
  6838  // may not be used to create, or enable the creation or redistribution of,
  6839  // unlawful or unlicensed copies of an Apple operating system, or to
  6840  // circumvent, violate, or enable the circumvention or violation of, any
  6841  // terms of an Apple operating system software license agreement.
  6842  //
  6843  // Please obtain a copy of the License at
  6844  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6845  //
  6846  // The Original Code and all software distributed under the License are
  6847  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6848  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6849  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6850  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6851  // Please see the License for the specific language governing rights and
  6852  // limitations under the License.
  6853  //
  6854  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6855  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  6856  //
  6857  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6858  //
  6859  // This file contains Original Code and/or Modifications of Original Code
  6860  // as defined in and that are subject to the Apple Public Source License
  6861  // Version 2.0 (the 'License'). You may not use this file except in
  6862  // compliance with the License. The rights granted to you under the License
  6863  // may not be used to create, or enable the creation or redistribution of,
  6864  // unlawful or unlicensed copies of an Apple operating system, or to
  6865  // circumvent, violate, or enable the circumvention or violation of, any
  6866  // terms of an Apple operating system software license agreement.
  6867  //
  6868  // Please obtain a copy of the License at
  6869  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6870  //
  6871  // The Original Code and all software distributed under the License are
  6872  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6873  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6874  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6875  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6876  // Please see the License for the specific language governing rights and
  6877  // limitations under the License.
  6878  //
  6879  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6880  
  6881  type Pthread_mutex_t = X__darwin_pthread_mutex_t /* _pthread_mutex_t.h:31:34 */
  6882  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6883  //
  6884  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6885  //
  6886  // This file contains Original Code and/or Modifications of Original Code
  6887  // as defined in and that are subject to the Apple Public Source License
  6888  // Version 2.0 (the 'License'). You may not use this file except in
  6889  // compliance with the License. The rights granted to you under the License
  6890  // may not be used to create, or enable the creation or redistribution of,
  6891  // unlawful or unlicensed copies of an Apple operating system, or to
  6892  // circumvent, violate, or enable the circumvention or violation of, any
  6893  // terms of an Apple operating system software license agreement.
  6894  //
  6895  // Please obtain a copy of the License at
  6896  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6897  //
  6898  // The Original Code and all software distributed under the License are
  6899  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6900  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6901  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6902  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6903  // Please see the License for the specific language governing rights and
  6904  // limitations under the License.
  6905  //
  6906  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6907  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  6908  //
  6909  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6910  //
  6911  // This file contains Original Code and/or Modifications of Original Code
  6912  // as defined in and that are subject to the Apple Public Source License
  6913  // Version 2.0 (the 'License'). You may not use this file except in
  6914  // compliance with the License. The rights granted to you under the License
  6915  // may not be used to create, or enable the creation or redistribution of,
  6916  // unlawful or unlicensed copies of an Apple operating system, or to
  6917  // circumvent, violate, or enable the circumvention or violation of, any
  6918  // terms of an Apple operating system software license agreement.
  6919  //
  6920  // Please obtain a copy of the License at
  6921  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6922  //
  6923  // The Original Code and all software distributed under the License are
  6924  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6925  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6926  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6927  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6928  // Please see the License for the specific language governing rights and
  6929  // limitations under the License.
  6930  //
  6931  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6932  
  6933  type Pthread_mutexattr_t = X__darwin_pthread_mutexattr_t /* _pthread_mutexattr_t.h:31:38 */
  6934  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6935  //
  6936  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6937  //
  6938  // This file contains Original Code and/or Modifications of Original Code
  6939  // as defined in and that are subject to the Apple Public Source License
  6940  // Version 2.0 (the 'License'). You may not use this file except in
  6941  // compliance with the License. The rights granted to you under the License
  6942  // may not be used to create, or enable the creation or redistribution of,
  6943  // unlawful or unlicensed copies of an Apple operating system, or to
  6944  // circumvent, violate, or enable the circumvention or violation of, any
  6945  // terms of an Apple operating system software license agreement.
  6946  //
  6947  // Please obtain a copy of the License at
  6948  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6949  //
  6950  // The Original Code and all software distributed under the License are
  6951  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6952  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6953  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6954  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6955  // Please see the License for the specific language governing rights and
  6956  // limitations under the License.
  6957  //
  6958  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6959  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  6960  //
  6961  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6962  //
  6963  // This file contains Original Code and/or Modifications of Original Code
  6964  // as defined in and that are subject to the Apple Public Source License
  6965  // Version 2.0 (the 'License'). You may not use this file except in
  6966  // compliance with the License. The rights granted to you under the License
  6967  // may not be used to create, or enable the creation or redistribution of,
  6968  // unlawful or unlicensed copies of an Apple operating system, or to
  6969  // circumvent, violate, or enable the circumvention or violation of, any
  6970  // terms of an Apple operating system software license agreement.
  6971  //
  6972  // Please obtain a copy of the License at
  6973  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  6974  //
  6975  // The Original Code and all software distributed under the License are
  6976  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6977  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6978  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6979  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6980  // Please see the License for the specific language governing rights and
  6981  // limitations under the License.
  6982  //
  6983  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6984  
  6985  type Pthread_once_t = X__darwin_pthread_once_t /* _pthread_once_t.h:31:33 */
  6986  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  6987  //
  6988  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6989  //
  6990  // This file contains Original Code and/or Modifications of Original Code
  6991  // as defined in and that are subject to the Apple Public Source License
  6992  // Version 2.0 (the 'License'). You may not use this file except in
  6993  // compliance with the License. The rights granted to you under the License
  6994  // may not be used to create, or enable the creation or redistribution of,
  6995  // unlawful or unlicensed copies of an Apple operating system, or to
  6996  // circumvent, violate, or enable the circumvention or violation of, any
  6997  // terms of an Apple operating system software license agreement.
  6998  //
  6999  // Please obtain a copy of the License at
  7000  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7001  //
  7002  // The Original Code and all software distributed under the License are
  7003  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7004  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7005  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7006  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7007  // Please see the License for the specific language governing rights and
  7008  // limitations under the License.
  7009  //
  7010  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7011  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  7012  //
  7013  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7014  //
  7015  // This file contains Original Code and/or Modifications of Original Code
  7016  // as defined in and that are subject to the Apple Public Source License
  7017  // Version 2.0 (the 'License'). You may not use this file except in
  7018  // compliance with the License. The rights granted to you under the License
  7019  // may not be used to create, or enable the creation or redistribution of,
  7020  // unlawful or unlicensed copies of an Apple operating system, or to
  7021  // circumvent, violate, or enable the circumvention or violation of, any
  7022  // terms of an Apple operating system software license agreement.
  7023  //
  7024  // Please obtain a copy of the License at
  7025  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7026  //
  7027  // The Original Code and all software distributed under the License are
  7028  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7029  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7030  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7031  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7032  // Please see the License for the specific language governing rights and
  7033  // limitations under the License.
  7034  //
  7035  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7036  
  7037  type Pthread_rwlock_t = X__darwin_pthread_rwlock_t /* _pthread_rwlock_t.h:31:35 */
  7038  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  7039  //
  7040  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7041  //
  7042  // This file contains Original Code and/or Modifications of Original Code
  7043  // as defined in and that are subject to the Apple Public Source License
  7044  // Version 2.0 (the 'License'). You may not use this file except in
  7045  // compliance with the License. The rights granted to you under the License
  7046  // may not be used to create, or enable the creation or redistribution of,
  7047  // unlawful or unlicensed copies of an Apple operating system, or to
  7048  // circumvent, violate, or enable the circumvention or violation of, any
  7049  // terms of an Apple operating system software license agreement.
  7050  //
  7051  // Please obtain a copy of the License at
  7052  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7053  //
  7054  // The Original Code and all software distributed under the License are
  7055  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7056  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7057  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7058  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7059  // Please see the License for the specific language governing rights and
  7060  // limitations under the License.
  7061  //
  7062  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7063  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  7064  //
  7065  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7066  //
  7067  // This file contains Original Code and/or Modifications of Original Code
  7068  // as defined in and that are subject to the Apple Public Source License
  7069  // Version 2.0 (the 'License'). You may not use this file except in
  7070  // compliance with the License. The rights granted to you under the License
  7071  // may not be used to create, or enable the creation or redistribution of,
  7072  // unlawful or unlicensed copies of an Apple operating system, or to
  7073  // circumvent, violate, or enable the circumvention or violation of, any
  7074  // terms of an Apple operating system software license agreement.
  7075  //
  7076  // Please obtain a copy of the License at
  7077  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7078  //
  7079  // The Original Code and all software distributed under the License are
  7080  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7081  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7082  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7083  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7084  // Please see the License for the specific language governing rights and
  7085  // limitations under the License.
  7086  //
  7087  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7088  
  7089  type Pthread_rwlockattr_t = X__darwin_pthread_rwlockattr_t /* _pthread_rwlockattr_t.h:31:39 */
  7090  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  7091  //
  7092  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7093  //
  7094  // This file contains Original Code and/or Modifications of Original Code
  7095  // as defined in and that are subject to the Apple Public Source License
  7096  // Version 2.0 (the 'License'). You may not use this file except in
  7097  // compliance with the License. The rights granted to you under the License
  7098  // may not be used to create, or enable the creation or redistribution of,
  7099  // unlawful or unlicensed copies of an Apple operating system, or to
  7100  // circumvent, violate, or enable the circumvention or violation of, any
  7101  // terms of an Apple operating system software license agreement.
  7102  //
  7103  // Please obtain a copy of the License at
  7104  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7105  //
  7106  // The Original Code and all software distributed under the License are
  7107  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7108  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7109  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7110  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7111  // Please see the License for the specific language governing rights and
  7112  // limitations under the License.
  7113  //
  7114  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7115  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  7116  //
  7117  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7118  //
  7119  // This file contains Original Code and/or Modifications of Original Code
  7120  // as defined in and that are subject to the Apple Public Source License
  7121  // Version 2.0 (the 'License'). You may not use this file except in
  7122  // compliance with the License. The rights granted to you under the License
  7123  // may not be used to create, or enable the creation or redistribution of,
  7124  // unlawful or unlicensed copies of an Apple operating system, or to
  7125  // circumvent, violate, or enable the circumvention or violation of, any
  7126  // terms of an Apple operating system software license agreement.
  7127  //
  7128  // Please obtain a copy of the License at
  7129  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7130  //
  7131  // The Original Code and all software distributed under the License are
  7132  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7133  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7134  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7135  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7136  // Please see the License for the specific language governing rights and
  7137  // limitations under the License.
  7138  //
  7139  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7140  
  7141  type Pthread_t = X__darwin_pthread_t /* _pthread_t.h:31:28 */
  7142  
  7143  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  7144  //
  7145  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7146  //
  7147  // This file contains Original Code and/or Modifications of Original Code
  7148  // as defined in and that are subject to the Apple Public Source License
  7149  // Version 2.0 (the 'License'). You may not use this file except in
  7150  // compliance with the License. The rights granted to you under the License
  7151  // may not be used to create, or enable the creation or redistribution of,
  7152  // unlawful or unlicensed copies of an Apple operating system, or to
  7153  // circumvent, violate, or enable the circumvention or violation of, any
  7154  // terms of an Apple operating system software license agreement.
  7155  //
  7156  // Please obtain a copy of the License at
  7157  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7158  //
  7159  // The Original Code and all software distributed under the License are
  7160  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7161  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7162  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7163  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7164  // Please see the License for the specific language governing rights and
  7165  // limitations under the License.
  7166  //
  7167  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7168  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  7169  //
  7170  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7171  //
  7172  // This file contains Original Code and/or Modifications of Original Code
  7173  // as defined in and that are subject to the Apple Public Source License
  7174  // Version 2.0 (the 'License'). You may not use this file except in
  7175  // compliance with the License. The rights granted to you under the License
  7176  // may not be used to create, or enable the creation or redistribution of,
  7177  // unlawful or unlicensed copies of an Apple operating system, or to
  7178  // circumvent, violate, or enable the circumvention or violation of, any
  7179  // terms of an Apple operating system software license agreement.
  7180  //
  7181  // Please obtain a copy of the License at
  7182  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7183  //
  7184  // The Original Code and all software distributed under the License are
  7185  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7186  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7187  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7188  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7189  // Please see the License for the specific language governing rights and
  7190  // limitations under the License.
  7191  //
  7192  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7193  
  7194  type Pthread_key_t = X__darwin_pthread_key_t /* _pthread_key_t.h:31:32 */
  7195  
  7196  // statvfs and fstatvfs
  7197  
  7198  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  7199  //
  7200  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7201  //
  7202  // This file contains Original Code and/or Modifications of Original Code
  7203  // as defined in and that are subject to the Apple Public Source License
  7204  // Version 2.0 (the 'License'). You may not use this file except in
  7205  // compliance with the License. The rights granted to you under the License
  7206  // may not be used to create, or enable the creation or redistribution of,
  7207  // unlawful or unlicensed copies of an Apple operating system, or to
  7208  // circumvent, violate, or enable the circumvention or violation of, any
  7209  // terms of an Apple operating system software license agreement.
  7210  //
  7211  // Please obtain a copy of the License at
  7212  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7213  //
  7214  // The Original Code and all software distributed under the License are
  7215  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7216  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7217  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7218  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7219  // Please see the License for the specific language governing rights and
  7220  // limitations under the License.
  7221  //
  7222  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7223  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  7224  //
  7225  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7226  //
  7227  // This file contains Original Code and/or Modifications of Original Code
  7228  // as defined in and that are subject to the Apple Public Source License
  7229  // Version 2.0 (the 'License'). You may not use this file except in
  7230  // compliance with the License. The rights granted to you under the License
  7231  // may not be used to create, or enable the creation or redistribution of,
  7232  // unlawful or unlicensed copies of an Apple operating system, or to
  7233  // circumvent, violate, or enable the circumvention or violation of, any
  7234  // terms of an Apple operating system software license agreement.
  7235  //
  7236  // Please obtain a copy of the License at
  7237  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7238  //
  7239  // The Original Code and all software distributed under the License are
  7240  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7241  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7242  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7243  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7244  // Please see the License for the specific language governing rights and
  7245  // limitations under the License.
  7246  //
  7247  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7248  
  7249  type Fsblkcnt_t = X__darwin_fsblkcnt_t /* _fsblkcnt_t.h:31:41 */
  7250  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  7251  //
  7252  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7253  //
  7254  // This file contains Original Code and/or Modifications of Original Code
  7255  // as defined in and that are subject to the Apple Public Source License
  7256  // Version 2.0 (the 'License'). You may not use this file except in
  7257  // compliance with the License. The rights granted to you under the License
  7258  // may not be used to create, or enable the creation or redistribution of,
  7259  // unlawful or unlicensed copies of an Apple operating system, or to
  7260  // circumvent, violate, or enable the circumvention or violation of, any
  7261  // terms of an Apple operating system software license agreement.
  7262  //
  7263  // Please obtain a copy of the License at
  7264  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7265  //
  7266  // The Original Code and all software distributed under the License are
  7267  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7268  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7269  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7270  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7271  // Please see the License for the specific language governing rights and
  7272  // limitations under the License.
  7273  //
  7274  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7275  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  7276  //
  7277  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7278  //
  7279  // This file contains Original Code and/or Modifications of Original Code
  7280  // as defined in and that are subject to the Apple Public Source License
  7281  // Version 2.0 (the 'License'). You may not use this file except in
  7282  // compliance with the License. The rights granted to you under the License
  7283  // may not be used to create, or enable the creation or redistribution of,
  7284  // unlawful or unlicensed copies of an Apple operating system, or to
  7285  // circumvent, violate, or enable the circumvention or violation of, any
  7286  // terms of an Apple operating system software license agreement.
  7287  //
  7288  // Please obtain a copy of the License at
  7289  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7290  //
  7291  // The Original Code and all software distributed under the License are
  7292  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7293  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7294  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7295  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7296  // Please see the License for the specific language governing rights and
  7297  // limitations under the License.
  7298  //
  7299  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7300  
  7301  type Fsfilcnt_t = X__darwin_fsfilcnt_t /* _fsfilcnt_t.h:31:41 */
  7302  
  7303  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
  7304  //
  7305  // This file is part of GCC.
  7306  //
  7307  // GCC is free software; you can redistribute it and/or modify
  7308  // it under the terms of the GNU General Public License as published by
  7309  // the Free Software Foundation; either version 3, or (at your option)
  7310  // any later version.
  7311  //
  7312  // GCC is distributed in the hope that it will be useful,
  7313  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  7314  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  7315  // GNU General Public License for more details.
  7316  //
  7317  // Under Section 7 of GPL version 3, you are granted additional
  7318  // permissions described in the GCC Runtime Library Exception, version
  7319  // 3.1, as published by the Free Software Foundation.
  7320  //
  7321  // You should have received a copy of the GNU General Public License and
  7322  // a copy of the GCC Runtime Library Exception along with this program;
  7323  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  7324  // <http://www.gnu.org/licenses/>.
  7325  
  7326  // ISO C Standard:  7.15  Variable arguments  <stdarg.h>
  7327  
  7328  // Define __gnuc_va_list.
  7329  
  7330  type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
  7331  
  7332  // Define the standard macros for the user,
  7333  //    if this invocation was from the user program.
  7334  
  7335  // Define va_list, if desired, from __gnuc_va_list.
  7336  // We deliberately do not define va_list when called from
  7337  //    stdio.h, because ANSI C says that stdio.h is not supposed to define
  7338  //    va_list.  stdio.h needs to have access to that data type,
  7339  //    but must not use that name.  It should use the name __gnuc_va_list,
  7340  //    which is safe because it is reserved for the implementation.
  7341  
  7342  // The macro _VA_LIST_ is the same thing used by this file in Ultrix.
  7343  //    But on BSD NET2 we must not test or define or undef it.
  7344  //    (Note that the comments in NET 2's ansi.h
  7345  //    are incorrect for _VA_LIST_--see stdio.h!)
  7346  // The macro _VA_LIST_DEFINED is used in Windows NT 3.5
  7347  // The macro _VA_LIST is used in SCO Unix 3.2.
  7348  // The macro _VA_LIST_T_H is used in the Bull dpx2
  7349  // The macro __va_list__ is used by BeOS.
  7350  type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */
  7351  
  7352  // a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
  7353  // "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
  7354  // though the former does not conform to the LFS document), but considering
  7355  // both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
  7356  // equivalently requesting no 64-bit operations
  7357  
  7358  // Copyright (c) 2000, 2002-2006, 2008-2010, 2012 Apple Inc. All rights reserved.
  7359  //
  7360  // @APPLE_LICENSE_HEADER_START@
  7361  //
  7362  // This file contains Original Code and/or Modifications of Original Code
  7363  // as defined in and that are subject to the Apple Public Source License
  7364  // Version 2.0 (the 'License'). You may not use this file except in
  7365  // compliance with the License. Please obtain a copy of the License at
  7366  // http://www.opensource.apple.com/apsl/ and read it before using this
  7367  // file.
  7368  //
  7369  // The Original Code and all software distributed under the License are
  7370  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7371  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7372  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7373  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7374  // Please see the License for the specific language governing rights and
  7375  // limitations under the License.
  7376  //
  7377  // @APPLE_LICENSE_HEADER_END@
  7378  // -
  7379  // Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved
  7380  // Copyright (c) 1991, 1993, 1994
  7381  //	The Regents of the University of California.  All rights reserved.
  7382  //
  7383  // Redistribution and use in source and binary forms, with or without
  7384  // modification, are permitted provided that the following conditions
  7385  // are met:
  7386  // 1. Redistributions of source code must retain the above copyright
  7387  //    notice, this list of conditions and the following disclaimer.
  7388  // 2. Redistributions in binary form must reproduce the above copyright
  7389  //    notice, this list of conditions and the following disclaimer in the
  7390  //    documentation and/or other materials provided with the distribution.
  7391  // 3. All advertising materials mentioning features or use of this software
  7392  //    must display the following acknowledgement:
  7393  //	This product includes software developed by the University of
  7394  //	California, Berkeley and its contributors.
  7395  // 4. Neither the name of the University nor the names of its contributors
  7396  //    may be used to endorse or promote products derived from this software
  7397  //    without specific prior written permission.
  7398  //
  7399  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  7400  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  7401  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  7402  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  7403  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  7404  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  7405  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  7406  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  7407  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  7408  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  7409  // SUCH DAMAGE.
  7410  //
  7411  //	@(#)unistd.h	8.12 (Berkeley) 4/27/95
  7412  //
  7413  //  Copyright (c)  1998 Apple Compter, Inc.
  7414  //  All Rights Reserved
  7415  
  7416  // History:
  7417  //         7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr
  7418  //         3/26/98 CHW at Apple added real interface to searchfs call
  7419  //   	3/5/98  CHW at Apple added hfs semantic system calls headers
  7420  
  7421  // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
  7422  //
  7423  // @APPLE_LICENSE_HEADER_START@
  7424  //
  7425  // This file contains Original Code and/or Modifications of Original Code
  7426  // as defined in and that are subject to the Apple Public Source License
  7427  // Version 2.0 (the 'License'). You may not use this file except in
  7428  // compliance with the License. Please obtain a copy of the License at
  7429  // http://www.opensource.apple.com/apsl/ and read it before using this
  7430  // file.
  7431  //
  7432  // The Original Code and all software distributed under the License are
  7433  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7434  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7435  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7436  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7437  // Please see the License for the specific language governing rights and
  7438  // limitations under the License.
  7439  //
  7440  // @APPLE_LICENSE_HEADER_END@
  7441  
  7442  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  7443  //
  7444  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7445  //
  7446  // This file contains Original Code and/or Modifications of Original Code
  7447  // as defined in and that are subject to the Apple Public Source License
  7448  // Version 2.0 (the 'License'). You may not use this file except in
  7449  // compliance with the License. The rights granted to you under the License
  7450  // may not be used to create, or enable the creation or redistribution of,
  7451  // unlawful or unlicensed copies of an Apple operating system, or to
  7452  // circumvent, violate, or enable the circumvention or violation of, any
  7453  // terms of an Apple operating system software license agreement.
  7454  //
  7455  // Please obtain a copy of the License at
  7456  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7457  //
  7458  // The Original Code and all software distributed under the License are
  7459  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7460  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7461  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7462  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7463  // Please see the License for the specific language governing rights and
  7464  // limitations under the License.
  7465  //
  7466  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7467  
  7468  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  7469  //
  7470  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7471  //
  7472  // This file contains Original Code and/or Modifications of Original Code
  7473  // as defined in and that are subject to the Apple Public Source License
  7474  // Version 2.0 (the 'License'). You may not use this file except in
  7475  // compliance with the License. The rights granted to you under the License
  7476  // may not be used to create, or enable the creation or redistribution of,
  7477  // unlawful or unlicensed copies of an Apple operating system, or to
  7478  // circumvent, violate, or enable the circumvention or violation of, any
  7479  // terms of an Apple operating system software license agreement.
  7480  //
  7481  // Please obtain a copy of the License at
  7482  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7483  //
  7484  // The Original Code and all software distributed under the License are
  7485  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7486  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7487  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7488  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7489  // Please see the License for the specific language governing rights and
  7490  // limitations under the License.
  7491  //
  7492  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7493  
  7494  type X__darwin_nl_item = int32        /* _types.h:40:14 */
  7495  type X__darwin_wctrans_t = int32      /* _types.h:41:14 */
  7496  type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
  7497  
  7498  // Copyright (c) 2000-2013 Apple Inc. All rights reserved.
  7499  //
  7500  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7501  //
  7502  // This file contains Original Code and/or Modifications of Original Code
  7503  // as defined in and that are subject to the Apple Public Source License
  7504  // Version 2.0 (the 'License'). You may not use this file except in
  7505  // compliance with the License. The rights granted to you under the License
  7506  // may not be used to create, or enable the creation or redistribution of,
  7507  // unlawful or unlicensed copies of an Apple operating system, or to
  7508  // circumvent, violate, or enable the circumvention or violation of, any
  7509  // terms of an Apple operating system software license agreement.
  7510  //
  7511  // Please obtain a copy of the License at
  7512  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7513  //
  7514  // The Original Code and all software distributed under the License are
  7515  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7516  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7517  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7518  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7519  // Please see the License for the specific language governing rights and
  7520  // limitations under the License.
  7521  //
  7522  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7523  // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
  7524  // Copyright (c) 1989, 1993
  7525  //	The Regents of the University of California.  All rights reserved.
  7526  //
  7527  // Redistribution and use in source and binary forms, with or without
  7528  // modification, are permitted provided that the following conditions
  7529  // are met:
  7530  // 1. Redistributions of source code must retain the above copyright
  7531  //    notice, this list of conditions and the following disclaimer.
  7532  // 2. Redistributions in binary form must reproduce the above copyright
  7533  //    notice, this list of conditions and the following disclaimer in the
  7534  //    documentation and/or other materials provided with the distribution.
  7535  // 3. All advertising materials mentioning features or use of this software
  7536  //    must display the following acknowledgement:
  7537  //	This product includes software developed by the University of
  7538  //	California, Berkeley and its contributors.
  7539  // 4. Neither the name of the University nor the names of its contributors
  7540  //    may be used to endorse or promote products derived from this software
  7541  //    without specific prior written permission.
  7542  //
  7543  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  7544  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  7545  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  7546  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  7547  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  7548  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  7549  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  7550  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  7551  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  7552  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  7553  // SUCH DAMAGE.
  7554  //
  7555  //	@(#)unistd.h	8.2 (Berkeley) 1/7/94
  7556  
  7557  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  7558  //
  7559  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7560  //
  7561  // This file contains Original Code and/or Modifications of Original Code
  7562  // as defined in and that are subject to the Apple Public Source License
  7563  // Version 2.0 (the 'License'). You may not use this file except in
  7564  // compliance with the License. The rights granted to you under the License
  7565  // may not be used to create, or enable the creation or redistribution of,
  7566  // unlawful or unlicensed copies of an Apple operating system, or to
  7567  // circumvent, violate, or enable the circumvention or violation of, any
  7568  // terms of an Apple operating system software license agreement.
  7569  //
  7570  // Please obtain a copy of the License at
  7571  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7572  //
  7573  // The Original Code and all software distributed under the License are
  7574  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7575  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7576  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7577  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7578  // Please see the License for the specific language governing rights and
  7579  // limitations under the License.
  7580  //
  7581  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7582  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  7583  // Copyright (c) 1991, 1993
  7584  //	The Regents of the University of California.  All rights reserved.
  7585  //
  7586  // This code is derived from software contributed to Berkeley by
  7587  // Berkeley Software Design, Inc.
  7588  //
  7589  // Redistribution and use in source and binary forms, with or without
  7590  // modification, are permitted provided that the following conditions
  7591  // are met:
  7592  // 1. Redistributions of source code must retain the above copyright
  7593  //    notice, this list of conditions and the following disclaimer.
  7594  // 2. Redistributions in binary form must reproduce the above copyright
  7595  //    notice, this list of conditions and the following disclaimer in the
  7596  //    documentation and/or other materials provided with the distribution.
  7597  // 3. All advertising materials mentioning features or use of this software
  7598  //    must display the following acknowledgement:
  7599  //	This product includes software developed by the University of
  7600  //	California, Berkeley and its contributors.
  7601  // 4. Neither the name of the University nor the names of its contributors
  7602  //    may be used to endorse or promote products derived from this software
  7603  //    without specific prior written permission.
  7604  //
  7605  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  7606  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  7607  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  7608  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  7609  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  7610  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  7611  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  7612  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  7613  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  7614  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  7615  // SUCH DAMAGE.
  7616  //
  7617  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  7618  
  7619  // Although we have saved user/group IDs, we do not use them in setuid
  7620  // as described in POSIX 1003.1, because the feature does not work for
  7621  // root.  We use the saved IDs in seteuid/setegid, which are not currently
  7622  // part of the POSIX 1003.1 specification.
  7623  
  7624  // execution-time symbolic constants
  7625  // may disable terminal special characters
  7626  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  7627  //
  7628  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7629  //
  7630  // This file contains Original Code and/or Modifications of Original Code
  7631  // as defined in and that are subject to the Apple Public Source License
  7632  // Version 2.0 (the 'License'). You may not use this file except in
  7633  // compliance with the License. The rights granted to you under the License
  7634  // may not be used to create, or enable the creation or redistribution of,
  7635  // unlawful or unlicensed copies of an Apple operating system, or to
  7636  // circumvent, violate, or enable the circumvention or violation of, any
  7637  // terms of an Apple operating system software license agreement.
  7638  //
  7639  // Please obtain a copy of the License at
  7640  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7641  //
  7642  // The Original Code and all software distributed under the License are
  7643  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7644  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7645  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7646  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7647  // Please see the License for the specific language governing rights and
  7648  // limitations under the License.
  7649  //
  7650  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7651  
  7652  // access function
  7653  
  7654  // Extended access functions.
  7655  // Note that we depend on these matching the definitions in sys/kauth.h,
  7656  // but with the bits shifted left by 8.
  7657  
  7658  // whence values for lseek(2)
  7659  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  7660  //
  7661  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7662  //
  7663  // This file contains Original Code and/or Modifications of Original Code
  7664  // as defined in and that are subject to the Apple Public Source License
  7665  // Version 2.0 (the 'License'). You may not use this file except in
  7666  // compliance with the License. The rights granted to you under the License
  7667  // may not be used to create, or enable the creation or redistribution of,
  7668  // unlawful or unlicensed copies of an Apple operating system, or to
  7669  // circumvent, violate, or enable the circumvention or violation of, any
  7670  // terms of an Apple operating system software license agreement.
  7671  //
  7672  // Please obtain a copy of the License at
  7673  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7674  //
  7675  // The Original Code and all software distributed under the License are
  7676  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7677  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7678  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7679  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7680  // Please see the License for the specific language governing rights and
  7681  // limitations under the License.
  7682  //
  7683  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7684  
  7685  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  7686  //
  7687  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7688  //
  7689  // This file contains Original Code and/or Modifications of Original Code
  7690  // as defined in and that are subject to the Apple Public Source License
  7691  // Version 2.0 (the 'License'). You may not use this file except in
  7692  // compliance with the License. The rights granted to you under the License
  7693  // may not be used to create, or enable the creation or redistribution of,
  7694  // unlawful or unlicensed copies of an Apple operating system, or to
  7695  // circumvent, violate, or enable the circumvention or violation of, any
  7696  // terms of an Apple operating system software license agreement.
  7697  //
  7698  // Please obtain a copy of the License at
  7699  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7700  //
  7701  // The Original Code and all software distributed under the License are
  7702  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7703  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7704  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7705  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7706  // Please see the License for the specific language governing rights and
  7707  // limitations under the License.
  7708  //
  7709  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7710  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  7711  // Copyright (c) 1991, 1993
  7712  //	The Regents of the University of California.  All rights reserved.
  7713  //
  7714  // This code is derived from software contributed to Berkeley by
  7715  // Berkeley Software Design, Inc.
  7716  //
  7717  // Redistribution and use in source and binary forms, with or without
  7718  // modification, are permitted provided that the following conditions
  7719  // are met:
  7720  // 1. Redistributions of source code must retain the above copyright
  7721  //    notice, this list of conditions and the following disclaimer.
  7722  // 2. Redistributions in binary form must reproduce the above copyright
  7723  //    notice, this list of conditions and the following disclaimer in the
  7724  //    documentation and/or other materials provided with the distribution.
  7725  // 3. All advertising materials mentioning features or use of this software
  7726  //    must display the following acknowledgement:
  7727  //	This product includes software developed by the University of
  7728  //	California, Berkeley and its contributors.
  7729  // 4. Neither the name of the University nor the names of its contributors
  7730  //    may be used to endorse or promote products derived from this software
  7731  //    without specific prior written permission.
  7732  //
  7733  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  7734  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  7735  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  7736  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  7737  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  7738  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  7739  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  7740  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  7741  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  7742  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  7743  // SUCH DAMAGE.
  7744  //
  7745  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  7746  
  7747  // whence values for lseek(2)
  7748  
  7749  // whence values for lseek(2); renamed by POSIX 1003.1
  7750  
  7751  type Accessx_descriptor = struct {
  7752  	Fad_name_offset uint32
  7753  	Fad_flags       int32
  7754  	Fad_pad         [2]int32
  7755  } /* unistd.h:132:1 */
  7756  
  7757  // Darwin extensions
  7758  
  7759  // Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  7760  //
  7761  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7762  //
  7763  // This file contains Original Code and/or Modifications of Original Code
  7764  // as defined in and that are subject to the Apple Public Source License
  7765  // Version 2.0 (the 'License'). You may not use this file except in
  7766  // compliance with the License. The rights granted to you under the License
  7767  // may not be used to create, or enable the creation or redistribution of,
  7768  // unlawful or unlicensed copies of an Apple operating system, or to
  7769  // circumvent, violate, or enable the circumvention or violation of, any
  7770  // terms of an Apple operating system software license agreement.
  7771  //
  7772  // Please obtain a copy of the License at
  7773  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7774  //
  7775  // The Original Code and all software distributed under the License are
  7776  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7777  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7778  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7779  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7780  // Please see the License for the specific language governing rights and
  7781  // limitations under the License.
  7782  //
  7783  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7784  // Copyright (c) 1992, 1993
  7785  //	The Regents of the University of California.  All rights reserved.
  7786  //
  7787  // Redistribution and use in source and binary forms, with or without
  7788  // modification, are permitted provided that the following conditions
  7789  // are met:
  7790  // 1. Redistributions of source code must retain the above copyright
  7791  //    notice, this list of conditions and the following disclaimer.
  7792  // 2. Redistributions in binary form must reproduce the above copyright
  7793  //    notice, this list of conditions and the following disclaimer in the
  7794  //    documentation and/or other materials provided with the distribution.
  7795  // 3. All advertising materials mentioning features or use of this software
  7796  //    must display the following acknowledgement:
  7797  //	This product includes software developed by the University of
  7798  //	California, Berkeley and its contributors.
  7799  // 4. Neither the name of the University nor the names of its contributors
  7800  //    may be used to endorse or promote products derived from this software
  7801  //    without specific prior written permission.
  7802  //
  7803  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  7804  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  7805  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  7806  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  7807  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  7808  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  7809  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  7810  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  7811  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  7812  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  7813  // SUCH DAMAGE.
  7814  //
  7815  //	@(#)select.h	8.2 (Berkeley) 1/4/94
  7816  
  7817  // Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
  7818  //
  7819  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7820  //
  7821  // This file contains Original Code and/or Modifications of Original Code
  7822  // as defined in and that are subject to the Apple Public Source License
  7823  // Version 2.0 (the 'License'). You may not use this file except in
  7824  // compliance with the License. The rights granted to you under the License
  7825  // may not be used to create, or enable the creation or redistribution of,
  7826  // unlawful or unlicensed copies of an Apple operating system, or to
  7827  // circumvent, violate, or enable the circumvention or violation of, any
  7828  // terms of an Apple operating system software license agreement.
  7829  //
  7830  // Please obtain a copy of the License at
  7831  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7832  //
  7833  // The Original Code and all software distributed under the License are
  7834  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7835  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7836  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7837  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7838  // Please see the License for the specific language governing rights and
  7839  // limitations under the License.
  7840  //
  7841  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7842  
  7843  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  7844  //
  7845  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7846  //
  7847  // This file contains Original Code and/or Modifications of Original Code
  7848  // as defined in and that are subject to the Apple Public Source License
  7849  // Version 2.0 (the 'License'). You may not use this file except in
  7850  // compliance with the License. The rights granted to you under the License
  7851  // may not be used to create, or enable the creation or redistribution of,
  7852  // unlawful or unlicensed copies of an Apple operating system, or to
  7853  // circumvent, violate, or enable the circumvention or violation of, any
  7854  // terms of an Apple operating system software license agreement.
  7855  //
  7856  // Please obtain a copy of the License at
  7857  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7858  //
  7859  // The Original Code and all software distributed under the License are
  7860  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7861  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7862  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7863  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7864  // Please see the License for the specific language governing rights and
  7865  // limitations under the License.
  7866  //
  7867  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7868  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  7869  // Copyright (c) 1991, 1993
  7870  //	The Regents of the University of California.  All rights reserved.
  7871  //
  7872  // This code is derived from software contributed to Berkeley by
  7873  // Berkeley Software Design, Inc.
  7874  //
  7875  // Redistribution and use in source and binary forms, with or without
  7876  // modification, are permitted provided that the following conditions
  7877  // are met:
  7878  // 1. Redistributions of source code must retain the above copyright
  7879  //    notice, this list of conditions and the following disclaimer.
  7880  // 2. Redistributions in binary form must reproduce the above copyright
  7881  //    notice, this list of conditions and the following disclaimer in the
  7882  //    documentation and/or other materials provided with the distribution.
  7883  // 3. All advertising materials mentioning features or use of this software
  7884  //    must display the following acknowledgement:
  7885  //	This product includes software developed by the University of
  7886  //	California, Berkeley and its contributors.
  7887  // 4. Neither the name of the University nor the names of its contributors
  7888  //    may be used to endorse or promote products derived from this software
  7889  //    without specific prior written permission.
  7890  //
  7891  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  7892  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  7893  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  7894  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  7895  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  7896  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  7897  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  7898  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  7899  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  7900  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  7901  // SUCH DAMAGE.
  7902  //
  7903  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  7904  
  7905  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  7906  //
  7907  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7908  //
  7909  // This file contains Original Code and/or Modifications of Original Code
  7910  // as defined in and that are subject to the Apple Public Source License
  7911  // Version 2.0 (the 'License'). You may not use this file except in
  7912  // compliance with the License. The rights granted to you under the License
  7913  // may not be used to create, or enable the creation or redistribution of,
  7914  // unlawful or unlicensed copies of an Apple operating system, or to
  7915  // circumvent, violate, or enable the circumvention or violation of, any
  7916  // terms of an Apple operating system software license agreement.
  7917  //
  7918  // Please obtain a copy of the License at
  7919  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7920  //
  7921  // The Original Code and all software distributed under the License are
  7922  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7923  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7924  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7925  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7926  // Please see the License for the specific language governing rights and
  7927  // limitations under the License.
  7928  //
  7929  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7930  
  7931  // [XSI] The <sys/select.h> header shall define the fd_set type as a structure.
  7932  // The timespec structure shall be defined as described in <time.h>
  7933  // The <sys/select.h> header shall define the timeval structure.
  7934  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  7935  //
  7936  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7937  //
  7938  // This file contains Original Code and/or Modifications of Original Code
  7939  // as defined in and that are subject to the Apple Public Source License
  7940  // Version 2.0 (the 'License'). You may not use this file except in
  7941  // compliance with the License. The rights granted to you under the License
  7942  // may not be used to create, or enable the creation or redistribution of,
  7943  // unlawful or unlicensed copies of an Apple operating system, or to
  7944  // circumvent, violate, or enable the circumvention or violation of, any
  7945  // terms of an Apple operating system software license agreement.
  7946  //
  7947  // Please obtain a copy of the License at
  7948  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7949  //
  7950  // The Original Code and all software distributed under the License are
  7951  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7952  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7953  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7954  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7955  // Please see the License for the specific language governing rights and
  7956  // limitations under the License.
  7957  //
  7958  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7959  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  7960  //
  7961  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7962  //
  7963  // This file contains Original Code and/or Modifications of Original Code
  7964  // as defined in and that are subject to the Apple Public Source License
  7965  // Version 2.0 (the 'License'). You may not use this file except in
  7966  // compliance with the License. The rights granted to you under the License
  7967  // may not be used to create, or enable the creation or redistribution of,
  7968  // unlawful or unlicensed copies of an Apple operating system, or to
  7969  // circumvent, violate, or enable the circumvention or violation of, any
  7970  // terms of an Apple operating system software license agreement.
  7971  //
  7972  // Please obtain a copy of the License at
  7973  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  7974  //
  7975  // The Original Code and all software distributed under the License are
  7976  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  7977  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  7978  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  7979  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  7980  // Please see the License for the specific language governing rights and
  7981  // limitations under the License.
  7982  //
  7983  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  7984  
  7985  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  7986  //
  7987  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  7988  //
  7989  // This file contains Original Code and/or Modifications of Original Code
  7990  // as defined in and that are subject to the Apple Public Source License
  7991  // Version 2.0 (the 'License'). You may not use this file except in
  7992  // compliance with the License. The rights granted to you under the License
  7993  // may not be used to create, or enable the creation or redistribution of,
  7994  // unlawful or unlicensed copies of an Apple operating system, or to
  7995  // circumvent, violate, or enable the circumvention or violation of, any
  7996  // terms of an Apple operating system software license agreement.
  7997  //
  7998  // Please obtain a copy of the License at
  7999  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8000  //
  8001  // The Original Code and all software distributed under the License are
  8002  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8003  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8004  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8005  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8006  // Please see the License for the specific language governing rights and
  8007  // limitations under the License.
  8008  //
  8009  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8010  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  8011  
  8012  type Timespec = struct {
  8013  	Ftv_sec  X__darwin_time_t
  8014  	Ftv_nsec int64
  8015  } /* _timespec.h:33:1 */
  8016  
  8017  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  8018  //
  8019  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8020  //
  8021  // This file contains Original Code and/or Modifications of Original Code
  8022  // as defined in and that are subject to the Apple Public Source License
  8023  // Version 2.0 (the 'License'). You may not use this file except in
  8024  // compliance with the License. The rights granted to you under the License
  8025  // may not be used to create, or enable the creation or redistribution of,
  8026  // unlawful or unlicensed copies of an Apple operating system, or to
  8027  // circumvent, violate, or enable the circumvention or violation of, any
  8028  // terms of an Apple operating system software license agreement.
  8029  //
  8030  // Please obtain a copy of the License at
  8031  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8032  //
  8033  // The Original Code and all software distributed under the License are
  8034  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8035  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8036  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8037  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8038  // Please see the License for the specific language governing rights and
  8039  // limitations under the License.
  8040  //
  8041  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8042  
  8043  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  8044  //
  8045  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8046  //
  8047  // This file contains Original Code and/or Modifications of Original Code
  8048  // as defined in and that are subject to the Apple Public Source License
  8049  // Version 2.0 (the 'License'). You may not use this file except in
  8050  // compliance with the License. The rights granted to you under the License
  8051  // may not be used to create, or enable the creation or redistribution of,
  8052  // unlawful or unlicensed copies of an Apple operating system, or to
  8053  // circumvent, violate, or enable the circumvention or violation of, any
  8054  // terms of an Apple operating system software license agreement.
  8055  //
  8056  // Please obtain a copy of the License at
  8057  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8058  //
  8059  // The Original Code and all software distributed under the License are
  8060  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8061  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8062  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8063  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8064  // Please see the License for the specific language governing rights and
  8065  // limitations under the License.
  8066  //
  8067  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8068  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  8069  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  8070  //
  8071  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8072  //
  8073  // This file contains Original Code and/or Modifications of Original Code
  8074  // as defined in and that are subject to the Apple Public Source License
  8075  // Version 2.0 (the 'License'). You may not use this file except in
  8076  // compliance with the License. The rights granted to you under the License
  8077  // may not be used to create, or enable the creation or redistribution of,
  8078  // unlawful or unlicensed copies of an Apple operating system, or to
  8079  // circumvent, violate, or enable the circumvention or violation of, any
  8080  // terms of an Apple operating system software license agreement.
  8081  //
  8082  // Please obtain a copy of the License at
  8083  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8084  //
  8085  // The Original Code and all software distributed under the License are
  8086  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8087  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8088  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8089  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8090  // Please see the License for the specific language governing rights and
  8091  // limitations under the License.
  8092  //
  8093  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8094  
  8095  type Timeval = struct {
  8096  	Ftv_sec      X__darwin_time_t
  8097  	Ftv_usec     X__darwin_suseconds_t
  8098  	F__ccgo_pad1 [4]byte
  8099  } /* _timeval.h:34:1 */
  8100  
  8101  // The time_t and suseconds_t types shall be defined as described in
  8102  // <sys/types.h>
  8103  // The sigset_t type shall be defined as described in <signal.h>
  8104  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  8105  //
  8106  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8107  //
  8108  // This file contains Original Code and/or Modifications of Original Code
  8109  // as defined in and that are subject to the Apple Public Source License
  8110  // Version 2.0 (the 'License'). You may not use this file except in
  8111  // compliance with the License. The rights granted to you under the License
  8112  // may not be used to create, or enable the creation or redistribution of,
  8113  // unlawful or unlicensed copies of an Apple operating system, or to
  8114  // circumvent, violate, or enable the circumvention or violation of, any
  8115  // terms of an Apple operating system software license agreement.
  8116  //
  8117  // Please obtain a copy of the License at
  8118  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8119  //
  8120  // The Original Code and all software distributed under the License are
  8121  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8122  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8123  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8124  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8125  // Please see the License for the specific language governing rights and
  8126  // limitations under the License.
  8127  //
  8128  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8129  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  8130  //
  8131  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8132  //
  8133  // This file contains Original Code and/or Modifications of Original Code
  8134  // as defined in and that are subject to the Apple Public Source License
  8135  // Version 2.0 (the 'License'). You may not use this file except in
  8136  // compliance with the License. The rights granted to you under the License
  8137  // may not be used to create, or enable the creation or redistribution of,
  8138  // unlawful or unlicensed copies of an Apple operating system, or to
  8139  // circumvent, violate, or enable the circumvention or violation of, any
  8140  // terms of an Apple operating system software license agreement.
  8141  //
  8142  // Please obtain a copy of the License at
  8143  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8144  //
  8145  // The Original Code and all software distributed under the License are
  8146  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8147  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8148  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8149  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8150  // Please see the License for the specific language governing rights and
  8151  // limitations under the License.
  8152  //
  8153  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8154  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  8155  //
  8156  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8157  //
  8158  // This file contains Original Code and/or Modifications of Original Code
  8159  // as defined in and that are subject to the Apple Public Source License
  8160  // Version 2.0 (the 'License'). You may not use this file except in
  8161  // compliance with the License. The rights granted to you under the License
  8162  // may not be used to create, or enable the creation or redistribution of,
  8163  // unlawful or unlicensed copies of an Apple operating system, or to
  8164  // circumvent, violate, or enable the circumvention or violation of, any
  8165  // terms of an Apple operating system software license agreement.
  8166  //
  8167  // Please obtain a copy of the License at
  8168  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8169  //
  8170  // The Original Code and all software distributed under the License are
  8171  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8172  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8173  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8174  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8175  // Please see the License for the specific language governing rights and
  8176  // limitations under the License.
  8177  //
  8178  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8179  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  8180  //
  8181  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8182  //
  8183  // This file contains Original Code and/or Modifications of Original Code
  8184  // as defined in and that are subject to the Apple Public Source License
  8185  // Version 2.0 (the 'License'). You may not use this file except in
  8186  // compliance with the License. The rights granted to you under the License
  8187  // may not be used to create, or enable the creation or redistribution of,
  8188  // unlawful or unlicensed copies of an Apple operating system, or to
  8189  // circumvent, violate, or enable the circumvention or violation of, any
  8190  // terms of an Apple operating system software license agreement.
  8191  //
  8192  // Please obtain a copy of the License at
  8193  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8194  //
  8195  // The Original Code and all software distributed under the License are
  8196  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8197  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8198  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8199  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8200  // Please see the License for the specific language governing rights and
  8201  // limitations under the License.
  8202  //
  8203  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8204  
  8205  type Sigset_t = X__darwin_sigset_t /* _sigset_t.h:31:41 */
  8206  
  8207  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  8208  //
  8209  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8210  //
  8211  // This file contains Original Code and/or Modifications of Original Code
  8212  // as defined in and that are subject to the Apple Public Source License
  8213  // Version 2.0 (the 'License'). You may not use this file except in
  8214  // compliance with the License. The rights granted to you under the License
  8215  // may not be used to create, or enable the creation or redistribution of,
  8216  // unlawful or unlicensed copies of an Apple operating system, or to
  8217  // circumvent, violate, or enable the circumvention or violation of, any
  8218  // terms of an Apple operating system software license agreement.
  8219  //
  8220  // Please obtain a copy of the License at
  8221  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8222  //
  8223  // The Original Code and all software distributed under the License are
  8224  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8225  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8226  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8227  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8228  // Please see the License for the specific language governing rights and
  8229  // limitations under the License.
  8230  //
  8231  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8232  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  8233  //
  8234  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8235  //
  8236  // This file contains Original Code and/or Modifications of Original Code
  8237  // as defined in and that are subject to the Apple Public Source License
  8238  // Version 2.0 (the 'License'). You may not use this file except in
  8239  // compliance with the License. The rights granted to you under the License
  8240  // may not be used to create, or enable the creation or redistribution of,
  8241  // unlawful or unlicensed copies of an Apple operating system, or to
  8242  // circumvent, violate, or enable the circumvention or violation of, any
  8243  // terms of an Apple operating system software license agreement.
  8244  //
  8245  // Please obtain a copy of the License at
  8246  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8247  //
  8248  // The Original Code and all software distributed under the License are
  8249  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8250  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8251  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8252  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8253  // Please see the License for the specific language governing rights and
  8254  // limitations under the License.
  8255  //
  8256  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8257  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  8258  //
  8259  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8260  //
  8261  // This file contains Original Code and/or Modifications of Original Code
  8262  // as defined in and that are subject to the Apple Public Source License
  8263  // Version 2.0 (the 'License'). You may not use this file except in
  8264  // compliance with the License. The rights granted to you under the License
  8265  // may not be used to create, or enable the creation or redistribution of,
  8266  // unlawful or unlicensed copies of an Apple operating system, or to
  8267  // circumvent, violate, or enable the circumvention or violation of, any
  8268  // terms of an Apple operating system software license agreement.
  8269  //
  8270  // Please obtain a copy of the License at
  8271  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8272  //
  8273  // The Original Code and all software distributed under the License are
  8274  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8275  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8276  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8277  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8278  // Please see the License for the specific language governing rights and
  8279  // limitations under the License.
  8280  //
  8281  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8282  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  8283  //
  8284  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8285  //
  8286  // This file contains Original Code and/or Modifications of Original Code
  8287  // as defined in and that are subject to the Apple Public Source License
  8288  // Version 2.0 (the 'License'). You may not use this file except in
  8289  // compliance with the License. The rights granted to you under the License
  8290  // may not be used to create, or enable the creation or redistribution of,
  8291  // unlawful or unlicensed copies of an Apple operating system, or to
  8292  // circumvent, violate, or enable the circumvention or violation of, any
  8293  // terms of an Apple operating system software license agreement.
  8294  //
  8295  // Please obtain a copy of the License at
  8296  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8297  //
  8298  // The Original Code and all software distributed under the License are
  8299  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8300  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8301  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8302  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8303  // Please see the License for the specific language governing rights and
  8304  // limitations under the License.
  8305  //
  8306  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8307  
  8308  type Uuid_t = X__darwin_uuid_t /* _uuid_t.h:31:25 */
  8309  
  8310  // MVS linker does not support external names larger than 8 bytes
  8311  
  8312  //
  8313  //     The 'zlib' compression library provides in-memory compression and
  8314  //   decompression functions, including integrity checks of the uncompressed data.
  8315  //   This version of the library supports only one compression method (deflation)
  8316  //   but other algorithms will be added later and will have the same stream
  8317  //   interface.
  8318  //
  8319  //     Compression can be done in a single step if the buffers are large enough,
  8320  //   or can be done by repeated calls of the compression function.  In the latter
  8321  //   case, the application must provide more input and/or consume the output
  8322  //   (providing more output space) before each call.
  8323  //
  8324  //     The compressed data format used by default by the in-memory functions is
  8325  //   the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
  8326  //   around a deflate stream, which is itself documented in RFC 1951.
  8327  //
  8328  //     The library also supports reading and writing files in gzip (.gz) format
  8329  //   with an interface similar to that of stdio using the functions that start
  8330  //   with "gz".  The gzip format is different from the zlib format.  gzip is a
  8331  //   gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
  8332  //
  8333  //     This library can optionally read and write gzip and raw deflate streams in
  8334  //   memory as well.
  8335  //
  8336  //     The zlib format was designed to be compact and fast for use in memory
  8337  //   and on communications channels.  The gzip format was designed for single-
  8338  //   file compression on file systems, has a larger header than zlib to maintain
  8339  //   directory information, and uses a different, slower check method than zlib.
  8340  //
  8341  //     The library does not install any signal handler.  The decoder checks
  8342  //   the consistency of the compressed data, so the library should never crash
  8343  //   even in the case of corrupted input.
  8344  
  8345  type Alloc_func = uintptr /* zlib.h:81:16 */
  8346  type Free_func = uintptr  /* zlib.h:82:16 */
  8347  
  8348  type Internal_state = struct {
  8349  	Fstrm             Z_streamp
  8350  	Fstatus           int32
  8351  	F__ccgo_pad1      [4]byte
  8352  	Fpending_buf      uintptr
  8353  	Fpending_buf_size Ulg
  8354  	Fpending_out      uintptr
  8355  	Fpending          Ulg
  8356  	Fwrap             int32
  8357  	F__ccgo_pad2      [4]byte
  8358  	Fgzhead           Gz_headerp
  8359  	Fgzindex          Ulg
  8360  	Fmethod           Byte
  8361  	F__ccgo_pad3      [3]byte
  8362  	Flast_flush       int32
  8363  	Fw_size           UInt
  8364  	Fw_bits           UInt
  8365  	Fw_mask           UInt
  8366  	F__ccgo_pad4      [4]byte
  8367  	Fwindow           uintptr
  8368  	Fwindow_size      Ulg
  8369  	Fprev             uintptr
  8370  	Fhead             uintptr
  8371  	Fins_h            UInt
  8372  	Fhash_size        UInt
  8373  	Fhash_bits        UInt
  8374  	Fhash_mask        UInt
  8375  	Fhash_shift       UInt
  8376  	F__ccgo_pad5      [4]byte
  8377  	Fblock_start      int64
  8378  	Fmatch_length     UInt
  8379  	Fprev_match       IPos
  8380  	Fmatch_available  int32
  8381  	Fstrstart         UInt
  8382  	Fmatch_start      UInt
  8383  	Flookahead        UInt
  8384  	Fprev_length      UInt
  8385  	Fmax_chain_length UInt
  8386  	Fmax_lazy_match   UInt
  8387  	Flevel            int32
  8388  	Fstrategy         int32
  8389  	Fgood_match       UInt
  8390  	Fnice_match       int32
  8391  	Fdyn_ltree        [573]struct {
  8392  		Ffc struct{ Ffreq Ush }
  8393  		Fdl struct{ Fdad Ush }
  8394  	}
  8395  	Fdyn_dtree [61]struct {
  8396  		Ffc struct{ Ffreq Ush }
  8397  		Fdl struct{ Fdad Ush }
  8398  	}
  8399  	Fbl_tree [39]struct {
  8400  		Ffc struct{ Ffreq Ush }
  8401  		Fdl struct{ Fdad Ush }
  8402  	}
  8403  	Fl_desc struct {
  8404  		Fdyn_tree    uintptr
  8405  		Fmax_code    int32
  8406  		F__ccgo_pad1 [4]byte
  8407  		Fstat_desc   uintptr
  8408  	}
  8409  	Fd_desc struct {
  8410  		Fdyn_tree    uintptr
  8411  		Fmax_code    int32
  8412  		F__ccgo_pad1 [4]byte
  8413  		Fstat_desc   uintptr
  8414  	}
  8415  	Fbl_desc struct {
  8416  		Fdyn_tree    uintptr
  8417  		Fmax_code    int32
  8418  		F__ccgo_pad1 [4]byte
  8419  		Fstat_desc   uintptr
  8420  	}
  8421  	Fbl_count    [16]Ush
  8422  	Fheap        [573]int32
  8423  	Fheap_len    int32
  8424  	Fheap_max    int32
  8425  	Fdepth       [573]Uch
  8426  	F__ccgo_pad6 [7]byte
  8427  	Fl_buf       uintptr
  8428  	Flit_bufsize UInt
  8429  	Flast_lit    UInt
  8430  	Fd_buf       uintptr
  8431  	Fopt_len     Ulg
  8432  	Fstatic_len  Ulg
  8433  	Fmatches     UInt
  8434  	Finsert      UInt
  8435  	Fbi_buf      Ush
  8436  	F__ccgo_pad7 [2]byte
  8437  	Fbi_valid    int32
  8438  	Fhigh_water  Ulg
  8439  } /* zlib.h:84:1 */
  8440  
  8441  type Z_stream_s = struct {
  8442  	Fnext_in     uintptr
  8443  	Favail_in    UInt
  8444  	F__ccgo_pad1 [4]byte
  8445  	Ftotal_in    ULong
  8446  	Fnext_out    uintptr
  8447  	Favail_out   UInt
  8448  	F__ccgo_pad2 [4]byte
  8449  	Ftotal_out   ULong
  8450  	Fmsg         uintptr
  8451  	Fstate       uintptr
  8452  	Fzalloc      Alloc_func
  8453  	Fzfree       Free_func
  8454  	Fopaque      Voidpf
  8455  	Fdata_type   int32
  8456  	F__ccgo_pad3 [4]byte
  8457  	Fadler       ULong
  8458  	Freserved    ULong
  8459  } /* zlib.h:86:9 */
  8460  
  8461  type Z_stream = Z_stream_s /* zlib.h:106:3 */
  8462  
  8463  type Z_streamp = uintptr /* zlib.h:108:22 */
  8464  
  8465  //
  8466  //      gzip header information passed to and from zlib routines.  See RFC 1952
  8467  //   for more details on the meanings of these fields.
  8468  type Gz_header_s = struct {
  8469  	Ftext        int32
  8470  	F__ccgo_pad1 [4]byte
  8471  	Ftime        ULong
  8472  	Fxflags      int32
  8473  	Fos          int32
  8474  	Fextra       uintptr
  8475  	Fextra_len   UInt
  8476  	Fextra_max   UInt
  8477  	Fname        uintptr
  8478  	Fname_max    UInt
  8479  	F__ccgo_pad2 [4]byte
  8480  	Fcomment     uintptr
  8481  	Fcomm_max    UInt
  8482  	Fhcrc        int32
  8483  	Fdone        int32
  8484  	F__ccgo_pad3 [4]byte
  8485  } /* zlib.h:114:9 */
  8486  
  8487  //
  8488  //      gzip header information passed to and from zlib routines.  See RFC 1952
  8489  //   for more details on the meanings of these fields.
  8490  type Gz_header = Gz_header_s /* zlib.h:129:3 */
  8491  
  8492  type Gz_headerp = uintptr /* zlib.h:131:23 */
  8493  //
  8494  //      inflateGetHeader() requests that gzip header information be stored in the
  8495  //    provided gz_header structure.  inflateGetHeader() may be called after
  8496  //    inflateInit2() or inflateReset(), and before the first call of inflate().
  8497  //    As inflate() processes the gzip stream, head->done is zero until the header
  8498  //    is completed, at which time head->done is set to one.  If a zlib stream is
  8499  //    being decoded, then head->done is set to -1 to indicate that there will be
  8500  //    no gzip header information forthcoming.  Note that Z_BLOCK or Z_TREES can be
  8501  //    used to force inflate() to return immediately after header processing is
  8502  //    complete and before any actual data is decompressed.
  8503  //
  8504  //      The text, time, xflags, and os fields are filled in with the gzip header
  8505  //    contents.  hcrc is set to true if there is a header CRC.  (The header CRC
  8506  //    was valid if done is set to one.) If extra is not Z_NULL, then extra_max
  8507  //    contains the maximum number of bytes to write to extra.  Once done is true,
  8508  //    extra_len contains the actual extra field length, and extra contains the
  8509  //    extra field, or that field truncated if extra_max is less than extra_len.
  8510  //    If name is not Z_NULL, then up to name_max characters are written there,
  8511  //    terminated with a zero unless the length is greater than name_max.  If
  8512  //    comment is not Z_NULL, then up to comm_max characters are written there,
  8513  //    terminated with a zero unless the length is greater than comm_max.  When any
  8514  //    of extra, name, or comment are not Z_NULL and the respective field is not
  8515  //    present in the header, then that field is set to Z_NULL to signal its
  8516  //    absence.  This allows the use of deflateSetHeader() with the returned
  8517  //    structure to duplicate the header.  However if those fields are set to
  8518  //    allocated memory, then the application will need to save those pointers
  8519  //    elsewhere so that they can be eventually freed.
  8520  //
  8521  //      If inflateGetHeader is not used, then the header information is simply
  8522  //    discarded.  The header is always checked for validity, including the header
  8523  //    CRC if present.  inflateReset() will reset the process to discard the header
  8524  //    information.  The application would need to call inflateGetHeader() again to
  8525  //    retrieve the header from the next gzip stream.
  8526  //
  8527  //      inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
  8528  //    stream state was inconsistent.
  8529  
  8530  //
  8531  // ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
  8532  //                                         unsigned char FAR *window));
  8533  //
  8534  //      Initialize the internal stream state for decompression using inflateBack()
  8535  //    calls.  The fields zalloc, zfree and opaque in strm must be initialized
  8536  //    before the call.  If zalloc and zfree are Z_NULL, then the default library-
  8537  //    derived memory allocation routines are used.  windowBits is the base two
  8538  //    logarithm of the window size, in the range 8..15.  window is a caller
  8539  //    supplied buffer of that size.  Except for special applications where it is
  8540  //    assured that deflate was used with small window sizes, windowBits must be 15
  8541  //    and a 32K byte window must be supplied to be able to decompress general
  8542  //    deflate streams.
  8543  //
  8544  //      See inflateBack() for the usage of these routines.
  8545  //
  8546  //      inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
  8547  //    the parameters are invalid, Z_MEM_ERROR if the internal state could not be
  8548  //    allocated, or Z_VERSION_ERROR if the version of the library does not match
  8549  //    the version of the header file.
  8550  
  8551  type In_func = uintptr  /* zlib.h:1092:18 */
  8552  type Out_func = uintptr /* zlib.h:1094:13 */
  8553  //
  8554  //      Same as uncompress, except that sourceLen is a pointer, where the
  8555  //    length of the source is *sourceLen.  On return, *sourceLen is the number of
  8556  //    source bytes consumed.
  8557  
  8558  // gzip file access functions
  8559  
  8560  //
  8561  //      This library supports reading and writing files in gzip (.gz) format with
  8562  //    an interface similar to that of stdio, using the functions that start with
  8563  //    "gz".  The gzip format is different from the zlib format.  gzip is a gzip
  8564  //    wrapper, documented in RFC 1952, wrapped around a deflate stream.
  8565  
  8566  type GzFile_s = struct {
  8567  	Fhave        uint32
  8568  	F__ccgo_pad1 [4]byte
  8569  	Fnext        uintptr
  8570  	Fpos         Off_t
  8571  } /* zlib.h:1300:9 */
  8572  
  8573  //
  8574  //      Same as uncompress, except that sourceLen is a pointer, where the
  8575  //    length of the source is *sourceLen.  On return, *sourceLen is the number of
  8576  //    source bytes consumed.
  8577  
  8578  // gzip file access functions
  8579  
  8580  //
  8581  //      This library supports reading and writing files in gzip (.gz) format with
  8582  //    an interface similar to that of stdio, using the functions that start with
  8583  //    "gz".  The gzip format is different from the zlib format.  gzip is a gzip
  8584  //    wrapper, documented in RFC 1952, wrapped around a deflate stream.
  8585  
  8586  type GzFile = uintptr /* zlib.h:1300:25 */
  8587  
  8588  // Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.
  8589  //
  8590  // @APPLE_LICENSE_HEADER_START@
  8591  //
  8592  // This file contains Original Code and/or Modifications of Original Code
  8593  // as defined in and that are subject to the Apple Public Source License
  8594  // Version 2.0 (the 'License'). You may not use this file except in
  8595  // compliance with the License. Please obtain a copy of the License at
  8596  // http://www.opensource.apple.com/apsl/ and read it before using this
  8597  // file.
  8598  //
  8599  // The Original Code and all software distributed under the License are
  8600  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8601  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8602  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8603  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8604  // Please see the License for the specific language governing rights and
  8605  // limitations under the License.
  8606  //
  8607  // @APPLE_LICENSE_HEADER_END@
  8608  // -
  8609  // Copyright (c) 1990, 1993
  8610  //	The Regents of the University of California.  All rights reserved.
  8611  //
  8612  // Redistribution and use in source and binary forms, with or without
  8613  // modification, are permitted provided that the following conditions
  8614  // are met:
  8615  // 1. Redistributions of source code must retain the above copyright
  8616  //    notice, this list of conditions and the following disclaimer.
  8617  // 2. Redistributions in binary form must reproduce the above copyright
  8618  //    notice, this list of conditions and the following disclaimer in the
  8619  //    documentation and/or other materials provided with the distribution.
  8620  // 3. All advertising materials mentioning features or use of this software
  8621  //    must display the following acknowledgement:
  8622  //	This product includes software developed by the University of
  8623  //	California, Berkeley and its contributors.
  8624  // 4. Neither the name of the University nor the names of its contributors
  8625  //    may be used to endorse or promote products derived from this software
  8626  //    without specific prior written permission.
  8627  //
  8628  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  8629  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  8630  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  8631  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  8632  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  8633  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  8634  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  8635  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  8636  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  8637  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  8638  // SUCH DAMAGE.
  8639  //
  8640  //	@(#)string.h	8.1 (Berkeley) 6/2/93
  8641  
  8642  // Security checking functions.
  8643  // Copyright (c) 2017 Apple Inc. All rights reserved.
  8644  //
  8645  // @APPLE_LICENSE_HEADER_START@
  8646  //
  8647  // This file contains Original Code and/or Modifications of Original Code
  8648  // as defined in and that are subject to the Apple Public Source License
  8649  // Version 2.0 (the 'License'). You may not use this file except in
  8650  // compliance with the License. Please obtain a copy of the License at
  8651  // http://www.opensource.apple.com/apsl/ and read it before using this
  8652  // file.
  8653  //
  8654  // The Original Code and all software distributed under the License are
  8655  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8656  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8657  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8658  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8659  // Please see the License for the specific language governing rights and
  8660  // limitations under the License.
  8661  //
  8662  // @APPLE_LICENSE_HEADER_END@
  8663  
  8664  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  8665  //
  8666  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8667  //
  8668  // This file contains Original Code and/or Modifications of Original Code
  8669  // as defined in and that are subject to the Apple Public Source License
  8670  // Version 2.0 (the 'License'). You may not use this file except in
  8671  // compliance with the License. The rights granted to you under the License
  8672  // may not be used to create, or enable the creation or redistribution of,
  8673  // unlawful or unlicensed copies of an Apple operating system, or to
  8674  // circumvent, violate, or enable the circumvention or violation of, any
  8675  // terms of an Apple operating system software license agreement.
  8676  //
  8677  // Please obtain a copy of the License at
  8678  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8679  //
  8680  // The Original Code and all software distributed under the License are
  8681  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8682  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8683  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8684  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8685  // Please see the License for the specific language governing rights and
  8686  // limitations under the License.
  8687  //
  8688  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8689  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  8690  // Copyright (c) 1991, 1993
  8691  //	The Regents of the University of California.  All rights reserved.
  8692  //
  8693  // This code is derived from software contributed to Berkeley by
  8694  // Berkeley Software Design, Inc.
  8695  //
  8696  // Redistribution and use in source and binary forms, with or without
  8697  // modification, are permitted provided that the following conditions
  8698  // are met:
  8699  // 1. Redistributions of source code must retain the above copyright
  8700  //    notice, this list of conditions and the following disclaimer.
  8701  // 2. Redistributions in binary form must reproduce the above copyright
  8702  //    notice, this list of conditions and the following disclaimer in the
  8703  //    documentation and/or other materials provided with the distribution.
  8704  // 3. All advertising materials mentioning features or use of this software
  8705  //    must display the following acknowledgement:
  8706  //	This product includes software developed by the University of
  8707  //	California, Berkeley and its contributors.
  8708  // 4. Neither the name of the University nor the names of its contributors
  8709  //    may be used to endorse or promote products derived from this software
  8710  //    without specific prior written permission.
  8711  //
  8712  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  8713  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  8714  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  8715  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  8716  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  8717  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  8718  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  8719  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  8720  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  8721  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  8722  // SUCH DAMAGE.
  8723  //
  8724  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  8725  
  8726  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  8727  //
  8728  // @APPLE_LICENSE_HEADER_START@
  8729  //
  8730  // This file contains Original Code and/or Modifications of Original Code
  8731  // as defined in and that are subject to the Apple Public Source License
  8732  // Version 2.0 (the 'License'). You may not use this file except in
  8733  // compliance with the License. Please obtain a copy of the License at
  8734  // http://www.opensource.apple.com/apsl/ and read it before using this
  8735  // file.
  8736  //
  8737  // The Original Code and all software distributed under the License are
  8738  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8739  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8740  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8741  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8742  // Please see the License for the specific language governing rights and
  8743  // limitations under the License.
  8744  //
  8745  // @APPLE_LICENSE_HEADER_END@
  8746  
  8747  // Copyright (c) 2007, 2008 Apple Inc. All rights reserved.
  8748  //
  8749  // @APPLE_LICENSE_HEADER_START@
  8750  //
  8751  // This file contains Original Code and/or Modifications of Original Code
  8752  // as defined in and that are subject to the Apple Public Source License
  8753  // Version 2.0 (the 'License'). You may not use this file except in
  8754  // compliance with the License. Please obtain a copy of the License at
  8755  // http://www.opensource.apple.com/apsl/ and read it before using this
  8756  // file.
  8757  //
  8758  // The Original Code and all software distributed under the License are
  8759  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8760  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8761  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8762  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8763  // Please see the License for the specific language governing rights and
  8764  // limitations under the License.
  8765  //
  8766  // @APPLE_LICENSE_HEADER_END@
  8767  
  8768  // bcopy and bzero
  8769  
  8770  // Removed in Issue 7
  8771  
  8772  // void	bcopy(const void *src, void *dst, size_t len)
  8773  
  8774  // void	bzero(void *s, size_t n)
  8775  
  8776  // Security checking functions.
  8777  // Copyright (c) 2007,2017 Apple Inc. All rights reserved.
  8778  //
  8779  // @APPLE_LICENSE_HEADER_START@
  8780  //
  8781  // This file contains Original Code and/or Modifications of Original Code
  8782  // as defined in and that are subject to the Apple Public Source License
  8783  // Version 2.0 (the 'License'). You may not use this file except in
  8784  // compliance with the License. Please obtain a copy of the License at
  8785  // http://www.opensource.apple.com/apsl/ and read it before using this
  8786  // file.
  8787  //
  8788  // The Original Code and all software distributed under the License are
  8789  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8790  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8791  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8792  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8793  // Please see the License for the specific language governing rights and
  8794  // limitations under the License.
  8795  //
  8796  // @APPLE_LICENSE_HEADER_END@
  8797  
  8798  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  8799  //
  8800  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  8801  //
  8802  // This file contains Original Code and/or Modifications of Original Code
  8803  // as defined in and that are subject to the Apple Public Source License
  8804  // Version 2.0 (the 'License'). You may not use this file except in
  8805  // compliance with the License. The rights granted to you under the License
  8806  // may not be used to create, or enable the creation or redistribution of,
  8807  // unlawful or unlicensed copies of an Apple operating system, or to
  8808  // circumvent, violate, or enable the circumvention or violation of, any
  8809  // terms of an Apple operating system software license agreement.
  8810  //
  8811  // Please obtain a copy of the License at
  8812  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  8813  //
  8814  // The Original Code and all software distributed under the License are
  8815  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8816  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8817  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8818  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8819  // Please see the License for the specific language governing rights and
  8820  // limitations under the License.
  8821  //
  8822  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  8823  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  8824  // Copyright (c) 1991, 1993
  8825  //	The Regents of the University of California.  All rights reserved.
  8826  //
  8827  // This code is derived from software contributed to Berkeley by
  8828  // Berkeley Software Design, Inc.
  8829  //
  8830  // Redistribution and use in source and binary forms, with or without
  8831  // modification, are permitted provided that the following conditions
  8832  // are met:
  8833  // 1. Redistributions of source code must retain the above copyright
  8834  //    notice, this list of conditions and the following disclaimer.
  8835  // 2. Redistributions in binary form must reproduce the above copyright
  8836  //    notice, this list of conditions and the following disclaimer in the
  8837  //    documentation and/or other materials provided with the distribution.
  8838  // 3. All advertising materials mentioning features or use of this software
  8839  //    must display the following acknowledgement:
  8840  //	This product includes software developed by the University of
  8841  //	California, Berkeley and its contributors.
  8842  // 4. Neither the name of the University nor the names of its contributors
  8843  //    may be used to endorse or promote products derived from this software
  8844  //    without specific prior written permission.
  8845  //
  8846  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  8847  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  8848  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  8849  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  8850  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  8851  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  8852  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  8853  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  8854  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  8855  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  8856  // SUCH DAMAGE.
  8857  //
  8858  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  8859  
  8860  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  8861  //
  8862  // @APPLE_LICENSE_HEADER_START@
  8863  //
  8864  // This file contains Original Code and/or Modifications of Original Code
  8865  // as defined in and that are subject to the Apple Public Source License
  8866  // Version 2.0 (the 'License'). You may not use this file except in
  8867  // compliance with the License. Please obtain a copy of the License at
  8868  // http://www.opensource.apple.com/apsl/ and read it before using this
  8869  // file.
  8870  //
  8871  // The Original Code and all software distributed under the License are
  8872  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8873  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8874  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8875  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8876  // Please see the License for the specific language governing rights and
  8877  // limitations under the License.
  8878  //
  8879  // @APPLE_LICENSE_HEADER_END@
  8880  
  8881  // Copyright (c) 2007, 2008 Apple Inc. All rights reserved.
  8882  //
  8883  // @APPLE_LICENSE_HEADER_START@
  8884  //
  8885  // This file contains Original Code and/or Modifications of Original Code
  8886  // as defined in and that are subject to the Apple Public Source License
  8887  // Version 2.0 (the 'License'). You may not use this file except in
  8888  // compliance with the License. Please obtain a copy of the License at
  8889  // http://www.opensource.apple.com/apsl/ and read it before using this
  8890  // file.
  8891  //
  8892  // The Original Code and all software distributed under the License are
  8893  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8894  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8895  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8896  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8897  // Please see the License for the specific language governing rights and
  8898  // limitations under the License.
  8899  //
  8900  // @APPLE_LICENSE_HEADER_END@
  8901  
  8902  // <rdar://problem/12622659>
  8903  
  8904  // memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy,
  8905  //    strncpy, stpncpy, strcat, strlcat, and strncat
  8906  
  8907  // void *memcpy(void *dst, const void *src, size_t n)
  8908  
  8909  // void *memmove(void *dst, const void *src, size_t len)
  8910  
  8911  // void *memset(void *b, int c, size_t len)
  8912  
  8913  // char *strcpy(char *dst, const char *src)
  8914  
  8915  // char *stpcpy(char *dst, const char *src)
  8916  
  8917  // char *stpncpy(char *dst, const char *src, size_t n)
  8918  
  8919  // char *strncpy(char *dst, const char *src, size_t n)
  8920  
  8921  // char *strcat(char *s1, const char *s2)
  8922  
  8923  // char *strncat(char *s1, const char *s2, size_t n)
  8924  
  8925  // Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  8926  //
  8927  // @APPLE_LICENSE_HEADER_START@
  8928  //
  8929  // This file contains Original Code and/or Modifications of Original Code
  8930  // as defined in and that are subject to the Apple Public Source License
  8931  // Version 2.0 (the 'License'). You may not use this file except in
  8932  // compliance with the License. Please obtain a copy of the License at
  8933  // http://www.opensource.apple.com/apsl/ and read it before using this
  8934  // file.
  8935  //
  8936  // The Original Code and all software distributed under the License are
  8937  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8938  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8939  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8940  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8941  // Please see the License for the specific language governing rights and
  8942  // limitations under the License.
  8943  //
  8944  // @APPLE_LICENSE_HEADER_END@
  8945  // -
  8946  // Copyright (c) 1990, 1993
  8947  //	The Regents of the University of California.  All rights reserved.
  8948  //
  8949  // Redistribution and use in source and binary forms, with or without
  8950  // modification, are permitted provided that the following conditions
  8951  // are met:
  8952  // 1. Redistributions of source code must retain the above copyright
  8953  //    notice, this list of conditions and the following disclaimer.
  8954  // 2. Redistributions in binary form must reproduce the above copyright
  8955  //    notice, this list of conditions and the following disclaimer in the
  8956  //    documentation and/or other materials provided with the distribution.
  8957  // 3. All advertising materials mentioning features or use of this software
  8958  //    must display the following acknowledgement:
  8959  //	This product includes software developed by the University of
  8960  //	California, Berkeley and its contributors.
  8961  // 4. Neither the name of the University nor the names of its contributors
  8962  //    may be used to endorse or promote products derived from this software
  8963  //    without specific prior written permission.
  8964  //
  8965  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  8966  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  8967  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  8968  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  8969  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  8970  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  8971  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  8972  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  8973  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  8974  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  8975  // SUCH DAMAGE.
  8976  //
  8977  //	@(#)stdlib.h	8.5 (Berkeley) 5/19/95
  8978  
  8979  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  8980  //
  8981  // @APPLE_LICENSE_HEADER_START@
  8982  //
  8983  // This file contains Original Code and/or Modifications of Original Code
  8984  // as defined in and that are subject to the Apple Public Source License
  8985  // Version 2.0 (the 'License'). You may not use this file except in
  8986  // compliance with the License. Please obtain a copy of the License at
  8987  // http://www.opensource.apple.com/apsl/ and read it before using this
  8988  // file.
  8989  //
  8990  // The Original Code and all software distributed under the License are
  8991  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  8992  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  8993  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  8994  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  8995  // Please see the License for the specific language governing rights and
  8996  // limitations under the License.
  8997  //
  8998  // @APPLE_LICENSE_HEADER_END@
  8999  
  9000  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  9001  //
  9002  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9003  //
  9004  // This file contains Original Code and/or Modifications of Original Code
  9005  // as defined in and that are subject to the Apple Public Source License
  9006  // Version 2.0 (the 'License'). You may not use this file except in
  9007  // compliance with the License. The rights granted to you under the License
  9008  // may not be used to create, or enable the creation or redistribution of,
  9009  // unlawful or unlicensed copies of an Apple operating system, or to
  9010  // circumvent, violate, or enable the circumvention or violation of, any
  9011  // terms of an Apple operating system software license agreement.
  9012  //
  9013  // Please obtain a copy of the License at
  9014  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9015  //
  9016  // The Original Code and all software distributed under the License are
  9017  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9018  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9019  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9020  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9021  // Please see the License for the specific language governing rights and
  9022  // limitations under the License.
  9023  //
  9024  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9025  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  9026  // Copyright (c) 1991, 1993
  9027  //	The Regents of the University of California.  All rights reserved.
  9028  //
  9029  // This code is derived from software contributed to Berkeley by
  9030  // Berkeley Software Design, Inc.
  9031  //
  9032  // Redistribution and use in source and binary forms, with or without
  9033  // modification, are permitted provided that the following conditions
  9034  // are met:
  9035  // 1. Redistributions of source code must retain the above copyright
  9036  //    notice, this list of conditions and the following disclaimer.
  9037  // 2. Redistributions in binary form must reproduce the above copyright
  9038  //    notice, this list of conditions and the following disclaimer in the
  9039  //    documentation and/or other materials provided with the distribution.
  9040  // 3. All advertising materials mentioning features or use of this software
  9041  //    must display the following acknowledgement:
  9042  //	This product includes software developed by the University of
  9043  //	California, Berkeley and its contributors.
  9044  // 4. Neither the name of the University nor the names of its contributors
  9045  //    may be used to endorse or promote products derived from this software
  9046  //    without specific prior written permission.
  9047  //
  9048  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  9049  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  9050  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  9051  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  9052  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  9053  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  9054  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9055  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  9056  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  9057  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  9058  // SUCH DAMAGE.
  9059  //
  9060  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  9061  
  9062  // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
  9063  //
  9064  // @APPLE_LICENSE_HEADER_START@
  9065  //
  9066  // This file contains Original Code and/or Modifications of Original Code
  9067  // as defined in and that are subject to the Apple Public Source License
  9068  // Version 2.0 (the 'License'). You may not use this file except in
  9069  // compliance with the License. Please obtain a copy of the License at
  9070  // http://www.opensource.apple.com/apsl/ and read it before using this
  9071  // file.
  9072  //
  9073  // The Original Code and all software distributed under the License are
  9074  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9075  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9076  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9077  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9078  // Please see the License for the specific language governing rights and
  9079  // limitations under the License.
  9080  //
  9081  // @APPLE_LICENSE_HEADER_END@
  9082  
  9083  // Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  9084  //
  9085  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9086  //
  9087  // This file contains Original Code and/or Modifications of Original Code
  9088  // as defined in and that are subject to the Apple Public Source License
  9089  // Version 2.0 (the 'License'). You may not use this file except in
  9090  // compliance with the License. The rights granted to you under the License
  9091  // may not be used to create, or enable the creation or redistribution of,
  9092  // unlawful or unlicensed copies of an Apple operating system, or to
  9093  // circumvent, violate, or enable the circumvention or violation of, any
  9094  // terms of an Apple operating system software license agreement.
  9095  //
  9096  // Please obtain a copy of the License at
  9097  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9098  //
  9099  // The Original Code and all software distributed under the License are
  9100  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9101  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9102  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9103  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9104  // Please see the License for the specific language governing rights and
  9105  // limitations under the License.
  9106  //
  9107  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9108  // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
  9109  // Copyright (c) 1982, 1986, 1989, 1993, 1994
  9110  //	The Regents of the University of California.  All rights reserved.
  9111  //
  9112  // Redistribution and use in source and binary forms, with or without
  9113  // modification, are permitted provided that the following conditions
  9114  // are met:
  9115  // 1. Redistributions of source code must retain the above copyright
  9116  //    notice, this list of conditions and the following disclaimer.
  9117  // 2. Redistributions in binary form must reproduce the above copyright
  9118  //    notice, this list of conditions and the following disclaimer in the
  9119  //    documentation and/or other materials provided with the distribution.
  9120  // 3. All advertising materials mentioning features or use of this software
  9121  //    must display the following acknowledgement:
  9122  //	This product includes software developed by the University of
  9123  //	California, Berkeley and its contributors.
  9124  // 4. Neither the name of the University nor the names of its contributors
  9125  //    may be used to endorse or promote products derived from this software
  9126  //    without specific prior written permission.
  9127  //
  9128  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  9129  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  9130  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  9131  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  9132  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  9133  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  9134  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9135  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  9136  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  9137  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  9138  // SUCH DAMAGE.
  9139  //
  9140  //	@(#)wait.h	8.2 (Berkeley) 7/10/94
  9141  
  9142  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  9143  //
  9144  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9145  //
  9146  // This file contains Original Code and/or Modifications of Original Code
  9147  // as defined in and that are subject to the Apple Public Source License
  9148  // Version 2.0 (the 'License'). You may not use this file except in
  9149  // compliance with the License. The rights granted to you under the License
  9150  // may not be used to create, or enable the creation or redistribution of,
  9151  // unlawful or unlicensed copies of an Apple operating system, or to
  9152  // circumvent, violate, or enable the circumvention or violation of, any
  9153  // terms of an Apple operating system software license agreement.
  9154  //
  9155  // Please obtain a copy of the License at
  9156  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9157  //
  9158  // The Original Code and all software distributed under the License are
  9159  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9160  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9161  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9162  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9163  // Please see the License for the specific language governing rights and
  9164  // limitations under the License.
  9165  //
  9166  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9167  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  9168  // Copyright (c) 1991, 1993
  9169  //	The Regents of the University of California.  All rights reserved.
  9170  //
  9171  // This code is derived from software contributed to Berkeley by
  9172  // Berkeley Software Design, Inc.
  9173  //
  9174  // Redistribution and use in source and binary forms, with or without
  9175  // modification, are permitted provided that the following conditions
  9176  // are met:
  9177  // 1. Redistributions of source code must retain the above copyright
  9178  //    notice, this list of conditions and the following disclaimer.
  9179  // 2. Redistributions in binary form must reproduce the above copyright
  9180  //    notice, this list of conditions and the following disclaimer in the
  9181  //    documentation and/or other materials provided with the distribution.
  9182  // 3. All advertising materials mentioning features or use of this software
  9183  //    must display the following acknowledgement:
  9184  //	This product includes software developed by the University of
  9185  //	California, Berkeley and its contributors.
  9186  // 4. Neither the name of the University nor the names of its contributors
  9187  //    may be used to endorse or promote products derived from this software
  9188  //    without specific prior written permission.
  9189  //
  9190  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  9191  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  9192  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  9193  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  9194  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  9195  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  9196  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9197  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  9198  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  9199  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  9200  // SUCH DAMAGE.
  9201  //
  9202  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  9203  
  9204  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  9205  //
  9206  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9207  //
  9208  // This file contains Original Code and/or Modifications of Original Code
  9209  // as defined in and that are subject to the Apple Public Source License
  9210  // Version 2.0 (the 'License'). You may not use this file except in
  9211  // compliance with the License. The rights granted to you under the License
  9212  // may not be used to create, or enable the creation or redistribution of,
  9213  // unlawful or unlicensed copies of an Apple operating system, or to
  9214  // circumvent, violate, or enable the circumvention or violation of, any
  9215  // terms of an Apple operating system software license agreement.
  9216  //
  9217  // Please obtain a copy of the License at
  9218  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9219  //
  9220  // The Original Code and all software distributed under the License are
  9221  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9222  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9223  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9224  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9225  // Please see the License for the specific language governing rights and
  9226  // limitations under the License.
  9227  //
  9228  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9229  
  9230  // This file holds definitions relevent to the wait4 system call
  9231  // and the alternate interfaces that use it (wait, wait3, waitpid).
  9232  
  9233  // [XSI] The type idtype_t shall be defined as an enumeration type whose
  9234  // possible values shall include at least P_ALL, P_PID, and P_PGID.
  9235  type Idtype_t = uint32 /* wait.h:83:3 */
  9236  
  9237  // [XSI] The id_t and pid_t types shall be defined as described
  9238  // in <sys/types.h>
  9239  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  9240  //
  9241  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9242  //
  9243  // This file contains Original Code and/or Modifications of Original Code
  9244  // as defined in and that are subject to the Apple Public Source License
  9245  // Version 2.0 (the 'License'). You may not use this file except in
  9246  // compliance with the License. The rights granted to you under the License
  9247  // may not be used to create, or enable the creation or redistribution of,
  9248  // unlawful or unlicensed copies of an Apple operating system, or to
  9249  // circumvent, violate, or enable the circumvention or violation of, any
  9250  // terms of an Apple operating system software license agreement.
  9251  //
  9252  // Please obtain a copy of the License at
  9253  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9254  //
  9255  // The Original Code and all software distributed under the License are
  9256  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9257  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9258  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9259  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9260  // Please see the License for the specific language governing rights and
  9261  // limitations under the License.
  9262  //
  9263  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9264  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  9265  //
  9266  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9267  //
  9268  // This file contains Original Code and/or Modifications of Original Code
  9269  // as defined in and that are subject to the Apple Public Source License
  9270  // Version 2.0 (the 'License'). You may not use this file except in
  9271  // compliance with the License. The rights granted to you under the License
  9272  // may not be used to create, or enable the creation or redistribution of,
  9273  // unlawful or unlicensed copies of an Apple operating system, or to
  9274  // circumvent, violate, or enable the circumvention or violation of, any
  9275  // terms of an Apple operating system software license agreement.
  9276  //
  9277  // Please obtain a copy of the License at
  9278  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9279  //
  9280  // The Original Code and all software distributed under the License are
  9281  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9282  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9283  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9284  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9285  // Please see the License for the specific language governing rights and
  9286  // limitations under the License.
  9287  //
  9288  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9289  
  9290  // [XSI] The siginfo_t type shall be defined as described in <signal.h>
  9291  // [XSI] The rusage structure shall be defined as described in <sys/resource.h>
  9292  // [XSI] Inclusion of the <sys/wait.h> header may also make visible all
  9293  // symbols from <signal.h> and <sys/resource.h>
  9294  //
  9295  // NOTE:	This requirement is currently being satisfied by the direct
  9296  //		inclusion of <sys/signal.h> and <sys/resource.h>, below.
  9297  //
  9298  //		Software should not depend on the exposure of anything other
  9299  //		than the types siginfo_t and struct rusage as a result of
  9300  //		this inclusion.  If you depend on any types or manifest
  9301  //		values othe than siginfo_t and struct rusage from either of
  9302  //		those files, you should explicitly include them yourself, as
  9303  //		well, or in future releases your stware may not compile
  9304  //		without modification.
  9305  // Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
  9306  //
  9307  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9308  //
  9309  // This file contains Original Code and/or Modifications of Original Code
  9310  // as defined in and that are subject to the Apple Public Source License
  9311  // Version 2.0 (the 'License'). You may not use this file except in
  9312  // compliance with the License. The rights granted to you under the License
  9313  // may not be used to create, or enable the creation or redistribution of,
  9314  // unlawful or unlicensed copies of an Apple operating system, or to
  9315  // circumvent, violate, or enable the circumvention or violation of, any
  9316  // terms of an Apple operating system software license agreement.
  9317  //
  9318  // Please obtain a copy of the License at
  9319  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9320  //
  9321  // The Original Code and all software distributed under the License are
  9322  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9323  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9324  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9325  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9326  // Please see the License for the specific language governing rights and
  9327  // limitations under the License.
  9328  //
  9329  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9330  // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
  9331  // Copyright (c) 1982, 1986, 1989, 1991, 1993
  9332  //	The Regents of the University of California.  All rights reserved.
  9333  // (c) UNIX System Laboratories, Inc.
  9334  // All or some portions of this file are derived from material licensed
  9335  // to the University of California by American Telephone and Telegraph
  9336  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
  9337  // the permission of UNIX System Laboratories, Inc.
  9338  //
  9339  // Redistribution and use in source and binary forms, with or without
  9340  // modification, are permitted provided that the following conditions
  9341  // are met:
  9342  // 1. Redistributions of source code must retain the above copyright
  9343  //    notice, this list of conditions and the following disclaimer.
  9344  // 2. Redistributions in binary form must reproduce the above copyright
  9345  //    notice, this list of conditions and the following disclaimer in the
  9346  //    documentation and/or other materials provided with the distribution.
  9347  // 3. All advertising materials mentioning features or use of this software
  9348  //    must display the following acknowledgement:
  9349  //	This product includes software developed by the University of
  9350  //	California, Berkeley and its contributors.
  9351  // 4. Neither the name of the University nor the names of its contributors
  9352  //    may be used to endorse or promote products derived from this software
  9353  //    without specific prior written permission.
  9354  //
  9355  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  9356  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  9357  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  9358  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  9359  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  9360  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  9361  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9362  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  9363  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  9364  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  9365  // SUCH DAMAGE.
  9366  //
  9367  //	@(#)signal.h	8.2 (Berkeley) 1/21/94
  9368  
  9369  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  9370  //
  9371  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9372  //
  9373  // This file contains Original Code and/or Modifications of Original Code
  9374  // as defined in and that are subject to the Apple Public Source License
  9375  // Version 2.0 (the 'License'). You may not use this file except in
  9376  // compliance with the License. The rights granted to you under the License
  9377  // may not be used to create, or enable the creation or redistribution of,
  9378  // unlawful or unlicensed copies of an Apple operating system, or to
  9379  // circumvent, violate, or enable the circumvention or violation of, any
  9380  // terms of an Apple operating system software license agreement.
  9381  //
  9382  // Please obtain a copy of the License at
  9383  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9384  //
  9385  // The Original Code and all software distributed under the License are
  9386  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9387  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9388  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9389  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9390  // Please see the License for the specific language governing rights and
  9391  // limitations under the License.
  9392  //
  9393  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9394  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  9395  // Copyright (c) 1991, 1993
  9396  //	The Regents of the University of California.  All rights reserved.
  9397  //
  9398  // This code is derived from software contributed to Berkeley by
  9399  // Berkeley Software Design, Inc.
  9400  //
  9401  // Redistribution and use in source and binary forms, with or without
  9402  // modification, are permitted provided that the following conditions
  9403  // are met:
  9404  // 1. Redistributions of source code must retain the above copyright
  9405  //    notice, this list of conditions and the following disclaimer.
  9406  // 2. Redistributions in binary form must reproduce the above copyright
  9407  //    notice, this list of conditions and the following disclaimer in the
  9408  //    documentation and/or other materials provided with the distribution.
  9409  // 3. All advertising materials mentioning features or use of this software
  9410  //    must display the following acknowledgement:
  9411  //	This product includes software developed by the University of
  9412  //	California, Berkeley and its contributors.
  9413  // 4. Neither the name of the University nor the names of its contributors
  9414  //    may be used to endorse or promote products derived from this software
  9415  //    without specific prior written permission.
  9416  //
  9417  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  9418  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  9419  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  9420  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  9421  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  9422  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  9423  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9424  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  9425  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  9426  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  9427  // SUCH DAMAGE.
  9428  //
  9429  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  9430  
  9431  // Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
  9432  //
  9433  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9434  //
  9435  // This file contains Original Code and/or Modifications of Original Code
  9436  // as defined in and that are subject to the Apple Public Source License
  9437  // Version 2.0 (the 'License'). You may not use this file except in
  9438  // compliance with the License. The rights granted to you under the License
  9439  // may not be used to create, or enable the creation or redistribution of,
  9440  // unlawful or unlicensed copies of an Apple operating system, or to
  9441  // circumvent, violate, or enable the circumvention or violation of, any
  9442  // terms of an Apple operating system software license agreement.
  9443  //
  9444  // Please obtain a copy of the License at
  9445  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9446  //
  9447  // The Original Code and all software distributed under the License are
  9448  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9449  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9450  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9451  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9452  // Please see the License for the specific language governing rights and
  9453  // limitations under the License.
  9454  //
  9455  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9456  
  9457  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  9458  //
  9459  // @APPLE_LICENSE_HEADER_START@
  9460  //
  9461  // This file contains Original Code and/or Modifications of Original Code
  9462  // as defined in and that are subject to the Apple Public Source License
  9463  // Version 2.0 (the 'License'). You may not use this file except in
  9464  // compliance with the License. Please obtain a copy of the License at
  9465  // http://www.opensource.apple.com/apsl/ and read it before using this
  9466  // file.
  9467  //
  9468  // The Original Code and all software distributed under the License are
  9469  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9470  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9471  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9472  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9473  // Please see the License for the specific language governing rights and
  9474  // limitations under the License.
  9475  //
  9476  // @APPLE_LICENSE_HEADER_END@
  9477  
  9478  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  9479  //
  9480  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9481  //
  9482  // This file contains Original Code and/or Modifications of Original Code
  9483  // as defined in and that are subject to the Apple Public Source License
  9484  // Version 2.0 (the 'License'). You may not use this file except in
  9485  // compliance with the License. The rights granted to you under the License
  9486  // may not be used to create, or enable the creation or redistribution of,
  9487  // unlawful or unlicensed copies of an Apple operating system, or to
  9488  // circumvent, violate, or enable the circumvention or violation of, any
  9489  // terms of an Apple operating system software license agreement.
  9490  //
  9491  // Please obtain a copy of the License at
  9492  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9493  //
  9494  // The Original Code and all software distributed under the License are
  9495  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9496  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9497  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9498  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9499  // Please see the License for the specific language governing rights and
  9500  // limitations under the License.
  9501  //
  9502  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9503  
  9504  // Copyright (c) 2000-2009 Apple, Inc. All rights reserved.
  9505  // Copyright (c) 1992 NeXT Computer, Inc.
  9506  //
  9507  
  9508  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  9509  //
  9510  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9511  //
  9512  // This file contains Original Code and/or Modifications of Original Code
  9513  // as defined in and that are subject to the Apple Public Source License
  9514  // Version 2.0 (the 'License'). You may not use this file except in
  9515  // compliance with the License. The rights granted to you under the License
  9516  // may not be used to create, or enable the creation or redistribution of,
  9517  // unlawful or unlicensed copies of an Apple operating system, or to
  9518  // circumvent, violate, or enable the circumvention or violation of, any
  9519  // terms of an Apple operating system software license agreement.
  9520  //
  9521  // Please obtain a copy of the License at
  9522  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9523  //
  9524  // The Original Code and all software distributed under the License are
  9525  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9526  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9527  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9528  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9529  // Please see the License for the specific language governing rights and
  9530  // limitations under the License.
  9531  //
  9532  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9533  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  9534  // Copyright (c) 1991, 1993
  9535  //	The Regents of the University of California.  All rights reserved.
  9536  //
  9537  // This code is derived from software contributed to Berkeley by
  9538  // Berkeley Software Design, Inc.
  9539  //
  9540  // Redistribution and use in source and binary forms, with or without
  9541  // modification, are permitted provided that the following conditions
  9542  // are met:
  9543  // 1. Redistributions of source code must retain the above copyright
  9544  //    notice, this list of conditions and the following disclaimer.
  9545  // 2. Redistributions in binary form must reproduce the above copyright
  9546  //    notice, this list of conditions and the following disclaimer in the
  9547  //    documentation and/or other materials provided with the distribution.
  9548  // 3. All advertising materials mentioning features or use of this software
  9549  //    must display the following acknowledgement:
  9550  //	This product includes software developed by the University of
  9551  //	California, Berkeley and its contributors.
  9552  // 4. Neither the name of the University nor the names of its contributors
  9553  //    may be used to endorse or promote products derived from this software
  9554  //    without specific prior written permission.
  9555  //
  9556  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  9557  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  9558  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  9559  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  9560  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  9561  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  9562  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9563  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  9564  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  9565  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  9566  // SUCH DAMAGE.
  9567  //
  9568  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  9569  
  9570  type Sig_atomic_t = int32 /* signal.h:17:13 */
  9571  
  9572  // Language spec sez we must list exactly one parameter, even though we
  9573  // actually supply three.  Ugh!
  9574  // SIG_HOLD is chosen to avoid KERN_SIG_* values in <sys/signalvar.h>
  9575  
  9576  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  9577  //
  9578  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9579  //
  9580  // This file contains Original Code and/or Modifications of Original Code
  9581  // as defined in and that are subject to the Apple Public Source License
  9582  // Version 2.0 (the 'License'). You may not use this file except in
  9583  // compliance with the License. The rights granted to you under the License
  9584  // may not be used to create, or enable the creation or redistribution of,
  9585  // unlawful or unlicensed copies of an Apple operating system, or to
  9586  // circumvent, violate, or enable the circumvention or violation of, any
  9587  // terms of an Apple operating system software license agreement.
  9588  //
  9589  // Please obtain a copy of the License at
  9590  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9591  //
  9592  // The Original Code and all software distributed under the License are
  9593  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9594  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9595  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9596  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9597  // Please see the License for the specific language governing rights and
  9598  // limitations under the License.
  9599  //
  9600  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9601  
  9602  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  9603  //
  9604  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9605  //
  9606  // This file contains Original Code and/or Modifications of Original Code
  9607  // as defined in and that are subject to the Apple Public Source License
  9608  // Version 2.0 (the 'License'). You may not use this file except in
  9609  // compliance with the License. The rights granted to you under the License
  9610  // may not be used to create, or enable the creation or redistribution of,
  9611  // unlawful or unlicensed copies of an Apple operating system, or to
  9612  // circumvent, violate, or enable the circumvention or violation of, any
  9613  // terms of an Apple operating system software license agreement.
  9614  //
  9615  // Please obtain a copy of the License at
  9616  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9617  //
  9618  // The Original Code and all software distributed under the License are
  9619  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9620  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9621  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9622  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9623  // Please see the License for the specific language governing rights and
  9624  // limitations under the License.
  9625  //
  9626  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9627  
  9628  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  9629  //
  9630  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9631  //
  9632  // This file contains Original Code and/or Modifications of Original Code
  9633  // as defined in and that are subject to the Apple Public Source License
  9634  // Version 2.0 (the 'License'). You may not use this file except in
  9635  // compliance with the License. The rights granted to you under the License
  9636  // may not be used to create, or enable the creation or redistribution of,
  9637  // unlawful or unlicensed copies of an Apple operating system, or to
  9638  // circumvent, violate, or enable the circumvention or violation of, any
  9639  // terms of an Apple operating system software license agreement.
  9640  //
  9641  // Please obtain a copy of the License at
  9642  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9643  //
  9644  // The Original Code and all software distributed under the License are
  9645  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9646  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9647  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9648  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9649  // Please see the License for the specific language governing rights and
  9650  // limitations under the License.
  9651  //
  9652  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9653  
  9654  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  9655  //
  9656  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9657  //
  9658  // This file contains Original Code and/or Modifications of Original Code
  9659  // as defined in and that are subject to the Apple Public Source License
  9660  // Version 2.0 (the 'License'). You may not use this file except in
  9661  // compliance with the License. The rights granted to you under the License
  9662  // may not be used to create, or enable the creation or redistribution of,
  9663  // unlawful or unlicensed copies of an Apple operating system, or to
  9664  // circumvent, violate, or enable the circumvention or violation of, any
  9665  // terms of an Apple operating system software license agreement.
  9666  //
  9667  // Please obtain a copy of the License at
  9668  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9669  //
  9670  // The Original Code and all software distributed under the License are
  9671  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9672  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9673  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9674  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9675  // Please see the License for the specific language governing rights and
  9676  // limitations under the License.
  9677  //
  9678  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9679  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  9680  // Copyright (c) 1991, 1993
  9681  //	The Regents of the University of California.  All rights reserved.
  9682  //
  9683  // This code is derived from software contributed to Berkeley by
  9684  // Berkeley Software Design, Inc.
  9685  //
  9686  // Redistribution and use in source and binary forms, with or without
  9687  // modification, are permitted provided that the following conditions
  9688  // are met:
  9689  // 1. Redistributions of source code must retain the above copyright
  9690  //    notice, this list of conditions and the following disclaimer.
  9691  // 2. Redistributions in binary form must reproduce the above copyright
  9692  //    notice, this list of conditions and the following disclaimer in the
  9693  //    documentation and/or other materials provided with the distribution.
  9694  // 3. All advertising materials mentioning features or use of this software
  9695  //    must display the following acknowledgement:
  9696  //	This product includes software developed by the University of
  9697  //	California, Berkeley and its contributors.
  9698  // 4. Neither the name of the University nor the names of its contributors
  9699  //    may be used to endorse or promote products derived from this software
  9700  //    without specific prior written permission.
  9701  //
  9702  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  9703  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  9704  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  9705  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  9706  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  9707  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  9708  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9709  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  9710  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  9711  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  9712  // SUCH DAMAGE.
  9713  //
  9714  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  9715  
  9716  // Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
  9717  //
  9718  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9719  //
  9720  // This file contains Original Code and/or Modifications of Original Code
  9721  // as defined in and that are subject to the Apple Public Source License
  9722  // Version 2.0 (the 'License'). You may not use this file except in
  9723  // compliance with the License. The rights granted to you under the License
  9724  // may not be used to create, or enable the creation or redistribution of,
  9725  // unlawful or unlicensed copies of an Apple operating system, or to
  9726  // circumvent, violate, or enable the circumvention or violation of, any
  9727  // terms of an Apple operating system software license agreement.
  9728  //
  9729  // Please obtain a copy of the License at
  9730  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9731  //
  9732  // The Original Code and all software distributed under the License are
  9733  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9734  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9735  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9736  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9737  // Please see the License for the specific language governing rights and
  9738  // limitations under the License.
  9739  //
  9740  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9741  
  9742  // Copyright (c) 2017 Apple Inc. All rights reserved.
  9743  //
  9744  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9745  //
  9746  // This file contains Original Code and/or Modifications of Original Code
  9747  // as defined in and that are subject to the Apple Public Source License
  9748  // Version 2.0 (the 'License'). You may not use this file except in
  9749  // compliance with the License. The rights granted to you under the License
  9750  // may not be used to create, or enable the creation or redistribution of,
  9751  // unlawful or unlicensed copies of an Apple operating system, or to
  9752  // circumvent, violate, or enable the circumvention or violation of, any
  9753  // terms of an Apple operating system software license agreement.
  9754  //
  9755  // Please obtain a copy of the License at
  9756  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9757  //
  9758  // The Original Code and all software distributed under the License are
  9759  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9760  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9761  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9762  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9763  // Please see the License for the specific language governing rights and
  9764  // limitations under the License.
  9765  //
  9766  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9767  
  9768  // Copyright (c) 2004-2007 Apple Inc. All rights reserved.
  9769  //
  9770  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9771  //
  9772  // This file contains Original Code and/or Modifications of Original Code
  9773  // as defined in and that are subject to the Apple Public Source License
  9774  // Version 2.0 (the 'License'). You may not use this file except in
  9775  // compliance with the License. The rights granted to you under the License
  9776  // may not be used to create, or enable the creation or redistribution of,
  9777  // unlawful or unlicensed copies of an Apple operating system, or to
  9778  // circumvent, violate, or enable the circumvention or violation of, any
  9779  // terms of an Apple operating system software license agreement.
  9780  //
  9781  // Please obtain a copy of the License at
  9782  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9783  //
  9784  // The Original Code and all software distributed under the License are
  9785  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9786  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9787  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9788  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9789  // Please see the License for the specific language governing rights and
  9790  // limitations under the License.
  9791  //
  9792  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9793  // @OSF_COPYRIGHT@
  9794  
  9795  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  9796  //
  9797  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9798  //
  9799  // This file contains Original Code and/or Modifications of Original Code
  9800  // as defined in and that are subject to the Apple Public Source License
  9801  // Version 2.0 (the 'License'). You may not use this file except in
  9802  // compliance with the License. The rights granted to you under the License
  9803  // may not be used to create, or enable the creation or redistribution of,
  9804  // unlawful or unlicensed copies of an Apple operating system, or to
  9805  // circumvent, violate, or enable the circumvention or violation of, any
  9806  // terms of an Apple operating system software license agreement.
  9807  //
  9808  // Please obtain a copy of the License at
  9809  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9810  //
  9811  // The Original Code and all software distributed under the License are
  9812  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9813  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9814  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9815  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9816  // Please see the License for the specific language governing rights and
  9817  // limitations under the License.
  9818  //
  9819  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9820  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  9821  // Copyright (c) 1991, 1993
  9822  //	The Regents of the University of California.  All rights reserved.
  9823  //
  9824  // This code is derived from software contributed to Berkeley by
  9825  // Berkeley Software Design, Inc.
  9826  //
  9827  // Redistribution and use in source and binary forms, with or without
  9828  // modification, are permitted provided that the following conditions
  9829  // are met:
  9830  // 1. Redistributions of source code must retain the above copyright
  9831  //    notice, this list of conditions and the following disclaimer.
  9832  // 2. Redistributions in binary form must reproduce the above copyright
  9833  //    notice, this list of conditions and the following disclaimer in the
  9834  //    documentation and/or other materials provided with the distribution.
  9835  // 3. All advertising materials mentioning features or use of this software
  9836  //    must display the following acknowledgement:
  9837  //	This product includes software developed by the University of
  9838  //	California, Berkeley and its contributors.
  9839  // 4. Neither the name of the University nor the names of its contributors
  9840  //    may be used to endorse or promote products derived from this software
  9841  //    without specific prior written permission.
  9842  //
  9843  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  9844  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  9845  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  9846  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  9847  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  9848  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  9849  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9850  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  9851  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  9852  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  9853  // SUCH DAMAGE.
  9854  //
  9855  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  9856  
  9857  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  9858  //
  9859  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  9860  //
  9861  // This file contains Original Code and/or Modifications of Original Code
  9862  // as defined in and that are subject to the Apple Public Source License
  9863  // Version 2.0 (the 'License'). You may not use this file except in
  9864  // compliance with the License. The rights granted to you under the License
  9865  // may not be used to create, or enable the creation or redistribution of,
  9866  // unlawful or unlicensed copies of an Apple operating system, or to
  9867  // circumvent, violate, or enable the circumvention or violation of, any
  9868  // terms of an Apple operating system software license agreement.
  9869  //
  9870  // Please obtain a copy of the License at
  9871  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  9872  //
  9873  // The Original Code and all software distributed under the License are
  9874  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9875  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9876  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9877  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9878  // Please see the License for the specific language governing rights and
  9879  // limitations under the License.
  9880  //
  9881  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  9882  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  9883  
  9884  type X__darwin_arm_exception_state = struct {
  9885  	F__exception X__uint32_t
  9886  	F__fsr       X__uint32_t
  9887  	F__far       X__uint32_t
  9888  } /* _structs.h:41:1 */
  9889  
  9890  type X__darwin_arm_exception_state64 = struct {
  9891  	F__far       X__uint64_t
  9892  	F__esr       X__uint32_t
  9893  	F__exception X__uint32_t
  9894  } /* _structs.h:59:1 */
  9895  
  9896  type X__darwin_arm_thread_state = struct {
  9897  	F__r    [13]X__uint32_t
  9898  	F__sp   X__uint32_t
  9899  	F__lr   X__uint32_t
  9900  	F__pc   X__uint32_t
  9901  	F__cpsr X__uint32_t
  9902  } /* _structs.h:77:1 */
  9903  
  9904  // By default, the pointer fields in the arm_thread_state64_t structure are
  9905  // opaque on the arm64e architecture and require the use of accessor macros.
  9906  // This mode can also be enabled on the arm64 architecture by building with
  9907  // -D__DARWIN_OPAQUE_ARM_THREAD_STATE64=1.
  9908  
  9909  type X__darwin_arm_thread_state64 = struct {
  9910  	F__x    [29]X__uint64_t
  9911  	F__fp   X__uint64_t
  9912  	F__lr   X__uint64_t
  9913  	F__sp   X__uint64_t
  9914  	F__pc   X__uint64_t
  9915  	F__cpsr X__uint32_t
  9916  	F__pad  X__uint32_t
  9917  } /* _structs.h:136:1 */
  9918  
  9919  // Accessor macros for arm_thread_state64_t pointer fields
  9920  
  9921  // Return pc field of arm_thread_state64_t as a data pointer value
  9922  // Return pc field of arm_thread_state64_t as a function pointer
  9923  // Set pc field of arm_thread_state64_t to a function pointer
  9924  // Return lr field of arm_thread_state64_t as a data pointer value
  9925  // Return lr field of arm_thread_state64_t as a function pointer
  9926  // Set lr field of arm_thread_state64_t to a function pointer
  9927  // Return sp field of arm_thread_state64_t as a data pointer value
  9928  // Set sp field of arm_thread_state64_t to a data pointer value
  9929  // Return fp field of arm_thread_state64_t as a data pointer value
  9930  // Set fp field of arm_thread_state64_t to a data pointer value
  9931  // Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t
  9932  
  9933  type X__darwin_arm_vfp_state = struct {
  9934  	F__r     [64]X__uint32_t
  9935  	F__fpscr X__uint32_t
  9936  } /* _structs.h:424:1 */
  9937  
  9938  type X__darwin_arm_neon_state64 = struct {
  9939  	F__v    [32]X__uint128_t
  9940  	F__fpsr X__uint32_t
  9941  	F__fpcr X__uint32_t
  9942  } /* _structs.h:443:1 */
  9943  
  9944  type X__darwin_arm_neon_state = struct {
  9945  	F__v    [16]X__uint128_t
  9946  	F__fpsr X__uint32_t
  9947  	F__fpcr X__uint32_t
  9948  } /* _structs.h:450:1 */
  9949  
  9950  type X__arm_pagein_state = struct{ F__pagein_error int32 } /* _structs.h:514:1 */
  9951  
  9952  // Debug State
  9953  
  9954  // ARM's arm_debug_state is ARM64's arm_legacy_debug_state
  9955  
  9956  type X__arm_legacy_debug_state = struct {
  9957  	F__bvr [16]X__uint32_t
  9958  	F__bcr [16]X__uint32_t
  9959  	F__wvr [16]X__uint32_t
  9960  	F__wcr [16]X__uint32_t
  9961  } /* _structs.h:551:1 */
  9962  
  9963  type X__darwin_arm_debug_state32 = struct {
  9964  	F__bvr       [16]X__uint32_t
  9965  	F__bcr       [16]X__uint32_t
  9966  	F__wvr       [16]X__uint32_t
  9967  	F__wcr       [16]X__uint32_t
  9968  	F__mdscr_el1 X__uint64_t
  9969  } /* _structs.h:574:1 */
  9970  
  9971  type X__darwin_arm_debug_state64 = struct {
  9972  	F__bvr       [16]X__uint64_t
  9973  	F__bcr       [16]X__uint64_t
  9974  	F__wvr       [16]X__uint64_t
  9975  	F__wcr       [16]X__uint64_t
  9976  	F__mdscr_el1 X__uint64_t
  9977  } /* _structs.h:584:1 */
  9978  
  9979  type X__darwin_arm_cpmu_state64 = struct{ F__ctrs [16]X__uint64_t } /* _structs.h:616:1 */
  9980  
  9981  type X__darwin_mcontext32 = struct {
  9982  	F__es struct {
  9983  		F__exception X__uint32_t
  9984  		F__fsr       X__uint32_t
  9985  		F__far       X__uint32_t
  9986  	}
  9987  	F__ss struct {
  9988  		F__r    [13]X__uint32_t
  9989  		F__sp   X__uint32_t
  9990  		F__lr   X__uint32_t
  9991  		F__pc   X__uint32_t
  9992  		F__cpsr X__uint32_t
  9993  	}
  9994  	F__fs struct {
  9995  		F__r     [64]X__uint32_t
  9996  		F__fpscr X__uint32_t
  9997  	}
  9998  } /* _mcontext.h:41:1 */
  9999  
 10000  type X__darwin_mcontext64 = struct {
 10001  	F__es struct {
 10002  		F__far       X__uint64_t
 10003  		F__esr       X__uint32_t
 10004  		F__exception X__uint32_t
 10005  	}
 10006  	F__ss struct {
 10007  		F__x    [29]X__uint64_t
 10008  		F__fp   X__uint64_t
 10009  		F__lr   X__uint64_t
 10010  		F__sp   X__uint64_t
 10011  		F__pc   X__uint64_t
 10012  		F__cpsr X__uint32_t
 10013  		F__pad  X__uint32_t
 10014  	}
 10015  	F__ns struct {
 10016  		F__v    [32]X__uint128_t
 10017  		F__fpsr X__uint32_t
 10018  		F__fpcr X__uint32_t
 10019  	}
 10020  } /* _mcontext.h:64:1 */
 10021  
 10022  type Mcontext_t = uintptr /* _mcontext.h:85:33 */
 10023  
 10024  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 10025  //
 10026  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10027  //
 10028  // This file contains Original Code and/or Modifications of Original Code
 10029  // as defined in and that are subject to the Apple Public Source License
 10030  // Version 2.0 (the 'License'). You may not use this file except in
 10031  // compliance with the License. The rights granted to you under the License
 10032  // may not be used to create, or enable the creation or redistribution of,
 10033  // unlawful or unlicensed copies of an Apple operating system, or to
 10034  // circumvent, violate, or enable the circumvention or violation of, any
 10035  // terms of an Apple operating system software license agreement.
 10036  //
 10037  // Please obtain a copy of the License at
 10038  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10039  //
 10040  // The Original Code and all software distributed under the License are
 10041  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10042  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10043  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10044  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10045  // Please see the License for the specific language governing rights and
 10046  // limitations under the License.
 10047  //
 10048  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10049  
 10050  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 10051  //
 10052  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10053  //
 10054  // This file contains Original Code and/or Modifications of Original Code
 10055  // as defined in and that are subject to the Apple Public Source License
 10056  // Version 2.0 (the 'License'). You may not use this file except in
 10057  // compliance with the License. The rights granted to you under the License
 10058  // may not be used to create, or enable the creation or redistribution of,
 10059  // unlawful or unlicensed copies of an Apple operating system, or to
 10060  // circumvent, violate, or enable the circumvention or violation of, any
 10061  // terms of an Apple operating system software license agreement.
 10062  //
 10063  // Please obtain a copy of the License at
 10064  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10065  //
 10066  // The Original Code and all software distributed under the License are
 10067  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10068  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10069  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10070  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10071  // Please see the License for the specific language governing rights and
 10072  // limitations under the License.
 10073  //
 10074  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10075  
 10076  // Structure used in sigaltstack call.
 10077  
 10078  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
 10079  //
 10080  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10081  //
 10082  // This file contains Original Code and/or Modifications of Original Code
 10083  // as defined in and that are subject to the Apple Public Source License
 10084  // Version 2.0 (the 'License'). You may not use this file except in
 10085  // compliance with the License. The rights granted to you under the License
 10086  // may not be used to create, or enable the creation or redistribution of,
 10087  // unlawful or unlicensed copies of an Apple operating system, or to
 10088  // circumvent, violate, or enable the circumvention or violation of, any
 10089  // terms of an Apple operating system software license agreement.
 10090  //
 10091  // Please obtain a copy of the License at
 10092  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10093  //
 10094  // The Original Code and all software distributed under the License are
 10095  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10096  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10097  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10098  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10099  // Please see the License for the specific language governing rights and
 10100  // limitations under the License.
 10101  //
 10102  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10103  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
 10104  // Copyright (c) 1991, 1993
 10105  //	The Regents of the University of California.  All rights reserved.
 10106  //
 10107  // This code is derived from software contributed to Berkeley by
 10108  // Berkeley Software Design, Inc.
 10109  //
 10110  // Redistribution and use in source and binary forms, with or without
 10111  // modification, are permitted provided that the following conditions
 10112  // are met:
 10113  // 1. Redistributions of source code must retain the above copyright
 10114  //    notice, this list of conditions and the following disclaimer.
 10115  // 2. Redistributions in binary form must reproduce the above copyright
 10116  //    notice, this list of conditions and the following disclaimer in the
 10117  //    documentation and/or other materials provided with the distribution.
 10118  // 3. All advertising materials mentioning features or use of this software
 10119  //    must display the following acknowledgement:
 10120  //	This product includes software developed by the University of
 10121  //	California, Berkeley and its contributors.
 10122  // 4. Neither the name of the University nor the names of its contributors
 10123  //    may be used to endorse or promote products derived from this software
 10124  //    without specific prior written permission.
 10125  //
 10126  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 10127  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 10128  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 10129  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 10130  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 10131  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 10132  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 10133  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 10134  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 10135  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 10136  // SUCH DAMAGE.
 10137  //
 10138  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
 10139  
 10140  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
 10141  //
 10142  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10143  //
 10144  // This file contains Original Code and/or Modifications of Original Code
 10145  // as defined in and that are subject to the Apple Public Source License
 10146  // Version 2.0 (the 'License'). You may not use this file except in
 10147  // compliance with the License. The rights granted to you under the License
 10148  // may not be used to create, or enable the creation or redistribution of,
 10149  // unlawful or unlicensed copies of an Apple operating system, or to
 10150  // circumvent, violate, or enable the circumvention or violation of, any
 10151  // terms of an Apple operating system software license agreement.
 10152  //
 10153  // Please obtain a copy of the License at
 10154  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10155  //
 10156  // The Original Code and all software distributed under the License are
 10157  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10158  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10159  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10160  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10161  // Please see the License for the specific language governing rights and
 10162  // limitations under the License.
 10163  //
 10164  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10165  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
 10166  
 10167  type X__darwin_sigaltstack = struct {
 10168  	Fss_sp       uintptr
 10169  	Fss_size     X__darwin_size_t
 10170  	Fss_flags    int32
 10171  	F__ccgo_pad1 [4]byte
 10172  } /* _sigaltstack.h:42:1 */
 10173  
 10174  type Stack_t = X__darwin_sigaltstack /* _sigaltstack.h:48:33 */ // [???] signal stack
 10175  
 10176  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 10177  //
 10178  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10179  //
 10180  // This file contains Original Code and/or Modifications of Original Code
 10181  // as defined in and that are subject to the Apple Public Source License
 10182  // Version 2.0 (the 'License'). You may not use this file except in
 10183  // compliance with the License. The rights granted to you under the License
 10184  // may not be used to create, or enable the creation or redistribution of,
 10185  // unlawful or unlicensed copies of an Apple operating system, or to
 10186  // circumvent, violate, or enable the circumvention or violation of, any
 10187  // terms of an Apple operating system software license agreement.
 10188  //
 10189  // Please obtain a copy of the License at
 10190  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10191  //
 10192  // The Original Code and all software distributed under the License are
 10193  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10194  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10195  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10196  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10197  // Please see the License for the specific language governing rights and
 10198  // limitations under the License.
 10199  //
 10200  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10201  
 10202  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
 10203  //
 10204  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10205  //
 10206  // This file contains Original Code and/or Modifications of Original Code
 10207  // as defined in and that are subject to the Apple Public Source License
 10208  // Version 2.0 (the 'License'). You may not use this file except in
 10209  // compliance with the License. The rights granted to you under the License
 10210  // may not be used to create, or enable the creation or redistribution of,
 10211  // unlawful or unlicensed copies of an Apple operating system, or to
 10212  // circumvent, violate, or enable the circumvention or violation of, any
 10213  // terms of an Apple operating system software license agreement.
 10214  //
 10215  // Please obtain a copy of the License at
 10216  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10217  //
 10218  // The Original Code and all software distributed under the License are
 10219  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10220  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10221  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10222  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10223  // Please see the License for the specific language governing rights and
 10224  // limitations under the License.
 10225  //
 10226  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10227  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
 10228  // Copyright (c) 1991, 1993
 10229  //	The Regents of the University of California.  All rights reserved.
 10230  //
 10231  // This code is derived from software contributed to Berkeley by
 10232  // Berkeley Software Design, Inc.
 10233  //
 10234  // Redistribution and use in source and binary forms, with or without
 10235  // modification, are permitted provided that the following conditions
 10236  // are met:
 10237  // 1. Redistributions of source code must retain the above copyright
 10238  //    notice, this list of conditions and the following disclaimer.
 10239  // 2. Redistributions in binary form must reproduce the above copyright
 10240  //    notice, this list of conditions and the following disclaimer in the
 10241  //    documentation and/or other materials provided with the distribution.
 10242  // 3. All advertising materials mentioning features or use of this software
 10243  //    must display the following acknowledgement:
 10244  //	This product includes software developed by the University of
 10245  //	California, Berkeley and its contributors.
 10246  // 4. Neither the name of the University nor the names of its contributors
 10247  //    may be used to endorse or promote products derived from this software
 10248  //    without specific prior written permission.
 10249  //
 10250  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 10251  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 10252  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 10253  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 10254  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 10255  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 10256  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 10257  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 10258  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 10259  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 10260  // SUCH DAMAGE.
 10261  //
 10262  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
 10263  
 10264  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
 10265  //
 10266  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10267  //
 10268  // This file contains Original Code and/or Modifications of Original Code
 10269  // as defined in and that are subject to the Apple Public Source License
 10270  // Version 2.0 (the 'License'). You may not use this file except in
 10271  // compliance with the License. The rights granted to you under the License
 10272  // may not be used to create, or enable the creation or redistribution of,
 10273  // unlawful or unlicensed copies of an Apple operating system, or to
 10274  // circumvent, violate, or enable the circumvention or violation of, any
 10275  // terms of an Apple operating system software license agreement.
 10276  //
 10277  // Please obtain a copy of the License at
 10278  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10279  //
 10280  // The Original Code and all software distributed under the License are
 10281  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10282  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10283  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10284  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10285  // Please see the License for the specific language governing rights and
 10286  // limitations under the License.
 10287  //
 10288  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10289  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
 10290  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 10291  //
 10292  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10293  //
 10294  // This file contains Original Code and/or Modifications of Original Code
 10295  // as defined in and that are subject to the Apple Public Source License
 10296  // Version 2.0 (the 'License'). You may not use this file except in
 10297  // compliance with the License. The rights granted to you under the License
 10298  // may not be used to create, or enable the creation or redistribution of,
 10299  // unlawful or unlicensed copies of an Apple operating system, or to
 10300  // circumvent, violate, or enable the circumvention or violation of, any
 10301  // terms of an Apple operating system software license agreement.
 10302  //
 10303  // Please obtain a copy of the License at
 10304  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10305  //
 10306  // The Original Code and all software distributed under the License are
 10307  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10308  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10309  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10310  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10311  // Please see the License for the specific language governing rights and
 10312  // limitations under the License.
 10313  //
 10314  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10315  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
 10316  //
 10317  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10318  //
 10319  // This file contains Original Code and/or Modifications of Original Code
 10320  // as defined in and that are subject to the Apple Public Source License
 10321  // Version 2.0 (the 'License'). You may not use this file except in
 10322  // compliance with the License. The rights granted to you under the License
 10323  // may not be used to create, or enable the creation or redistribution of,
 10324  // unlawful or unlicensed copies of an Apple operating system, or to
 10325  // circumvent, violate, or enable the circumvention or violation of, any
 10326  // terms of an Apple operating system software license agreement.
 10327  //
 10328  // Please obtain a copy of the License at
 10329  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10330  //
 10331  // The Original Code and all software distributed under the License are
 10332  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10333  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10334  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10335  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10336  // Please see the License for the specific language governing rights and
 10337  // limitations under the License.
 10338  //
 10339  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10340  
 10341  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 10342  //
 10343  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10344  //
 10345  // This file contains Original Code and/or Modifications of Original Code
 10346  // as defined in and that are subject to the Apple Public Source License
 10347  // Version 2.0 (the 'License'). You may not use this file except in
 10348  // compliance with the License. The rights granted to you under the License
 10349  // may not be used to create, or enable the creation or redistribution of,
 10350  // unlawful or unlicensed copies of an Apple operating system, or to
 10351  // circumvent, violate, or enable the circumvention or violation of, any
 10352  // terms of an Apple operating system software license agreement.
 10353  //
 10354  // Please obtain a copy of the License at
 10355  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10356  //
 10357  // The Original Code and all software distributed under the License are
 10358  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10359  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10360  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10361  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10362  // Please see the License for the specific language governing rights and
 10363  // limitations under the License.
 10364  //
 10365  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10366  
 10367  // Structure used in sigaltstack call.
 10368  
 10369  type X__darwin_ucontext = struct {
 10370  	Fuc_onstack int32
 10371  	Fuc_sigmask X__darwin_sigset_t
 10372  	Fuc_stack   struct {
 10373  		Fss_sp       uintptr
 10374  		Fss_size     X__darwin_size_t
 10375  		Fss_flags    int32
 10376  		F__ccgo_pad1 [4]byte
 10377  	}
 10378  	Fuc_link     uintptr
 10379  	Fuc_mcsize   X__darwin_size_t
 10380  	Fuc_mcontext uintptr
 10381  } /* _ucontext.h:43:1 */
 10382  
 10383  // user context
 10384  type Ucontext_t = X__darwin_ucontext /* _ucontext.h:57:33 */ // [???] user context
 10385  
 10386  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 10387  //
 10388  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10389  //
 10390  // This file contains Original Code and/or Modifications of Original Code
 10391  // as defined in and that are subject to the Apple Public Source License
 10392  // Version 2.0 (the 'License'). You may not use this file except in
 10393  // compliance with the License. The rights granted to you under the License
 10394  // may not be used to create, or enable the creation or redistribution of,
 10395  // unlawful or unlicensed copies of an Apple operating system, or to
 10396  // circumvent, violate, or enable the circumvention or violation of, any
 10397  // terms of an Apple operating system software license agreement.
 10398  //
 10399  // Please obtain a copy of the License at
 10400  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10401  //
 10402  // The Original Code and all software distributed under the License are
 10403  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10404  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10405  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10406  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10407  // Please see the License for the specific language governing rights and
 10408  // limitations under the License.
 10409  //
 10410  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10411  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 10412  //
 10413  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10414  //
 10415  // This file contains Original Code and/or Modifications of Original Code
 10416  // as defined in and that are subject to the Apple Public Source License
 10417  // Version 2.0 (the 'License'). You may not use this file except in
 10418  // compliance with the License. The rights granted to you under the License
 10419  // may not be used to create, or enable the creation or redistribution of,
 10420  // unlawful or unlicensed copies of an Apple operating system, or to
 10421  // circumvent, violate, or enable the circumvention or violation of, any
 10422  // terms of an Apple operating system software license agreement.
 10423  //
 10424  // Please obtain a copy of the License at
 10425  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10426  //
 10427  // The Original Code and all software distributed under the License are
 10428  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10429  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10430  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10431  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10432  // Please see the License for the specific language governing rights and
 10433  // limitations under the License.
 10434  //
 10435  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10436  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 10437  //
 10438  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10439  //
 10440  // This file contains Original Code and/or Modifications of Original Code
 10441  // as defined in and that are subject to the Apple Public Source License
 10442  // Version 2.0 (the 'License'). You may not use this file except in
 10443  // compliance with the License. The rights granted to you under the License
 10444  // may not be used to create, or enable the creation or redistribution of,
 10445  // unlawful or unlicensed copies of an Apple operating system, or to
 10446  // circumvent, violate, or enable the circumvention or violation of, any
 10447  // terms of an Apple operating system software license agreement.
 10448  //
 10449  // Please obtain a copy of the License at
 10450  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10451  //
 10452  // The Original Code and all software distributed under the License are
 10453  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10454  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10455  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10456  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10457  // Please see the License for the specific language governing rights and
 10458  // limitations under the License.
 10459  //
 10460  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10461  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 10462  //
 10463  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10464  //
 10465  // This file contains Original Code and/or Modifications of Original Code
 10466  // as defined in and that are subject to the Apple Public Source License
 10467  // Version 2.0 (the 'License'). You may not use this file except in
 10468  // compliance with the License. The rights granted to you under the License
 10469  // may not be used to create, or enable the creation or redistribution of,
 10470  // unlawful or unlicensed copies of an Apple operating system, or to
 10471  // circumvent, violate, or enable the circumvention or violation of, any
 10472  // terms of an Apple operating system software license agreement.
 10473  //
 10474  // Please obtain a copy of the License at
 10475  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10476  //
 10477  // The Original Code and all software distributed under the License are
 10478  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10479  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10480  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10481  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10482  // Please see the License for the specific language governing rights and
 10483  // limitations under the License.
 10484  //
 10485  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10486  
 10487  type Sigval = struct {
 10488  	F__ccgo_pad1 [0]uint64
 10489  	Fsival_int   int32
 10490  	F__ccgo_pad2 [4]byte
 10491  } /* signal.h:158:1 */
 10492  
 10493  type Sigevent = struct {
 10494  	Fsigev_notify int32
 10495  	Fsigev_signo  int32
 10496  	Fsigev_value  struct {
 10497  		F__ccgo_pad1 [0]uint64
 10498  		Fsival_int   int32
 10499  		F__ccgo_pad2 [4]byte
 10500  	}
 10501  	Fsigev_notify_function   uintptr
 10502  	Fsigev_notify_attributes uintptr
 10503  } /* signal.h:168:1 */
 10504  
 10505  type X__siginfo = struct {
 10506  	Fsi_signo  int32
 10507  	Fsi_errno  int32
 10508  	Fsi_code   int32
 10509  	Fsi_pid    Pid_t
 10510  	Fsi_uid    Uid_t
 10511  	Fsi_status int32
 10512  	Fsi_addr   uintptr
 10513  	Fsi_value  struct {
 10514  		F__ccgo_pad1 [0]uint64
 10515  		Fsival_int   int32
 10516  		F__ccgo_pad2 [4]byte
 10517  	}
 10518  	Fsi_band int64
 10519  	F__pad   [7]uint64
 10520  } /* signal.h:177:9 */
 10521  
 10522  type Siginfo_t = X__siginfo /* signal.h:188:3 */
 10523  
 10524  // When the signal is SIGILL or SIGFPE, si_addr contains the address of
 10525  // the faulting instruction.
 10526  // When the signal is SIGSEGV or SIGBUS, si_addr contains the address of
 10527  // the faulting memory reference. Although for x86 there are cases of SIGSEGV
 10528  // for which si_addr cannot be determined and is NULL.
 10529  // If the signal is SIGCHLD, the si_pid field will contain the child process ID,
 10530  //  si_status contains the exit value or signal and
 10531  //  si_uid contains the real user ID of the process that sent the signal.
 10532  
 10533  // Values for si_code
 10534  
 10535  // Codes for SIGILL
 10536  
 10537  // Codes for SIGFPE
 10538  
 10539  // Codes for SIGSEGV
 10540  
 10541  // Codes for SIGBUS
 10542  
 10543  // Codes for SIGTRAP
 10544  
 10545  // Codes for SIGCHLD
 10546  
 10547  // Codes for SIGPOLL
 10548  
 10549  // union for signal handlers
 10550  type X__sigaction_u = struct{ F__sa_handler uintptr } /* signal.h:269:1 */
 10551  
 10552  // Signal vector template for Kernel user boundary
 10553  type X__sigaction = struct {
 10554  	F__sigaction_u struct{ F__sa_handler uintptr }
 10555  	Fsa_tramp      uintptr
 10556  	Fsa_mask       Sigset_t
 10557  	Fsa_flags      int32
 10558  } /* signal.h:276:1 */
 10559  
 10560  // Signal vector "template" used in sigaction call.
 10561  type Sigaction = struct {
 10562  	F__sigaction_u struct{ F__sa_handler uintptr }
 10563  	Fsa_mask       Sigset_t
 10564  	Fsa_flags      int32
 10565  } /* signal.h:286:1 */
 10566  
 10567  // if SA_SIGINFO is set, sa_sigaction is to be used instead of sa_handler.
 10568  
 10569  // This will provide 64bit register set in a 32bit user address space
 10570  
 10571  // the following are the only bits we support from user space, the
 10572  // rest are for kernel use only.
 10573  
 10574  // Flags for sigprocmask:
 10575  
 10576  // POSIX 1003.1b required values.
 10577  
 10578  type Sig_t = uintptr /* signal.h:331:14 */ // type of signal function
 10579  
 10580  // Structure used in sigaltstack call.
 10581  
 10582  // 4.3 compatibility:
 10583  // Signal vector "template" used in sigvec call.
 10584  type Sigvec = struct {
 10585  	Fsv_handler uintptr
 10586  	Fsv_mask    int32
 10587  	Fsv_flags   int32
 10588  } /* signal.h:348:1 */
 10589  
 10590  // Structure used in sigstack call.
 10591  type Sigstack = struct {
 10592  	Fss_sp       uintptr
 10593  	Fss_onstack  int32
 10594  	F__ccgo_pad1 [4]byte
 10595  } /* signal.h:367:1 */
 10596  
 10597  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
 10598  //
 10599  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10600  //
 10601  // This file contains Original Code and/or Modifications of Original Code
 10602  // as defined in and that are subject to the Apple Public Source License
 10603  // Version 2.0 (the 'License'). You may not use this file except in
 10604  // compliance with the License. The rights granted to you under the License
 10605  // may not be used to create, or enable the creation or redistribution of,
 10606  // unlawful or unlicensed copies of an Apple operating system, or to
 10607  // circumvent, violate, or enable the circumvention or violation of, any
 10608  // terms of an Apple operating system software license agreement.
 10609  //
 10610  // Please obtain a copy of the License at
 10611  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10612  //
 10613  // The Original Code and all software distributed under the License are
 10614  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10615  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10616  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10617  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10618  // Please see the License for the specific language governing rights and
 10619  // limitations under the License.
 10620  //
 10621  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10622  // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
 10623  // Copyright (c) 1982, 1986, 1993
 10624  //	The Regents of the University of California.  All rights reserved.
 10625  //
 10626  // Redistribution and use in source and binary forms, with or without
 10627  // modification, are permitted provided that the following conditions
 10628  // are met:
 10629  // 1. Redistributions of source code must retain the above copyright
 10630  //    notice, this list of conditions and the following disclaimer.
 10631  // 2. Redistributions in binary form must reproduce the above copyright
 10632  //    notice, this list of conditions and the following disclaimer in the
 10633  //    documentation and/or other materials provided with the distribution.
 10634  // 3. All advertising materials mentioning features or use of this software
 10635  //    must display the following acknowledgement:
 10636  //	This product includes software developed by the University of
 10637  //	California, Berkeley and its contributors.
 10638  // 4. Neither the name of the University nor the names of its contributors
 10639  //    may be used to endorse or promote products derived from this software
 10640  //    without specific prior written permission.
 10641  //
 10642  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 10643  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 10644  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 10645  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 10646  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 10647  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 10648  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 10649  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 10650  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 10651  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 10652  // SUCH DAMAGE.
 10653  //
 10654  //	@(#)resource.h	8.2 (Berkeley) 1/4/94
 10655  
 10656  // Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
 10657  //
 10658  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10659  //
 10660  // This file contains Original Code and/or Modifications of Original Code
 10661  // as defined in and that are subject to the Apple Public Source License
 10662  // Version 2.0 (the 'License'). You may not use this file except in
 10663  // compliance with the License. The rights granted to you under the License
 10664  // may not be used to create, or enable the creation or redistribution of,
 10665  // unlawful or unlicensed copies of an Apple operating system, or to
 10666  // circumvent, violate, or enable the circumvention or violation of, any
 10667  // terms of an Apple operating system software license agreement.
 10668  //
 10669  // Please obtain a copy of the License at
 10670  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10671  //
 10672  // The Original Code and all software distributed under the License are
 10673  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10674  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10675  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10676  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10677  // Please see the License for the specific language governing rights and
 10678  // limitations under the License.
 10679  //
 10680  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10681  
 10682  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
 10683  //
 10684  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10685  //
 10686  // This file contains Original Code and/or Modifications of Original Code
 10687  // as defined in and that are subject to the Apple Public Source License
 10688  // Version 2.0 (the 'License'). You may not use this file except in
 10689  // compliance with the License. The rights granted to you under the License
 10690  // may not be used to create, or enable the creation or redistribution of,
 10691  // unlawful or unlicensed copies of an Apple operating system, or to
 10692  // circumvent, violate, or enable the circumvention or violation of, any
 10693  // terms of an Apple operating system software license agreement.
 10694  //
 10695  // Please obtain a copy of the License at
 10696  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10697  //
 10698  // The Original Code and all software distributed under the License are
 10699  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10700  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10701  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10702  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10703  // Please see the License for the specific language governing rights and
 10704  // limitations under the License.
 10705  //
 10706  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10707  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
 10708  // Copyright (c) 1991, 1993
 10709  //	The Regents of the University of California.  All rights reserved.
 10710  //
 10711  // This code is derived from software contributed to Berkeley by
 10712  // Berkeley Software Design, Inc.
 10713  //
 10714  // Redistribution and use in source and binary forms, with or without
 10715  // modification, are permitted provided that the following conditions
 10716  // are met:
 10717  // 1. Redistributions of source code must retain the above copyright
 10718  //    notice, this list of conditions and the following disclaimer.
 10719  // 2. Redistributions in binary form must reproduce the above copyright
 10720  //    notice, this list of conditions and the following disclaimer in the
 10721  //    documentation and/or other materials provided with the distribution.
 10722  // 3. All advertising materials mentioning features or use of this software
 10723  //    must display the following acknowledgement:
 10724  //	This product includes software developed by the University of
 10725  //	California, Berkeley and its contributors.
 10726  // 4. Neither the name of the University nor the names of its contributors
 10727  //    may be used to endorse or promote products derived from this software
 10728  //    without specific prior written permission.
 10729  //
 10730  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 10731  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 10732  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 10733  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 10734  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 10735  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 10736  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 10737  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 10738  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 10739  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 10740  // SUCH DAMAGE.
 10741  //
 10742  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
 10743  
 10744  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
 10745  //
 10746  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10747  //
 10748  // This file contains Original Code and/or Modifications of Original Code
 10749  // as defined in and that are subject to the Apple Public Source License
 10750  // Version 2.0 (the 'License'). You may not use this file except in
 10751  // compliance with the License. The rights granted to you under the License
 10752  // may not be used to create, or enable the creation or redistribution of,
 10753  // unlawful or unlicensed copies of an Apple operating system, or to
 10754  // circumvent, violate, or enable the circumvention or violation of, any
 10755  // terms of an Apple operating system software license agreement.
 10756  //
 10757  // Please obtain a copy of the License at
 10758  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10759  //
 10760  // The Original Code and all software distributed under the License are
 10761  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10762  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10763  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10764  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10765  // Please see the License for the specific language governing rights and
 10766  // limitations under the License.
 10767  //
 10768  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10769  
 10770  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
 10771  //
 10772  // @APPLE_LICENSE_HEADER_START@
 10773  //
 10774  // This file contains Original Code and/or Modifications of Original Code
 10775  // as defined in and that are subject to the Apple Public Source License
 10776  // Version 2.0 (the 'License'). You may not use this file except in
 10777  // compliance with the License. Please obtain a copy of the License at
 10778  // http://www.opensource.apple.com/apsl/ and read it before using this
 10779  // file.
 10780  //
 10781  // The Original Code and all software distributed under the License are
 10782  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10783  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10784  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10785  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10786  // Please see the License for the specific language governing rights and
 10787  // limitations under the License.
 10788  //
 10789  // @APPLE_LICENSE_HEADER_END@
 10790  
 10791  // [XSI] The timeval structure shall be defined as described in
 10792  // <sys/time.h>
 10793  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 10794  //
 10795  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10796  //
 10797  // This file contains Original Code and/or Modifications of Original Code
 10798  // as defined in and that are subject to the Apple Public Source License
 10799  // Version 2.0 (the 'License'). You may not use this file except in
 10800  // compliance with the License. The rights granted to you under the License
 10801  // may not be used to create, or enable the creation or redistribution of,
 10802  // unlawful or unlicensed copies of an Apple operating system, or to
 10803  // circumvent, violate, or enable the circumvention or violation of, any
 10804  // terms of an Apple operating system software license agreement.
 10805  //
 10806  // Please obtain a copy of the License at
 10807  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10808  //
 10809  // The Original Code and all software distributed under the License are
 10810  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10811  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10812  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10813  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10814  // Please see the License for the specific language governing rights and
 10815  // limitations under the License.
 10816  //
 10817  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10818  
 10819  // The id_t type shall be defined as described in <sys/types.h>
 10820  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 10821  //
 10822  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 10823  //
 10824  // This file contains Original Code and/or Modifications of Original Code
 10825  // as defined in and that are subject to the Apple Public Source License
 10826  // Version 2.0 (the 'License'). You may not use this file except in
 10827  // compliance with the License. The rights granted to you under the License
 10828  // may not be used to create, or enable the creation or redistribution of,
 10829  // unlawful or unlicensed copies of an Apple operating system, or to
 10830  // circumvent, violate, or enable the circumvention or violation of, any
 10831  // terms of an Apple operating system software license agreement.
 10832  //
 10833  // Please obtain a copy of the License at
 10834  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 10835  //
 10836  // The Original Code and all software distributed under the License are
 10837  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 10838  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 10839  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 10840  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 10841  // Please see the License for the specific language governing rights and
 10842  // limitations under the License.
 10843  //
 10844  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 10845  
 10846  // Resource limit type (low 63 bits, excluding the sign bit)
 10847  type Rlim_t = X__uint64_t /* resource.h:89:25 */
 10848  
 10849  // ****
 10850  //
 10851  // PRIORITY
 10852  
 10853  // Possible values of the first parameter to getpriority()/setpriority(),
 10854  // used to indicate the type of the second parameter.
 10855  
 10856  // Range limitations for the value of the third parameter to setpriority().
 10857  
 10858  // use PRIO_DARWIN_BG to set the current thread into "background" state
 10859  // which lowers CPU, disk IO, and networking priorites until thread terminates
 10860  // or "background" state is revoked
 10861  
 10862  // use PRIO_DARWIN_NONUI to restrict a process's ability to make calls to
 10863  // the GPU. (deprecated)
 10864  
 10865  // ****
 10866  //
 10867  // RESOURCE USAGE
 10868  
 10869  // Possible values of the first parameter to getrusage(), used to indicate
 10870  // the scope of the information to be returned.
 10871  
 10872  // A structure representing an accounting of resource utilization.  The
 10873  // address of an instance of this structure is the second parameter to
 10874  // getrusage().
 10875  //
 10876  // Note: All values other than ru_utime and ru_stime are implementaiton
 10877  //       defined and subject to change in a future release.  Their use
 10878  //       is discouraged for standards compliant programs.
 10879  type Rusage = struct {
 10880  	Fru_utime struct {
 10881  		Ftv_sec      X__darwin_time_t
 10882  		Ftv_usec     X__darwin_suseconds_t
 10883  		F__ccgo_pad1 [4]byte
 10884  	}
 10885  	Fru_stime struct {
 10886  		Ftv_sec      X__darwin_time_t
 10887  		Ftv_usec     X__darwin_suseconds_t
 10888  		F__ccgo_pad1 [4]byte
 10889  	}
 10890  	Fru_maxrss   int64
 10891  	Fru_ixrss    int64
 10892  	Fru_idrss    int64
 10893  	Fru_isrss    int64
 10894  	Fru_minflt   int64
 10895  	Fru_majflt   int64
 10896  	Fru_nswap    int64
 10897  	Fru_inblock  int64
 10898  	Fru_oublock  int64
 10899  	Fru_msgsnd   int64
 10900  	Fru_msgrcv   int64
 10901  	Fru_nsignals int64
 10902  	Fru_nvcsw    int64
 10903  	Fru_nivcsw   int64
 10904  } /* resource.h:152:1 */
 10905  
 10906  // Flavors for proc_pid_rusage().
 10907  
 10908  // Flags for RUSAGE_INFO_V5
 10909  
 10910  type Rusage_info_t = uintptr /* resource.h:199:14 */
 10911  
 10912  type Rusage_info_v0 = struct {
 10913  	Fri_uuid               [16]Uint8_t
 10914  	Fri_user_time          Uint64_t
 10915  	Fri_system_time        Uint64_t
 10916  	Fri_pkg_idle_wkups     Uint64_t
 10917  	Fri_interrupt_wkups    Uint64_t
 10918  	Fri_pageins            Uint64_t
 10919  	Fri_wired_size         Uint64_t
 10920  	Fri_resident_size      Uint64_t
 10921  	Fri_phys_footprint     Uint64_t
 10922  	Fri_proc_start_abstime Uint64_t
 10923  	Fri_proc_exit_abstime  Uint64_t
 10924  } /* resource.h:201:1 */
 10925  
 10926  type Rusage_info_v1 = struct {
 10927  	Fri_uuid                  [16]Uint8_t
 10928  	Fri_user_time             Uint64_t
 10929  	Fri_system_time           Uint64_t
 10930  	Fri_pkg_idle_wkups        Uint64_t
 10931  	Fri_interrupt_wkups       Uint64_t
 10932  	Fri_pageins               Uint64_t
 10933  	Fri_wired_size            Uint64_t
 10934  	Fri_resident_size         Uint64_t
 10935  	Fri_phys_footprint        Uint64_t
 10936  	Fri_proc_start_abstime    Uint64_t
 10937  	Fri_proc_exit_abstime     Uint64_t
 10938  	Fri_child_user_time       Uint64_t
 10939  	Fri_child_system_time     Uint64_t
 10940  	Fri_child_pkg_idle_wkups  Uint64_t
 10941  	Fri_child_interrupt_wkups Uint64_t
 10942  	Fri_child_pageins         Uint64_t
 10943  	Fri_child_elapsed_abstime Uint64_t
 10944  } /* resource.h:215:1 */
 10945  
 10946  type Rusage_info_v2 = struct {
 10947  	Fri_uuid                  [16]Uint8_t
 10948  	Fri_user_time             Uint64_t
 10949  	Fri_system_time           Uint64_t
 10950  	Fri_pkg_idle_wkups        Uint64_t
 10951  	Fri_interrupt_wkups       Uint64_t
 10952  	Fri_pageins               Uint64_t
 10953  	Fri_wired_size            Uint64_t
 10954  	Fri_resident_size         Uint64_t
 10955  	Fri_phys_footprint        Uint64_t
 10956  	Fri_proc_start_abstime    Uint64_t
 10957  	Fri_proc_exit_abstime     Uint64_t
 10958  	Fri_child_user_time       Uint64_t
 10959  	Fri_child_system_time     Uint64_t
 10960  	Fri_child_pkg_idle_wkups  Uint64_t
 10961  	Fri_child_interrupt_wkups Uint64_t
 10962  	Fri_child_pageins         Uint64_t
 10963  	Fri_child_elapsed_abstime Uint64_t
 10964  	Fri_diskio_bytesread      Uint64_t
 10965  	Fri_diskio_byteswritten   Uint64_t
 10966  } /* resource.h:235:1 */
 10967  
 10968  type Rusage_info_v3 = struct {
 10969  	Fri_uuid                          [16]Uint8_t
 10970  	Fri_user_time                     Uint64_t
 10971  	Fri_system_time                   Uint64_t
 10972  	Fri_pkg_idle_wkups                Uint64_t
 10973  	Fri_interrupt_wkups               Uint64_t
 10974  	Fri_pageins                       Uint64_t
 10975  	Fri_wired_size                    Uint64_t
 10976  	Fri_resident_size                 Uint64_t
 10977  	Fri_phys_footprint                Uint64_t
 10978  	Fri_proc_start_abstime            Uint64_t
 10979  	Fri_proc_exit_abstime             Uint64_t
 10980  	Fri_child_user_time               Uint64_t
 10981  	Fri_child_system_time             Uint64_t
 10982  	Fri_child_pkg_idle_wkups          Uint64_t
 10983  	Fri_child_interrupt_wkups         Uint64_t
 10984  	Fri_child_pageins                 Uint64_t
 10985  	Fri_child_elapsed_abstime         Uint64_t
 10986  	Fri_diskio_bytesread              Uint64_t
 10987  	Fri_diskio_byteswritten           Uint64_t
 10988  	Fri_cpu_time_qos_default          Uint64_t
 10989  	Fri_cpu_time_qos_maintenance      Uint64_t
 10990  	Fri_cpu_time_qos_background       Uint64_t
 10991  	Fri_cpu_time_qos_utility          Uint64_t
 10992  	Fri_cpu_time_qos_legacy           Uint64_t
 10993  	Fri_cpu_time_qos_user_initiated   Uint64_t
 10994  	Fri_cpu_time_qos_user_interactive Uint64_t
 10995  	Fri_billed_system_time            Uint64_t
 10996  	Fri_serviced_system_time          Uint64_t
 10997  } /* resource.h:257:1 */
 10998  
 10999  type Rusage_info_v4 = struct {
 11000  	Fri_uuid                          [16]Uint8_t
 11001  	Fri_user_time                     Uint64_t
 11002  	Fri_system_time                   Uint64_t
 11003  	Fri_pkg_idle_wkups                Uint64_t
 11004  	Fri_interrupt_wkups               Uint64_t
 11005  	Fri_pageins                       Uint64_t
 11006  	Fri_wired_size                    Uint64_t
 11007  	Fri_resident_size                 Uint64_t
 11008  	Fri_phys_footprint                Uint64_t
 11009  	Fri_proc_start_abstime            Uint64_t
 11010  	Fri_proc_exit_abstime             Uint64_t
 11011  	Fri_child_user_time               Uint64_t
 11012  	Fri_child_system_time             Uint64_t
 11013  	Fri_child_pkg_idle_wkups          Uint64_t
 11014  	Fri_child_interrupt_wkups         Uint64_t
 11015  	Fri_child_pageins                 Uint64_t
 11016  	Fri_child_elapsed_abstime         Uint64_t
 11017  	Fri_diskio_bytesread              Uint64_t
 11018  	Fri_diskio_byteswritten           Uint64_t
 11019  	Fri_cpu_time_qos_default          Uint64_t
 11020  	Fri_cpu_time_qos_maintenance      Uint64_t
 11021  	Fri_cpu_time_qos_background       Uint64_t
 11022  	Fri_cpu_time_qos_utility          Uint64_t
 11023  	Fri_cpu_time_qos_legacy           Uint64_t
 11024  	Fri_cpu_time_qos_user_initiated   Uint64_t
 11025  	Fri_cpu_time_qos_user_interactive Uint64_t
 11026  	Fri_billed_system_time            Uint64_t
 11027  	Fri_serviced_system_time          Uint64_t
 11028  	Fri_logical_writes                Uint64_t
 11029  	Fri_lifetime_max_phys_footprint   Uint64_t
 11030  	Fri_instructions                  Uint64_t
 11031  	Fri_cycles                        Uint64_t
 11032  	Fri_billed_energy                 Uint64_t
 11033  	Fri_serviced_energy               Uint64_t
 11034  	Fri_interval_max_phys_footprint   Uint64_t
 11035  	Fri_runnable_time                 Uint64_t
 11036  } /* resource.h:288:1 */
 11037  
 11038  type Rusage_info_v5 = struct {
 11039  	Fri_uuid                          [16]Uint8_t
 11040  	Fri_user_time                     Uint64_t
 11041  	Fri_system_time                   Uint64_t
 11042  	Fri_pkg_idle_wkups                Uint64_t
 11043  	Fri_interrupt_wkups               Uint64_t
 11044  	Fri_pageins                       Uint64_t
 11045  	Fri_wired_size                    Uint64_t
 11046  	Fri_resident_size                 Uint64_t
 11047  	Fri_phys_footprint                Uint64_t
 11048  	Fri_proc_start_abstime            Uint64_t
 11049  	Fri_proc_exit_abstime             Uint64_t
 11050  	Fri_child_user_time               Uint64_t
 11051  	Fri_child_system_time             Uint64_t
 11052  	Fri_child_pkg_idle_wkups          Uint64_t
 11053  	Fri_child_interrupt_wkups         Uint64_t
 11054  	Fri_child_pageins                 Uint64_t
 11055  	Fri_child_elapsed_abstime         Uint64_t
 11056  	Fri_diskio_bytesread              Uint64_t
 11057  	Fri_diskio_byteswritten           Uint64_t
 11058  	Fri_cpu_time_qos_default          Uint64_t
 11059  	Fri_cpu_time_qos_maintenance      Uint64_t
 11060  	Fri_cpu_time_qos_background       Uint64_t
 11061  	Fri_cpu_time_qos_utility          Uint64_t
 11062  	Fri_cpu_time_qos_legacy           Uint64_t
 11063  	Fri_cpu_time_qos_user_initiated   Uint64_t
 11064  	Fri_cpu_time_qos_user_interactive Uint64_t
 11065  	Fri_billed_system_time            Uint64_t
 11066  	Fri_serviced_system_time          Uint64_t
 11067  	Fri_logical_writes                Uint64_t
 11068  	Fri_lifetime_max_phys_footprint   Uint64_t
 11069  	Fri_instructions                  Uint64_t
 11070  	Fri_cycles                        Uint64_t
 11071  	Fri_billed_energy                 Uint64_t
 11072  	Fri_serviced_energy               Uint64_t
 11073  	Fri_interval_max_phys_footprint   Uint64_t
 11074  	Fri_runnable_time                 Uint64_t
 11075  	Fri_flags                         Uint64_t
 11076  } /* resource.h:327:1 */
 11077  
 11078  type Rusage_info_current = Rusage_info_v5 /* resource.h:367:31 */
 11079  
 11080  // ****
 11081  //
 11082  // RESOURCE LIMITS
 11083  
 11084  // Symbolic constants for resource limits; since all limits are representable
 11085  // as a type rlim_t, we are permitted to define RLIM_SAVED_* in terms of
 11086  // RLIM_INFINITY.
 11087  
 11088  // Possible values of the first parameter to getrlimit()/setrlimit(), to
 11089  // indicate for which resource the operation is being performed.
 11090  
 11091  // A structure representing a resource limit.  The address of an instance
 11092  // of this structure is the second parameter to getrlimit()/setrlimit().
 11093  type Rlimit = struct {
 11094  	Frlim_cur Rlim_t
 11095  	Frlim_max Rlim_t
 11096  } /* resource.h:411:1 */
 11097  
 11098  // proc_rlimit_control()
 11099  //
 11100  // Resource limit flavors
 11101  
 11102  // Flags for wakeups monitor control.
 11103  
 11104  // Flags for CPU usage monitor control.
 11105  
 11106  // Flags for memory footprint interval tracking.
 11107  
 11108  type Proc_rlimit_control_wakeupmon = struct {
 11109  	Fwm_flags Uint32_t
 11110  	Fwm_rate  Int32_t
 11111  } /* resource.h:446:1 */
 11112  
 11113  // Option bits for the third argument of wait4.  WNOHANG causes the
 11114  // wait to not hang if there are no stopped or terminated processes, rather
 11115  // returning an error indication in this case (pid==0).  WUNTRACED
 11116  // indicates that the caller should receive status about untraced children
 11117  // which stop due to signals.  If children are stopped and a wait without
 11118  // this option is done, it is as though they were still running... nothing
 11119  // about them is returned.
 11120  
 11121  // Macros to test the exit status returned by wait
 11122  // and extract the relevant values.
 11123  
 11124  // These macros are permited, as they are in the implementation namespace
 11125  
 11126  // [XSI] The <sys/wait.h> header shall define the following macros for
 11127  // analysis of process status values
 11128  // 0x13 == SIGCONT
 11129  
 11130  // [XSI] The following symbolic constants shall be defined as possible
 11131  // values for the fourth argument to waitid().
 11132  // WNOHANG already defined for wait4()
 11133  // WUNTRACED defined for wait4() but not for waitid()
 11134  // waitid() parameter
 11135  
 11136  // POSIX extensions and 4.2/4.3 compatability:
 11137  
 11138  // Tokens for special values of the "pid" parameter to wait4.
 11139  
 11140  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
 11141  //
 11142  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 11143  //
 11144  // This file contains Original Code and/or Modifications of Original Code
 11145  // as defined in and that are subject to the Apple Public Source License
 11146  // Version 2.0 (the 'License'). You may not use this file except in
 11147  // compliance with the License. The rights granted to you under the License
 11148  // may not be used to create, or enable the creation or redistribution of,
 11149  // unlawful or unlicensed copies of an Apple operating system, or to
 11150  // circumvent, violate, or enable the circumvention or violation of, any
 11151  // terms of an Apple operating system software license agreement.
 11152  //
 11153  // Please obtain a copy of the License at
 11154  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 11155  //
 11156  // The Original Code and all software distributed under the License are
 11157  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 11158  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 11159  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 11160  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 11161  // Please see the License for the specific language governing rights and
 11162  // limitations under the License.
 11163  //
 11164  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 11165  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
 11166  
 11167  // Deprecated:
 11168  // Structure of the information in the status word returned by wait4.
 11169  // If w_stopval==_WSTOPPED, then the second structure describes
 11170  // the information returned, else the first.
 11171  type Wait = struct{ Fw_status int32 } /* wait.h:194:1 */
 11172  
 11173  // built-in for gcc
 11174  
 11175  // built-in for gcc 3
 11176  
 11177  // DO NOT REMOVE THIS COMMENT: fixincludes needs to see:
 11178  // _GCC_SIZE_T
 11179  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 11180  //
 11181  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 11182  //
 11183  // This file contains Original Code and/or Modifications of Original Code
 11184  // as defined in and that are subject to the Apple Public Source License
 11185  // Version 2.0 (the 'License'). You may not use this file except in
 11186  // compliance with the License. The rights granted to you under the License
 11187  // may not be used to create, or enable the creation or redistribution of,
 11188  // unlawful or unlicensed copies of an Apple operating system, or to
 11189  // circumvent, violate, or enable the circumvention or violation of, any
 11190  // terms of an Apple operating system software license agreement.
 11191  //
 11192  // Please obtain a copy of the License at
 11193  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 11194  //
 11195  // The Original Code and all software distributed under the License are
 11196  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 11197  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 11198  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 11199  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 11200  // Please see the License for the specific language governing rights and
 11201  // limitations under the License.
 11202  //
 11203  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 11204  
 11205  // Copyright (c) 2012 Apple Inc. All rights reserved.
 11206  //
 11207  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 11208  //
 11209  // This file contains Original Code and/or Modifications of Original Code
 11210  // as defined in and that are subject to the Apple Public Source License
 11211  // Version 2.0 (the 'License'). You may not use this file except in
 11212  // compliance with the License. The rights granted to you under the License
 11213  // may not be used to create, or enable the creation or redistribution of,
 11214  // unlawful or unlicensed copies of an Apple operating system, or to
 11215  // circumvent, violate, or enable the circumvention or violation of, any
 11216  // terms of an Apple operating system software license agreement.
 11217  //
 11218  // Please obtain a copy of the License at
 11219  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 11220  //
 11221  // The Original Code and all software distributed under the License are
 11222  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 11223  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 11224  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 11225  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 11226  // Please see the License for the specific language governing rights and
 11227  // limitations under the License.
 11228  //
 11229  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 11230  
 11231  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
 11232  //
 11233  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 11234  //
 11235  // This file contains Original Code and/or Modifications of Original Code
 11236  // as defined in and that are subject to the Apple Public Source License
 11237  // Version 2.0 (the 'License'). You may not use this file except in
 11238  // compliance with the License. The rights granted to you under the License
 11239  // may not be used to create, or enable the creation or redistribution of,
 11240  // unlawful or unlicensed copies of an Apple operating system, or to
 11241  // circumvent, violate, or enable the circumvention or violation of, any
 11242  // terms of an Apple operating system software license agreement.
 11243  //
 11244  // Please obtain a copy of the License at
 11245  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 11246  //
 11247  // The Original Code and all software distributed under the License are
 11248  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 11249  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 11250  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 11251  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 11252  // Please see the License for the specific language governing rights and
 11253  // limitations under the License.
 11254  //
 11255  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 11256  type Ct_rune_t = X__darwin_ct_rune_t /* _ct_rune_t.h:32:28 */
 11257  // Copyright (c) 2012 Apple Inc. All rights reserved.
 11258  //
 11259  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 11260  //
 11261  // This file contains Original Code and/or Modifications of Original Code
 11262  // as defined in and that are subject to the Apple Public Source License
 11263  // Version 2.0 (the 'License'). You may not use this file except in
 11264  // compliance with the License. The rights granted to you under the License
 11265  // may not be used to create, or enable the creation or redistribution of,
 11266  // unlawful or unlicensed copies of an Apple operating system, or to
 11267  // circumvent, violate, or enable the circumvention or violation of, any
 11268  // terms of an Apple operating system software license agreement.
 11269  //
 11270  // Please obtain a copy of the License at
 11271  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 11272  //
 11273  // The Original Code and all software distributed under the License are
 11274  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 11275  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 11276  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 11277  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 11278  // Please see the License for the specific language governing rights and
 11279  // limitations under the License.
 11280  //
 11281  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 11282  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
 11283  //
 11284  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 11285  //
 11286  // This file contains Original Code and/or Modifications of Original Code
 11287  // as defined in and that are subject to the Apple Public Source License
 11288  // Version 2.0 (the 'License'). You may not use this file except in
 11289  // compliance with the License. The rights granted to you under the License
 11290  // may not be used to create, or enable the creation or redistribution of,
 11291  // unlawful or unlicensed copies of an Apple operating system, or to
 11292  // circumvent, violate, or enable the circumvention or violation of, any
 11293  // terms of an Apple operating system software license agreement.
 11294  //
 11295  // Please obtain a copy of the License at
 11296  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 11297  //
 11298  // The Original Code and all software distributed under the License are
 11299  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 11300  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 11301  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 11302  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 11303  // Please see the License for the specific language governing rights and
 11304  // limitations under the License.
 11305  //
 11306  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 11307  type Rune_t = X__darwin_rune_t /* _rune_t.h:31:25 */
 11308  
 11309  // Copyright (c) 2012 Apple Inc. All rights reserved.
 11310  //
 11311  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 11312  //
 11313  // This file contains Original Code and/or Modifications of Original Code
 11314  // as defined in and that are subject to the Apple Public Source License
 11315  // Version 2.0 (the 'License'). You may not use this file except in
 11316  // compliance with the License. The rights granted to you under the License
 11317  // may not be used to create, or enable the creation or redistribution of,
 11318  // unlawful or unlicensed copies of an Apple operating system, or to
 11319  // circumvent, violate, or enable the circumvention or violation of, any
 11320  // terms of an Apple operating system software license agreement.
 11321  //
 11322  // Please obtain a copy of the License at
 11323  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 11324  //
 11325  // The Original Code and all software distributed under the License are
 11326  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 11327  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 11328  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 11329  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 11330  // Please see the License for the specific language governing rights and
 11331  // limitations under the License.
 11332  //
 11333  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 11334  
 11335  // wchar_t is a built-in type in C++
 11336  
 11337  type Div_t = struct {
 11338  	Fquot int32
 11339  	Frem  int32
 11340  } /* stdlib.h:86:3 */
 11341  
 11342  type Ldiv_t = struct {
 11343  	Fquot int64
 11344  	Frem  int64
 11345  } /* stdlib.h:91:3 */
 11346  
 11347  type Lldiv_t = struct {
 11348  	Fquot int64
 11349  	Frem  int64
 11350  } /* stdlib.h:97:3 */ // getsubopt(3) external variable
 11351  // valloc is now declared in _malloc.h
 11352  
 11353  // Poison the following routines if -fshort-wchar is set
 11354  
 11355  // since "static" is used to mean two completely different things in C, we
 11356  //    define "local" for the non-static meaning of "static", for readability
 11357  //    (compile with -Dlocal if your debugger can't find static symbols)
 11358  
 11359  type Uch = uint8  /* zutil.h:43:24 */
 11360  type Uchf = Uch   /* zutil.h:44:17 */
 11361  type Ush = uint16 /* zutil.h:45:24 */
 11362  type Ushf = Ush   /* zutil.h:46:17 */
 11363  type Ulg = uint64 /* zutil.h:47:24 */
 11364  
 11365  // NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1
 11366  
 11367  // use NO_DIVIDE if your processor does not do division in hardware --
 11368  //    try it both ways to see which is faster
 11369  
 11370  // =========================================================================
 11371  func Xadler32_z(tls *libc.TLS, adler ULong, buf uintptr, len Z_size_t) ULong { /* adler32.c:63:15: */
 11372  	var sum2 uint64
 11373  	var n uint32
 11374  
 11375  	// split Adler-32 into component sums
 11376  	sum2 = adler >> 16 & uint64(0xffff)
 11377  	adler = adler & uint64(0xffff)
 11378  
 11379  	// in case user likes doing a byte at a time, keep it fast
 11380  	if len == uint64(1) {
 11381  		adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf)))
 11382  		if adler >= uint64(BASE) {
 11383  			adler = adler - uint64(BASE)
 11384  		}
 11385  		sum2 = sum2 + adler
 11386  		if sum2 >= uint64(BASE) {
 11387  			sum2 = sum2 - uint64(BASE)
 11388  		}
 11389  		return adler | sum2<<16
 11390  	}
 11391  
 11392  	// initial Adler-32 value (deferred check for len == 1 speed)
 11393  	if buf == uintptr(Z_NULL) {
 11394  		return uint64(1)
 11395  	}
 11396  
 11397  	// in case short lengths are provided, keep it somewhat fast
 11398  	if len < uint64(16) {
 11399  		for libc.PostDecUint64(&len, 1) != 0 {
 11400  			adler = adler + ULong(*(*Bytef)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1))))
 11401  			sum2 = sum2 + adler
 11402  		}
 11403  		if adler >= uint64(BASE) {
 11404  			adler = adler - uint64(BASE)
 11405  		}
 11406  		sum2 = sum2 % uint64(BASE) // only added so many BASE's
 11407  		return adler | sum2<<16
 11408  	}
 11409  
 11410  	// do length NMAX blocks -- requires just one modulo operation
 11411  	for len >= uint64(NMAX) {
 11412  		len = len - uint64(NMAX)
 11413  		n = uint32(NMAX / 16) // NMAX is divisible by 16
 11414  		for ok := true; ok; ok = libc.PreDecUint32(&n, 1) != 0 {
 11415  			{
 11416  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf)))
 11417  				sum2 = sum2 + adler
 11418  			}
 11419  			{
 11420  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 1)))
 11421  				sum2 = sum2 + adler
 11422  			}
 11423  
 11424  			{
 11425  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 2)))
 11426  				sum2 = sum2 + adler
 11427  			}
 11428  			{
 11429  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 3)))
 11430  				sum2 = sum2 + adler
 11431  			}
 11432  
 11433  			{
 11434  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 4)))
 11435  				sum2 = sum2 + adler
 11436  			}
 11437  			{
 11438  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 5)))
 11439  				sum2 = sum2 + adler
 11440  			}
 11441  
 11442  			{
 11443  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 6)))
 11444  				sum2 = sum2 + adler
 11445  			}
 11446  			{
 11447  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 7)))
 11448  				sum2 = sum2 + adler
 11449  			}
 11450  
 11451  			{
 11452  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 8)))
 11453  				sum2 = sum2 + adler
 11454  			}
 11455  			{
 11456  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 9)))
 11457  				sum2 = sum2 + adler
 11458  			}
 11459  
 11460  			{
 11461  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 10)))
 11462  				sum2 = sum2 + adler
 11463  			}
 11464  			{
 11465  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 11)))
 11466  				sum2 = sum2 + adler
 11467  			}
 11468  
 11469  			{
 11470  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 12)))
 11471  				sum2 = sum2 + adler
 11472  			}
 11473  			{
 11474  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 13)))
 11475  				sum2 = sum2 + adler
 11476  			}
 11477  
 11478  			{
 11479  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 14)))
 11480  				sum2 = sum2 + adler
 11481  			}
 11482  			{
 11483  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 15)))
 11484  				sum2 = sum2 + adler
 11485  			}
 11486  
 11487  			// 16 sums unrolled
 11488  			buf += uintptr(16)
 11489  		}
 11490  		adler = adler % uint64(BASE)
 11491  		sum2 = sum2 % uint64(BASE)
 11492  	}
 11493  
 11494  	// do remaining bytes (less than NMAX, still just one modulo)
 11495  	if len != 0 { // avoid modulos if none remaining
 11496  		for len >= uint64(16) {
 11497  			len = len - uint64(16)
 11498  			{
 11499  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf)))
 11500  				sum2 = sum2 + adler
 11501  			}
 11502  			{
 11503  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 1)))
 11504  				sum2 = sum2 + adler
 11505  			}
 11506  
 11507  			{
 11508  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 2)))
 11509  				sum2 = sum2 + adler
 11510  			}
 11511  			{
 11512  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 3)))
 11513  				sum2 = sum2 + adler
 11514  			}
 11515  
 11516  			{
 11517  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 4)))
 11518  				sum2 = sum2 + adler
 11519  			}
 11520  			{
 11521  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 5)))
 11522  				sum2 = sum2 + adler
 11523  			}
 11524  
 11525  			{
 11526  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 6)))
 11527  				sum2 = sum2 + adler
 11528  			}
 11529  			{
 11530  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 7)))
 11531  				sum2 = sum2 + adler
 11532  			}
 11533  
 11534  			{
 11535  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 8)))
 11536  				sum2 = sum2 + adler
 11537  			}
 11538  			{
 11539  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 9)))
 11540  				sum2 = sum2 + adler
 11541  			}
 11542  
 11543  			{
 11544  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 10)))
 11545  				sum2 = sum2 + adler
 11546  			}
 11547  			{
 11548  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 11)))
 11549  				sum2 = sum2 + adler
 11550  			}
 11551  
 11552  			{
 11553  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 12)))
 11554  				sum2 = sum2 + adler
 11555  			}
 11556  			{
 11557  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 13)))
 11558  				sum2 = sum2 + adler
 11559  			}
 11560  
 11561  			{
 11562  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 14)))
 11563  				sum2 = sum2 + adler
 11564  			}
 11565  			{
 11566  				adler = adler + ULong(*(*Bytef)(unsafe.Pointer(buf + 15)))
 11567  				sum2 = sum2 + adler
 11568  			}
 11569  
 11570  			buf += uintptr(16)
 11571  		}
 11572  		for libc.PostDecUint64(&len, 1) != 0 {
 11573  			adler = adler + ULong(*(*Bytef)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1))))
 11574  			sum2 = sum2 + adler
 11575  		}
 11576  		adler = adler % uint64(BASE)
 11577  		sum2 = sum2 % uint64(BASE)
 11578  	}
 11579  
 11580  	// return recombined sums
 11581  	return adler | sum2<<16
 11582  }
 11583  
 11584  // =========================================================================
 11585  func Xadler32(tls *libc.TLS, adler ULong, buf uintptr, len UInt) ULong { /* adler32.c:134:15: */
 11586  	return Xadler32_z(tls, adler, buf, uint64(len))
 11587  }
 11588  
 11589  // =========================================================================
 11590  func adler32_combine_(tls *libc.TLS, adler1 ULong, adler2 ULong, len2 Off_t) ULong { /* adler32.c:143:13: */
 11591  	var sum1 uint64
 11592  	var sum2 uint64
 11593  	var rem uint32
 11594  
 11595  	// for negative len, return invalid adler32 as a clue for debugging
 11596  	if len2 < int64(0) {
 11597  		return 0xffffffff
 11598  	}
 11599  
 11600  	// the derivation of this formula is left as an exercise for the reader
 11601  	len2 = len2 % int64(BASE) // assumes len2 >= 0
 11602  	rem = uint32(len2)
 11603  	sum1 = adler1 & uint64(0xffff)
 11604  	sum2 = uint64(rem) * sum1
 11605  	sum2 = sum2 % uint64(BASE)
 11606  	sum1 = sum1 + (adler2&uint64(0xffff) + uint64(BASE) - uint64(1))
 11607  	sum2 = sum2 + (adler1>>16&uint64(0xffff) + adler2>>16&uint64(0xffff) + uint64(BASE) - ULong(rem))
 11608  	if sum1 >= uint64(BASE) {
 11609  		sum1 = sum1 - uint64(BASE)
 11610  	}
 11611  	if sum1 >= uint64(BASE) {
 11612  		sum1 = sum1 - uint64(BASE)
 11613  	}
 11614  	if sum2 >= uint64(uint64(BASE))<<1 {
 11615  		sum2 = sum2 - uint64(uint64(BASE))<<1
 11616  	}
 11617  	if sum2 >= uint64(BASE) {
 11618  		sum2 = sum2 - uint64(BASE)
 11619  	}
 11620  	return sum1 | sum2<<16
 11621  }
 11622  
 11623  // =========================================================================
 11624  func Xadler32_combine(tls *libc.TLS, adler1 ULong, adler2 ULong, len2 Off_t) ULong { /* adler32.c:172:15: */
 11625  	return adler32_combine_(tls, adler1, adler2, len2)
 11626  }
 11627  
 11628  func Xadler32_combine64(tls *libc.TLS, adler1 ULong, adler2 ULong, len2 Off_t) ULong { /* adler32.c:180:15: */
 11629  	return adler32_combine_(tls, adler1, adler2, len2)
 11630  }
 11631  
 11632  // ===========================================================================
 11633  //      Compresses the source buffer into the destination buffer. The level
 11634  //    parameter has the same meaning as in deflateInit.  sourceLen is the byte
 11635  //    length of the source buffer. Upon entry, destLen is the total size of the
 11636  //    destination buffer, which must be at least 0.1% larger than sourceLen plus
 11637  //    12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
 11638  //
 11639  //      compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
 11640  //    memory, Z_BUF_ERROR if there was not enough room in the output buffer,
 11641  //    Z_STREAM_ERROR if the level parameter is invalid.
 11642  func Xcompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen ULong, level int32) int32 { /* compress.c:22:13: */
 11643  	bp := tls.Alloc(112)
 11644  	defer tls.Free(112)
 11645  
 11646  	// var stream Z_stream at bp, 112
 11647  
 11648  	var err int32
 11649  	var max UInt = libc.Uint32(libc.Uint32FromInt32(-1))
 11650  	var left ULong
 11651  
 11652  	left = *(*ULongf)(unsafe.Pointer(destLen))
 11653  	*(*ULongf)(unsafe.Pointer(destLen)) = uint64(0)
 11654  
 11655  	(*Z_stream)(unsafe.Pointer(bp /* &stream */)).Fzalloc = uintptr(0)
 11656  	(*Z_stream)(unsafe.Pointer(bp /* &stream */)).Fzfree = uintptr(0)
 11657  	(*Z_stream)(unsafe.Pointer(bp /* &stream */)).Fopaque = uintptr(0)
 11658  
 11659  	err = XdeflateInit_(tls, bp, level, ts, int32(unsafe.Sizeof(Z_stream{})))
 11660  	if err != Z_OK {
 11661  		return err
 11662  	}
 11663  
 11664  	(*Z_stream)(unsafe.Pointer(bp /* &stream */)).Fnext_out = dest
 11665  	(*Z_stream)(unsafe.Pointer(bp /* &stream */)).Favail_out = UInt(0)
 11666  	(*Z_stream)(unsafe.Pointer(bp /* &stream */)).Fnext_in = source
 11667  	(*Z_stream)(unsafe.Pointer(bp /* &stream */)).Favail_in = UInt(0)
 11668  
 11669  	for ok := true; ok; ok = err == Z_OK {
 11670  		if (*Z_stream)(unsafe.Pointer(bp)).Favail_out == UInt(0) {
 11671  			(*Z_stream)(unsafe.Pointer(bp /* &stream */)).Favail_out = func() uint32 {
 11672  				if left > ULong(max) {
 11673  					return max
 11674  				}
 11675  				return UInt(left)
 11676  			}()
 11677  			left = left - ULong((*Z_stream)(unsafe.Pointer(bp)).Favail_out)
 11678  		}
 11679  		if (*Z_stream)(unsafe.Pointer(bp)).Favail_in == UInt(0) {
 11680  			(*Z_stream)(unsafe.Pointer(bp /* &stream */)).Favail_in = func() uint32 {
 11681  				if sourceLen > ULong(max) {
 11682  					return max
 11683  				}
 11684  				return UInt(sourceLen)
 11685  			}()
 11686  			sourceLen = sourceLen - ULong((*Z_stream)(unsafe.Pointer(bp)).Favail_in)
 11687  		}
 11688  		err = Xdeflate(tls, bp, func() int32 {
 11689  			if sourceLen != 0 {
 11690  				return Z_NO_FLUSH
 11691  			}
 11692  			return Z_FINISH
 11693  		}())
 11694  	}
 11695  
 11696  	*(*ULongf)(unsafe.Pointer(destLen)) = (*Z_stream)(unsafe.Pointer(bp /* &stream */)).Ftotal_out
 11697  	XdeflateEnd(tls, bp)
 11698  	if err == Z_STREAM_END {
 11699  		return Z_OK
 11700  	}
 11701  	return err
 11702  }
 11703  
 11704  // ===========================================================================
 11705  func Xcompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen ULong) int32 { /* compress.c:68:13: */
 11706  	return Xcompress2(tls, dest, destLen, source, sourceLen, -1)
 11707  }
 11708  
 11709  // ===========================================================================
 11710  //      If the default memLevel or windowBits for deflateInit() is changed, then
 11711  //    this function needs to be updated.
 11712  //
 11713  func XcompressBound(tls *libc.TLS, sourceLen ULong) ULong { /* compress.c:81:15: */
 11714  	return sourceLen + sourceLen>>12 + sourceLen>>14 + sourceLen>>25 + uint64(13)
 11715  }
 11716  
 11717  // ========================================================================
 11718  // Tables of CRC-32s of all single-byte values, made by make_crc_table().
 11719  // crc32.h -- tables for rapid CRC calculation
 11720  // Generated automatically by crc32.c
 11721  
 11722  var crc_table = [8][256]Z_crc_t{
 11723  	{
 11724  		uint32(0x00000000), uint32(0x77073096), uint32(0xee0e612c), uint32(0x990951ba), uint32(0x076dc419),
 11725  		uint32(0x706af48f), uint32(0xe963a535), uint32(0x9e6495a3), uint32(0x0edb8832), uint32(0x79dcb8a4),
 11726  		uint32(0xe0d5e91e), uint32(0x97d2d988), uint32(0x09b64c2b), uint32(0x7eb17cbd), uint32(0xe7b82d07),
 11727  		uint32(0x90bf1d91), uint32(0x1db71064), uint32(0x6ab020f2), uint32(0xf3b97148), uint32(0x84be41de),
 11728  		uint32(0x1adad47d), uint32(0x6ddde4eb), uint32(0xf4d4b551), uint32(0x83d385c7), uint32(0x136c9856),
 11729  		uint32(0x646ba8c0), uint32(0xfd62f97a), uint32(0x8a65c9ec), uint32(0x14015c4f), uint32(0x63066cd9),
 11730  		uint32(0xfa0f3d63), uint32(0x8d080df5), uint32(0x3b6e20c8), uint32(0x4c69105e), uint32(0xd56041e4),
 11731  		uint32(0xa2677172), uint32(0x3c03e4d1), uint32(0x4b04d447), uint32(0xd20d85fd), uint32(0xa50ab56b),
 11732  		uint32(0x35b5a8fa), uint32(0x42b2986c), uint32(0xdbbbc9d6), uint32(0xacbcf940), uint32(0x32d86ce3),
 11733  		uint32(0x45df5c75), uint32(0xdcd60dcf), uint32(0xabd13d59), uint32(0x26d930ac), uint32(0x51de003a),
 11734  		uint32(0xc8d75180), uint32(0xbfd06116), uint32(0x21b4f4b5), uint32(0x56b3c423), uint32(0xcfba9599),
 11735  		uint32(0xb8bda50f), uint32(0x2802b89e), uint32(0x5f058808), uint32(0xc60cd9b2), uint32(0xb10be924),
 11736  		uint32(0x2f6f7c87), uint32(0x58684c11), uint32(0xc1611dab), uint32(0xb6662d3d), uint32(0x76dc4190),
 11737  		uint32(0x01db7106), uint32(0x98d220bc), uint32(0xefd5102a), uint32(0x71b18589), uint32(0x06b6b51f),
 11738  		uint32(0x9fbfe4a5), uint32(0xe8b8d433), uint32(0x7807c9a2), uint32(0x0f00f934), uint32(0x9609a88e),
 11739  		uint32(0xe10e9818), uint32(0x7f6a0dbb), uint32(0x086d3d2d), uint32(0x91646c97), uint32(0xe6635c01),
 11740  		uint32(0x6b6b51f4), uint32(0x1c6c6162), uint32(0x856530d8), uint32(0xf262004e), uint32(0x6c0695ed),
 11741  		uint32(0x1b01a57b), uint32(0x8208f4c1), uint32(0xf50fc457), uint32(0x65b0d9c6), uint32(0x12b7e950),
 11742  		uint32(0x8bbeb8ea), uint32(0xfcb9887c), uint32(0x62dd1ddf), uint32(0x15da2d49), uint32(0x8cd37cf3),
 11743  		uint32(0xfbd44c65), uint32(0x4db26158), uint32(0x3ab551ce), uint32(0xa3bc0074), uint32(0xd4bb30e2),
 11744  		uint32(0x4adfa541), uint32(0x3dd895d7), uint32(0xa4d1c46d), uint32(0xd3d6f4fb), uint32(0x4369e96a),
 11745  		uint32(0x346ed9fc), uint32(0xad678846), uint32(0xda60b8d0), uint32(0x44042d73), uint32(0x33031de5),
 11746  		uint32(0xaa0a4c5f), uint32(0xdd0d7cc9), uint32(0x5005713c), uint32(0x270241aa), uint32(0xbe0b1010),
 11747  		uint32(0xc90c2086), uint32(0x5768b525), uint32(0x206f85b3), uint32(0xb966d409), uint32(0xce61e49f),
 11748  		uint32(0x5edef90e), uint32(0x29d9c998), uint32(0xb0d09822), uint32(0xc7d7a8b4), uint32(0x59b33d17),
 11749  		uint32(0x2eb40d81), uint32(0xb7bd5c3b), uint32(0xc0ba6cad), uint32(0xedb88320), uint32(0x9abfb3b6),
 11750  		uint32(0x03b6e20c), uint32(0x74b1d29a), uint32(0xead54739), uint32(0x9dd277af), uint32(0x04db2615),
 11751  		uint32(0x73dc1683), uint32(0xe3630b12), uint32(0x94643b84), uint32(0x0d6d6a3e), uint32(0x7a6a5aa8),
 11752  		uint32(0xe40ecf0b), uint32(0x9309ff9d), uint32(0x0a00ae27), uint32(0x7d079eb1), uint32(0xf00f9344),
 11753  		uint32(0x8708a3d2), uint32(0x1e01f268), uint32(0x6906c2fe), uint32(0xf762575d), uint32(0x806567cb),
 11754  		uint32(0x196c3671), uint32(0x6e6b06e7), uint32(0xfed41b76), uint32(0x89d32be0), uint32(0x10da7a5a),
 11755  		uint32(0x67dd4acc), uint32(0xf9b9df6f), uint32(0x8ebeeff9), uint32(0x17b7be43), uint32(0x60b08ed5),
 11756  		uint32(0xd6d6a3e8), uint32(0xa1d1937e), uint32(0x38d8c2c4), uint32(0x4fdff252), uint32(0xd1bb67f1),
 11757  		uint32(0xa6bc5767), uint32(0x3fb506dd), uint32(0x48b2364b), uint32(0xd80d2bda), uint32(0xaf0a1b4c),
 11758  		uint32(0x36034af6), uint32(0x41047a60), uint32(0xdf60efc3), uint32(0xa867df55), uint32(0x316e8eef),
 11759  		uint32(0x4669be79), uint32(0xcb61b38c), uint32(0xbc66831a), uint32(0x256fd2a0), uint32(0x5268e236),
 11760  		uint32(0xcc0c7795), uint32(0xbb0b4703), uint32(0x220216b9), uint32(0x5505262f), uint32(0xc5ba3bbe),
 11761  		uint32(0xb2bd0b28), uint32(0x2bb45a92), uint32(0x5cb36a04), uint32(0xc2d7ffa7), uint32(0xb5d0cf31),
 11762  		uint32(0x2cd99e8b), uint32(0x5bdeae1d), uint32(0x9b64c2b0), uint32(0xec63f226), uint32(0x756aa39c),
 11763  		uint32(0x026d930a), uint32(0x9c0906a9), uint32(0xeb0e363f), uint32(0x72076785), uint32(0x05005713),
 11764  		uint32(0x95bf4a82), uint32(0xe2b87a14), uint32(0x7bb12bae), uint32(0x0cb61b38), uint32(0x92d28e9b),
 11765  		uint32(0xe5d5be0d), uint32(0x7cdcefb7), uint32(0x0bdbdf21), uint32(0x86d3d2d4), uint32(0xf1d4e242),
 11766  		uint32(0x68ddb3f8), uint32(0x1fda836e), uint32(0x81be16cd), uint32(0xf6b9265b), uint32(0x6fb077e1),
 11767  		uint32(0x18b74777), uint32(0x88085ae6), uint32(0xff0f6a70), uint32(0x66063bca), uint32(0x11010b5c),
 11768  		uint32(0x8f659eff), uint32(0xf862ae69), uint32(0x616bffd3), uint32(0x166ccf45), uint32(0xa00ae278),
 11769  		uint32(0xd70dd2ee), uint32(0x4e048354), uint32(0x3903b3c2), uint32(0xa7672661), uint32(0xd06016f7),
 11770  		uint32(0x4969474d), uint32(0x3e6e77db), uint32(0xaed16a4a), uint32(0xd9d65adc), uint32(0x40df0b66),
 11771  		uint32(0x37d83bf0), uint32(0xa9bcae53), uint32(0xdebb9ec5), uint32(0x47b2cf7f), uint32(0x30b5ffe9),
 11772  		uint32(0xbdbdf21c), uint32(0xcabac28a), uint32(0x53b39330), uint32(0x24b4a3a6), uint32(0xbad03605),
 11773  		uint32(0xcdd70693), uint32(0x54de5729), uint32(0x23d967bf), uint32(0xb3667a2e), uint32(0xc4614ab8),
 11774  		uint32(0x5d681b02), uint32(0x2a6f2b94), uint32(0xb40bbe37), uint32(0xc30c8ea1), uint32(0x5a05df1b),
 11775  		uint32(0x2d02ef8d),
 11776  	},
 11777  	{
 11778  		uint32(0x00000000), uint32(0x191b3141), uint32(0x32366282), uint32(0x2b2d53c3), uint32(0x646cc504),
 11779  		uint32(0x7d77f445), uint32(0x565aa786), uint32(0x4f4196c7), uint32(0xc8d98a08), uint32(0xd1c2bb49),
 11780  		uint32(0xfaefe88a), uint32(0xe3f4d9cb), uint32(0xacb54f0c), uint32(0xb5ae7e4d), uint32(0x9e832d8e),
 11781  		uint32(0x87981ccf), uint32(0x4ac21251), uint32(0x53d92310), uint32(0x78f470d3), uint32(0x61ef4192),
 11782  		uint32(0x2eaed755), uint32(0x37b5e614), uint32(0x1c98b5d7), uint32(0x05838496), uint32(0x821b9859),
 11783  		uint32(0x9b00a918), uint32(0xb02dfadb), uint32(0xa936cb9a), uint32(0xe6775d5d), uint32(0xff6c6c1c),
 11784  		uint32(0xd4413fdf), uint32(0xcd5a0e9e), uint32(0x958424a2), uint32(0x8c9f15e3), uint32(0xa7b24620),
 11785  		uint32(0xbea97761), uint32(0xf1e8e1a6), uint32(0xe8f3d0e7), uint32(0xc3de8324), uint32(0xdac5b265),
 11786  		uint32(0x5d5daeaa), uint32(0x44469feb), uint32(0x6f6bcc28), uint32(0x7670fd69), uint32(0x39316bae),
 11787  		uint32(0x202a5aef), uint32(0x0b07092c), uint32(0x121c386d), uint32(0xdf4636f3), uint32(0xc65d07b2),
 11788  		uint32(0xed705471), uint32(0xf46b6530), uint32(0xbb2af3f7), uint32(0xa231c2b6), uint32(0x891c9175),
 11789  		uint32(0x9007a034), uint32(0x179fbcfb), uint32(0x0e848dba), uint32(0x25a9de79), uint32(0x3cb2ef38),
 11790  		uint32(0x73f379ff), uint32(0x6ae848be), uint32(0x41c51b7d), uint32(0x58de2a3c), uint32(0xf0794f05),
 11791  		uint32(0xe9627e44), uint32(0xc24f2d87), uint32(0xdb541cc6), uint32(0x94158a01), uint32(0x8d0ebb40),
 11792  		uint32(0xa623e883), uint32(0xbf38d9c2), uint32(0x38a0c50d), uint32(0x21bbf44c), uint32(0x0a96a78f),
 11793  		uint32(0x138d96ce), uint32(0x5ccc0009), uint32(0x45d73148), uint32(0x6efa628b), uint32(0x77e153ca),
 11794  		uint32(0xbabb5d54), uint32(0xa3a06c15), uint32(0x888d3fd6), uint32(0x91960e97), uint32(0xded79850),
 11795  		uint32(0xc7cca911), uint32(0xece1fad2), uint32(0xf5facb93), uint32(0x7262d75c), uint32(0x6b79e61d),
 11796  		uint32(0x4054b5de), uint32(0x594f849f), uint32(0x160e1258), uint32(0x0f152319), uint32(0x243870da),
 11797  		uint32(0x3d23419b), uint32(0x65fd6ba7), uint32(0x7ce65ae6), uint32(0x57cb0925), uint32(0x4ed03864),
 11798  		uint32(0x0191aea3), uint32(0x188a9fe2), uint32(0x33a7cc21), uint32(0x2abcfd60), uint32(0xad24e1af),
 11799  		uint32(0xb43fd0ee), uint32(0x9f12832d), uint32(0x8609b26c), uint32(0xc94824ab), uint32(0xd05315ea),
 11800  		uint32(0xfb7e4629), uint32(0xe2657768), uint32(0x2f3f79f6), uint32(0x362448b7), uint32(0x1d091b74),
 11801  		uint32(0x04122a35), uint32(0x4b53bcf2), uint32(0x52488db3), uint32(0x7965de70), uint32(0x607eef31),
 11802  		uint32(0xe7e6f3fe), uint32(0xfefdc2bf), uint32(0xd5d0917c), uint32(0xcccba03d), uint32(0x838a36fa),
 11803  		uint32(0x9a9107bb), uint32(0xb1bc5478), uint32(0xa8a76539), uint32(0x3b83984b), uint32(0x2298a90a),
 11804  		uint32(0x09b5fac9), uint32(0x10aecb88), uint32(0x5fef5d4f), uint32(0x46f46c0e), uint32(0x6dd93fcd),
 11805  		uint32(0x74c20e8c), uint32(0xf35a1243), uint32(0xea412302), uint32(0xc16c70c1), uint32(0xd8774180),
 11806  		uint32(0x9736d747), uint32(0x8e2de606), uint32(0xa500b5c5), uint32(0xbc1b8484), uint32(0x71418a1a),
 11807  		uint32(0x685abb5b), uint32(0x4377e898), uint32(0x5a6cd9d9), uint32(0x152d4f1e), uint32(0x0c367e5f),
 11808  		uint32(0x271b2d9c), uint32(0x3e001cdd), uint32(0xb9980012), uint32(0xa0833153), uint32(0x8bae6290),
 11809  		uint32(0x92b553d1), uint32(0xddf4c516), uint32(0xc4eff457), uint32(0xefc2a794), uint32(0xf6d996d5),
 11810  		uint32(0xae07bce9), uint32(0xb71c8da8), uint32(0x9c31de6b), uint32(0x852aef2a), uint32(0xca6b79ed),
 11811  		uint32(0xd37048ac), uint32(0xf85d1b6f), uint32(0xe1462a2e), uint32(0x66de36e1), uint32(0x7fc507a0),
 11812  		uint32(0x54e85463), uint32(0x4df36522), uint32(0x02b2f3e5), uint32(0x1ba9c2a4), uint32(0x30849167),
 11813  		uint32(0x299fa026), uint32(0xe4c5aeb8), uint32(0xfdde9ff9), uint32(0xd6f3cc3a), uint32(0xcfe8fd7b),
 11814  		uint32(0x80a96bbc), uint32(0x99b25afd), uint32(0xb29f093e), uint32(0xab84387f), uint32(0x2c1c24b0),
 11815  		uint32(0x350715f1), uint32(0x1e2a4632), uint32(0x07317773), uint32(0x4870e1b4), uint32(0x516bd0f5),
 11816  		uint32(0x7a468336), uint32(0x635db277), uint32(0xcbfad74e), uint32(0xd2e1e60f), uint32(0xf9ccb5cc),
 11817  		uint32(0xe0d7848d), uint32(0xaf96124a), uint32(0xb68d230b), uint32(0x9da070c8), uint32(0x84bb4189),
 11818  		uint32(0x03235d46), uint32(0x1a386c07), uint32(0x31153fc4), uint32(0x280e0e85), uint32(0x674f9842),
 11819  		uint32(0x7e54a903), uint32(0x5579fac0), uint32(0x4c62cb81), uint32(0x8138c51f), uint32(0x9823f45e),
 11820  		uint32(0xb30ea79d), uint32(0xaa1596dc), uint32(0xe554001b), uint32(0xfc4f315a), uint32(0xd7626299),
 11821  		uint32(0xce7953d8), uint32(0x49e14f17), uint32(0x50fa7e56), uint32(0x7bd72d95), uint32(0x62cc1cd4),
 11822  		uint32(0x2d8d8a13), uint32(0x3496bb52), uint32(0x1fbbe891), uint32(0x06a0d9d0), uint32(0x5e7ef3ec),
 11823  		uint32(0x4765c2ad), uint32(0x6c48916e), uint32(0x7553a02f), uint32(0x3a1236e8), uint32(0x230907a9),
 11824  		uint32(0x0824546a), uint32(0x113f652b), uint32(0x96a779e4), uint32(0x8fbc48a5), uint32(0xa4911b66),
 11825  		uint32(0xbd8a2a27), uint32(0xf2cbbce0), uint32(0xebd08da1), uint32(0xc0fdde62), uint32(0xd9e6ef23),
 11826  		uint32(0x14bce1bd), uint32(0x0da7d0fc), uint32(0x268a833f), uint32(0x3f91b27e), uint32(0x70d024b9),
 11827  		uint32(0x69cb15f8), uint32(0x42e6463b), uint32(0x5bfd777a), uint32(0xdc656bb5), uint32(0xc57e5af4),
 11828  		uint32(0xee530937), uint32(0xf7483876), uint32(0xb809aeb1), uint32(0xa1129ff0), uint32(0x8a3fcc33),
 11829  		uint32(0x9324fd72),
 11830  	},
 11831  	{
 11832  		uint32(0x00000000), uint32(0x01c26a37), uint32(0x0384d46e), uint32(0x0246be59), uint32(0x0709a8dc),
 11833  		uint32(0x06cbc2eb), uint32(0x048d7cb2), uint32(0x054f1685), uint32(0x0e1351b8), uint32(0x0fd13b8f),
 11834  		uint32(0x0d9785d6), uint32(0x0c55efe1), uint32(0x091af964), uint32(0x08d89353), uint32(0x0a9e2d0a),
 11835  		uint32(0x0b5c473d), uint32(0x1c26a370), uint32(0x1de4c947), uint32(0x1fa2771e), uint32(0x1e601d29),
 11836  		uint32(0x1b2f0bac), uint32(0x1aed619b), uint32(0x18abdfc2), uint32(0x1969b5f5), uint32(0x1235f2c8),
 11837  		uint32(0x13f798ff), uint32(0x11b126a6), uint32(0x10734c91), uint32(0x153c5a14), uint32(0x14fe3023),
 11838  		uint32(0x16b88e7a), uint32(0x177ae44d), uint32(0x384d46e0), uint32(0x398f2cd7), uint32(0x3bc9928e),
 11839  		uint32(0x3a0bf8b9), uint32(0x3f44ee3c), uint32(0x3e86840b), uint32(0x3cc03a52), uint32(0x3d025065),
 11840  		uint32(0x365e1758), uint32(0x379c7d6f), uint32(0x35dac336), uint32(0x3418a901), uint32(0x3157bf84),
 11841  		uint32(0x3095d5b3), uint32(0x32d36bea), uint32(0x331101dd), uint32(0x246be590), uint32(0x25a98fa7),
 11842  		uint32(0x27ef31fe), uint32(0x262d5bc9), uint32(0x23624d4c), uint32(0x22a0277b), uint32(0x20e69922),
 11843  		uint32(0x2124f315), uint32(0x2a78b428), uint32(0x2bbade1f), uint32(0x29fc6046), uint32(0x283e0a71),
 11844  		uint32(0x2d711cf4), uint32(0x2cb376c3), uint32(0x2ef5c89a), uint32(0x2f37a2ad), uint32(0x709a8dc0),
 11845  		uint32(0x7158e7f7), uint32(0x731e59ae), uint32(0x72dc3399), uint32(0x7793251c), uint32(0x76514f2b),
 11846  		uint32(0x7417f172), uint32(0x75d59b45), uint32(0x7e89dc78), uint32(0x7f4bb64f), uint32(0x7d0d0816),
 11847  		uint32(0x7ccf6221), uint32(0x798074a4), uint32(0x78421e93), uint32(0x7a04a0ca), uint32(0x7bc6cafd),
 11848  		uint32(0x6cbc2eb0), uint32(0x6d7e4487), uint32(0x6f38fade), uint32(0x6efa90e9), uint32(0x6bb5866c),
 11849  		uint32(0x6a77ec5b), uint32(0x68315202), uint32(0x69f33835), uint32(0x62af7f08), uint32(0x636d153f),
 11850  		uint32(0x612bab66), uint32(0x60e9c151), uint32(0x65a6d7d4), uint32(0x6464bde3), uint32(0x662203ba),
 11851  		uint32(0x67e0698d), uint32(0x48d7cb20), uint32(0x4915a117), uint32(0x4b531f4e), uint32(0x4a917579),
 11852  		uint32(0x4fde63fc), uint32(0x4e1c09cb), uint32(0x4c5ab792), uint32(0x4d98dda5), uint32(0x46c49a98),
 11853  		uint32(0x4706f0af), uint32(0x45404ef6), uint32(0x448224c1), uint32(0x41cd3244), uint32(0x400f5873),
 11854  		uint32(0x4249e62a), uint32(0x438b8c1d), uint32(0x54f16850), uint32(0x55330267), uint32(0x5775bc3e),
 11855  		uint32(0x56b7d609), uint32(0x53f8c08c), uint32(0x523aaabb), uint32(0x507c14e2), uint32(0x51be7ed5),
 11856  		uint32(0x5ae239e8), uint32(0x5b2053df), uint32(0x5966ed86), uint32(0x58a487b1), uint32(0x5deb9134),
 11857  		uint32(0x5c29fb03), uint32(0x5e6f455a), uint32(0x5fad2f6d), uint32(0xe1351b80), uint32(0xe0f771b7),
 11858  		uint32(0xe2b1cfee), uint32(0xe373a5d9), uint32(0xe63cb35c), uint32(0xe7fed96b), uint32(0xe5b86732),
 11859  		uint32(0xe47a0d05), uint32(0xef264a38), uint32(0xeee4200f), uint32(0xeca29e56), uint32(0xed60f461),
 11860  		uint32(0xe82fe2e4), uint32(0xe9ed88d3), uint32(0xebab368a), uint32(0xea695cbd), uint32(0xfd13b8f0),
 11861  		uint32(0xfcd1d2c7), uint32(0xfe976c9e), uint32(0xff5506a9), uint32(0xfa1a102c), uint32(0xfbd87a1b),
 11862  		uint32(0xf99ec442), uint32(0xf85cae75), uint32(0xf300e948), uint32(0xf2c2837f), uint32(0xf0843d26),
 11863  		uint32(0xf1465711), uint32(0xf4094194), uint32(0xf5cb2ba3), uint32(0xf78d95fa), uint32(0xf64fffcd),
 11864  		uint32(0xd9785d60), uint32(0xd8ba3757), uint32(0xdafc890e), uint32(0xdb3ee339), uint32(0xde71f5bc),
 11865  		uint32(0xdfb39f8b), uint32(0xddf521d2), uint32(0xdc374be5), uint32(0xd76b0cd8), uint32(0xd6a966ef),
 11866  		uint32(0xd4efd8b6), uint32(0xd52db281), uint32(0xd062a404), uint32(0xd1a0ce33), uint32(0xd3e6706a),
 11867  		uint32(0xd2241a5d), uint32(0xc55efe10), uint32(0xc49c9427), uint32(0xc6da2a7e), uint32(0xc7184049),
 11868  		uint32(0xc25756cc), uint32(0xc3953cfb), uint32(0xc1d382a2), uint32(0xc011e895), uint32(0xcb4dafa8),
 11869  		uint32(0xca8fc59f), uint32(0xc8c97bc6), uint32(0xc90b11f1), uint32(0xcc440774), uint32(0xcd866d43),
 11870  		uint32(0xcfc0d31a), uint32(0xce02b92d), uint32(0x91af9640), uint32(0x906dfc77), uint32(0x922b422e),
 11871  		uint32(0x93e92819), uint32(0x96a63e9c), uint32(0x976454ab), uint32(0x9522eaf2), uint32(0x94e080c5),
 11872  		uint32(0x9fbcc7f8), uint32(0x9e7eadcf), uint32(0x9c381396), uint32(0x9dfa79a1), uint32(0x98b56f24),
 11873  		uint32(0x99770513), uint32(0x9b31bb4a), uint32(0x9af3d17d), uint32(0x8d893530), uint32(0x8c4b5f07),
 11874  		uint32(0x8e0de15e), uint32(0x8fcf8b69), uint32(0x8a809dec), uint32(0x8b42f7db), uint32(0x89044982),
 11875  		uint32(0x88c623b5), uint32(0x839a6488), uint32(0x82580ebf), uint32(0x801eb0e6), uint32(0x81dcdad1),
 11876  		uint32(0x8493cc54), uint32(0x8551a663), uint32(0x8717183a), uint32(0x86d5720d), uint32(0xa9e2d0a0),
 11877  		uint32(0xa820ba97), uint32(0xaa6604ce), uint32(0xaba46ef9), uint32(0xaeeb787c), uint32(0xaf29124b),
 11878  		uint32(0xad6fac12), uint32(0xacadc625), uint32(0xa7f18118), uint32(0xa633eb2f), uint32(0xa4755576),
 11879  		uint32(0xa5b73f41), uint32(0xa0f829c4), uint32(0xa13a43f3), uint32(0xa37cfdaa), uint32(0xa2be979d),
 11880  		uint32(0xb5c473d0), uint32(0xb40619e7), uint32(0xb640a7be), uint32(0xb782cd89), uint32(0xb2cddb0c),
 11881  		uint32(0xb30fb13b), uint32(0xb1490f62), uint32(0xb08b6555), uint32(0xbbd72268), uint32(0xba15485f),
 11882  		uint32(0xb853f606), uint32(0xb9919c31), uint32(0xbcde8ab4), uint32(0xbd1ce083), uint32(0xbf5a5eda),
 11883  		uint32(0xbe9834ed),
 11884  	},
 11885  	{
 11886  		uint32(0x00000000), uint32(0xb8bc6765), uint32(0xaa09c88b), uint32(0x12b5afee), uint32(0x8f629757),
 11887  		uint32(0x37def032), uint32(0x256b5fdc), uint32(0x9dd738b9), uint32(0xc5b428ef), uint32(0x7d084f8a),
 11888  		uint32(0x6fbde064), uint32(0xd7018701), uint32(0x4ad6bfb8), uint32(0xf26ad8dd), uint32(0xe0df7733),
 11889  		uint32(0x58631056), uint32(0x5019579f), uint32(0xe8a530fa), uint32(0xfa109f14), uint32(0x42acf871),
 11890  		uint32(0xdf7bc0c8), uint32(0x67c7a7ad), uint32(0x75720843), uint32(0xcdce6f26), uint32(0x95ad7f70),
 11891  		uint32(0x2d111815), uint32(0x3fa4b7fb), uint32(0x8718d09e), uint32(0x1acfe827), uint32(0xa2738f42),
 11892  		uint32(0xb0c620ac), uint32(0x087a47c9), uint32(0xa032af3e), uint32(0x188ec85b), uint32(0x0a3b67b5),
 11893  		uint32(0xb28700d0), uint32(0x2f503869), uint32(0x97ec5f0c), uint32(0x8559f0e2), uint32(0x3de59787),
 11894  		uint32(0x658687d1), uint32(0xdd3ae0b4), uint32(0xcf8f4f5a), uint32(0x7733283f), uint32(0xeae41086),
 11895  		uint32(0x525877e3), uint32(0x40edd80d), uint32(0xf851bf68), uint32(0xf02bf8a1), uint32(0x48979fc4),
 11896  		uint32(0x5a22302a), uint32(0xe29e574f), uint32(0x7f496ff6), uint32(0xc7f50893), uint32(0xd540a77d),
 11897  		uint32(0x6dfcc018), uint32(0x359fd04e), uint32(0x8d23b72b), uint32(0x9f9618c5), uint32(0x272a7fa0),
 11898  		uint32(0xbafd4719), uint32(0x0241207c), uint32(0x10f48f92), uint32(0xa848e8f7), uint32(0x9b14583d),
 11899  		uint32(0x23a83f58), uint32(0x311d90b6), uint32(0x89a1f7d3), uint32(0x1476cf6a), uint32(0xaccaa80f),
 11900  		uint32(0xbe7f07e1), uint32(0x06c36084), uint32(0x5ea070d2), uint32(0xe61c17b7), uint32(0xf4a9b859),
 11901  		uint32(0x4c15df3c), uint32(0xd1c2e785), uint32(0x697e80e0), uint32(0x7bcb2f0e), uint32(0xc377486b),
 11902  		uint32(0xcb0d0fa2), uint32(0x73b168c7), uint32(0x6104c729), uint32(0xd9b8a04c), uint32(0x446f98f5),
 11903  		uint32(0xfcd3ff90), uint32(0xee66507e), uint32(0x56da371b), uint32(0x0eb9274d), uint32(0xb6054028),
 11904  		uint32(0xa4b0efc6), uint32(0x1c0c88a3), uint32(0x81dbb01a), uint32(0x3967d77f), uint32(0x2bd27891),
 11905  		uint32(0x936e1ff4), uint32(0x3b26f703), uint32(0x839a9066), uint32(0x912f3f88), uint32(0x299358ed),
 11906  		uint32(0xb4446054), uint32(0x0cf80731), uint32(0x1e4da8df), uint32(0xa6f1cfba), uint32(0xfe92dfec),
 11907  		uint32(0x462eb889), uint32(0x549b1767), uint32(0xec277002), uint32(0x71f048bb), uint32(0xc94c2fde),
 11908  		uint32(0xdbf98030), uint32(0x6345e755), uint32(0x6b3fa09c), uint32(0xd383c7f9), uint32(0xc1366817),
 11909  		uint32(0x798a0f72), uint32(0xe45d37cb), uint32(0x5ce150ae), uint32(0x4e54ff40), uint32(0xf6e89825),
 11910  		uint32(0xae8b8873), uint32(0x1637ef16), uint32(0x048240f8), uint32(0xbc3e279d), uint32(0x21e91f24),
 11911  		uint32(0x99557841), uint32(0x8be0d7af), uint32(0x335cb0ca), uint32(0xed59b63b), uint32(0x55e5d15e),
 11912  		uint32(0x47507eb0), uint32(0xffec19d5), uint32(0x623b216c), uint32(0xda874609), uint32(0xc832e9e7),
 11913  		uint32(0x708e8e82), uint32(0x28ed9ed4), uint32(0x9051f9b1), uint32(0x82e4565f), uint32(0x3a58313a),
 11914  		uint32(0xa78f0983), uint32(0x1f336ee6), uint32(0x0d86c108), uint32(0xb53aa66d), uint32(0xbd40e1a4),
 11915  		uint32(0x05fc86c1), uint32(0x1749292f), uint32(0xaff54e4a), uint32(0x322276f3), uint32(0x8a9e1196),
 11916  		uint32(0x982bbe78), uint32(0x2097d91d), uint32(0x78f4c94b), uint32(0xc048ae2e), uint32(0xd2fd01c0),
 11917  		uint32(0x6a4166a5), uint32(0xf7965e1c), uint32(0x4f2a3979), uint32(0x5d9f9697), uint32(0xe523f1f2),
 11918  		uint32(0x4d6b1905), uint32(0xf5d77e60), uint32(0xe762d18e), uint32(0x5fdeb6eb), uint32(0xc2098e52),
 11919  		uint32(0x7ab5e937), uint32(0x680046d9), uint32(0xd0bc21bc), uint32(0x88df31ea), uint32(0x3063568f),
 11920  		uint32(0x22d6f961), uint32(0x9a6a9e04), uint32(0x07bda6bd), uint32(0xbf01c1d8), uint32(0xadb46e36),
 11921  		uint32(0x15080953), uint32(0x1d724e9a), uint32(0xa5ce29ff), uint32(0xb77b8611), uint32(0x0fc7e174),
 11922  		uint32(0x9210d9cd), uint32(0x2aacbea8), uint32(0x38191146), uint32(0x80a57623), uint32(0xd8c66675),
 11923  		uint32(0x607a0110), uint32(0x72cfaefe), uint32(0xca73c99b), uint32(0x57a4f122), uint32(0xef189647),
 11924  		uint32(0xfdad39a9), uint32(0x45115ecc), uint32(0x764dee06), uint32(0xcef18963), uint32(0xdc44268d),
 11925  		uint32(0x64f841e8), uint32(0xf92f7951), uint32(0x41931e34), uint32(0x5326b1da), uint32(0xeb9ad6bf),
 11926  		uint32(0xb3f9c6e9), uint32(0x0b45a18c), uint32(0x19f00e62), uint32(0xa14c6907), uint32(0x3c9b51be),
 11927  		uint32(0x842736db), uint32(0x96929935), uint32(0x2e2efe50), uint32(0x2654b999), uint32(0x9ee8defc),
 11928  		uint32(0x8c5d7112), uint32(0x34e11677), uint32(0xa9362ece), uint32(0x118a49ab), uint32(0x033fe645),
 11929  		uint32(0xbb838120), uint32(0xe3e09176), uint32(0x5b5cf613), uint32(0x49e959fd), uint32(0xf1553e98),
 11930  		uint32(0x6c820621), uint32(0xd43e6144), uint32(0xc68bceaa), uint32(0x7e37a9cf), uint32(0xd67f4138),
 11931  		uint32(0x6ec3265d), uint32(0x7c7689b3), uint32(0xc4caeed6), uint32(0x591dd66f), uint32(0xe1a1b10a),
 11932  		uint32(0xf3141ee4), uint32(0x4ba87981), uint32(0x13cb69d7), uint32(0xab770eb2), uint32(0xb9c2a15c),
 11933  		uint32(0x017ec639), uint32(0x9ca9fe80), uint32(0x241599e5), uint32(0x36a0360b), uint32(0x8e1c516e),
 11934  		uint32(0x866616a7), uint32(0x3eda71c2), uint32(0x2c6fde2c), uint32(0x94d3b949), uint32(0x090481f0),
 11935  		uint32(0xb1b8e695), uint32(0xa30d497b), uint32(0x1bb12e1e), uint32(0x43d23e48), uint32(0xfb6e592d),
 11936  		uint32(0xe9dbf6c3), uint32(0x516791a6), uint32(0xccb0a91f), uint32(0x740cce7a), uint32(0x66b96194),
 11937  		uint32(0xde0506f1),
 11938  	},
 11939  	{
 11940  		uint32(0x00000000), uint32(0x96300777), uint32(0x2c610eee), uint32(0xba510999), uint32(0x19c46d07),
 11941  		uint32(0x8ff46a70), uint32(0x35a563e9), uint32(0xa395649e), uint32(0x3288db0e), uint32(0xa4b8dc79),
 11942  		uint32(0x1ee9d5e0), uint32(0x88d9d297), uint32(0x2b4cb609), uint32(0xbd7cb17e), uint32(0x072db8e7),
 11943  		uint32(0x911dbf90), uint32(0x6410b71d), uint32(0xf220b06a), uint32(0x4871b9f3), uint32(0xde41be84),
 11944  		uint32(0x7dd4da1a), uint32(0xebe4dd6d), uint32(0x51b5d4f4), uint32(0xc785d383), uint32(0x56986c13),
 11945  		uint32(0xc0a86b64), uint32(0x7af962fd), uint32(0xecc9658a), uint32(0x4f5c0114), uint32(0xd96c0663),
 11946  		uint32(0x633d0ffa), uint32(0xf50d088d), uint32(0xc8206e3b), uint32(0x5e10694c), uint32(0xe44160d5),
 11947  		uint32(0x727167a2), uint32(0xd1e4033c), uint32(0x47d4044b), uint32(0xfd850dd2), uint32(0x6bb50aa5),
 11948  		uint32(0xfaa8b535), uint32(0x6c98b242), uint32(0xd6c9bbdb), uint32(0x40f9bcac), uint32(0xe36cd832),
 11949  		uint32(0x755cdf45), uint32(0xcf0dd6dc), uint32(0x593dd1ab), uint32(0xac30d926), uint32(0x3a00de51),
 11950  		uint32(0x8051d7c8), uint32(0x1661d0bf), uint32(0xb5f4b421), uint32(0x23c4b356), uint32(0x9995bacf),
 11951  		uint32(0x0fa5bdb8), uint32(0x9eb80228), uint32(0x0888055f), uint32(0xb2d90cc6), uint32(0x24e90bb1),
 11952  		uint32(0x877c6f2f), uint32(0x114c6858), uint32(0xab1d61c1), uint32(0x3d2d66b6), uint32(0x9041dc76),
 11953  		uint32(0x0671db01), uint32(0xbc20d298), uint32(0x2a10d5ef), uint32(0x8985b171), uint32(0x1fb5b606),
 11954  		uint32(0xa5e4bf9f), uint32(0x33d4b8e8), uint32(0xa2c90778), uint32(0x34f9000f), uint32(0x8ea80996),
 11955  		uint32(0x18980ee1), uint32(0xbb0d6a7f), uint32(0x2d3d6d08), uint32(0x976c6491), uint32(0x015c63e6),
 11956  		uint32(0xf4516b6b), uint32(0x62616c1c), uint32(0xd8306585), uint32(0x4e0062f2), uint32(0xed95066c),
 11957  		uint32(0x7ba5011b), uint32(0xc1f40882), uint32(0x57c40ff5), uint32(0xc6d9b065), uint32(0x50e9b712),
 11958  		uint32(0xeab8be8b), uint32(0x7c88b9fc), uint32(0xdf1ddd62), uint32(0x492dda15), uint32(0xf37cd38c),
 11959  		uint32(0x654cd4fb), uint32(0x5861b24d), uint32(0xce51b53a), uint32(0x7400bca3), uint32(0xe230bbd4),
 11960  		uint32(0x41a5df4a), uint32(0xd795d83d), uint32(0x6dc4d1a4), uint32(0xfbf4d6d3), uint32(0x6ae96943),
 11961  		uint32(0xfcd96e34), uint32(0x468867ad), uint32(0xd0b860da), uint32(0x732d0444), uint32(0xe51d0333),
 11962  		uint32(0x5f4c0aaa), uint32(0xc97c0ddd), uint32(0x3c710550), uint32(0xaa410227), uint32(0x10100bbe),
 11963  		uint32(0x86200cc9), uint32(0x25b56857), uint32(0xb3856f20), uint32(0x09d466b9), uint32(0x9fe461ce),
 11964  		uint32(0x0ef9de5e), uint32(0x98c9d929), uint32(0x2298d0b0), uint32(0xb4a8d7c7), uint32(0x173db359),
 11965  		uint32(0x810db42e), uint32(0x3b5cbdb7), uint32(0xad6cbac0), uint32(0x2083b8ed), uint32(0xb6b3bf9a),
 11966  		uint32(0x0ce2b603), uint32(0x9ad2b174), uint32(0x3947d5ea), uint32(0xaf77d29d), uint32(0x1526db04),
 11967  		uint32(0x8316dc73), uint32(0x120b63e3), uint32(0x843b6494), uint32(0x3e6a6d0d), uint32(0xa85a6a7a),
 11968  		uint32(0x0bcf0ee4), uint32(0x9dff0993), uint32(0x27ae000a), uint32(0xb19e077d), uint32(0x44930ff0),
 11969  		uint32(0xd2a30887), uint32(0x68f2011e), uint32(0xfec20669), uint32(0x5d5762f7), uint32(0xcb676580),
 11970  		uint32(0x71366c19), uint32(0xe7066b6e), uint32(0x761bd4fe), uint32(0xe02bd389), uint32(0x5a7ada10),
 11971  		uint32(0xcc4add67), uint32(0x6fdfb9f9), uint32(0xf9efbe8e), uint32(0x43beb717), uint32(0xd58eb060),
 11972  		uint32(0xe8a3d6d6), uint32(0x7e93d1a1), uint32(0xc4c2d838), uint32(0x52f2df4f), uint32(0xf167bbd1),
 11973  		uint32(0x6757bca6), uint32(0xdd06b53f), uint32(0x4b36b248), uint32(0xda2b0dd8), uint32(0x4c1b0aaf),
 11974  		uint32(0xf64a0336), uint32(0x607a0441), uint32(0xc3ef60df), uint32(0x55df67a8), uint32(0xef8e6e31),
 11975  		uint32(0x79be6946), uint32(0x8cb361cb), uint32(0x1a8366bc), uint32(0xa0d26f25), uint32(0x36e26852),
 11976  		uint32(0x95770ccc), uint32(0x03470bbb), uint32(0xb9160222), uint32(0x2f260555), uint32(0xbe3bbac5),
 11977  		uint32(0x280bbdb2), uint32(0x925ab42b), uint32(0x046ab35c), uint32(0xa7ffd7c2), uint32(0x31cfd0b5),
 11978  		uint32(0x8b9ed92c), uint32(0x1daede5b), uint32(0xb0c2649b), uint32(0x26f263ec), uint32(0x9ca36a75),
 11979  		uint32(0x0a936d02), uint32(0xa906099c), uint32(0x3f360eeb), uint32(0x85670772), uint32(0x13570005),
 11980  		uint32(0x824abf95), uint32(0x147ab8e2), uint32(0xae2bb17b), uint32(0x381bb60c), uint32(0x9b8ed292),
 11981  		uint32(0x0dbed5e5), uint32(0xb7efdc7c), uint32(0x21dfdb0b), uint32(0xd4d2d386), uint32(0x42e2d4f1),
 11982  		uint32(0xf8b3dd68), uint32(0x6e83da1f), uint32(0xcd16be81), uint32(0x5b26b9f6), uint32(0xe177b06f),
 11983  		uint32(0x7747b718), uint32(0xe65a0888), uint32(0x706a0fff), uint32(0xca3b0666), uint32(0x5c0b0111),
 11984  		uint32(0xff9e658f), uint32(0x69ae62f8), uint32(0xd3ff6b61), uint32(0x45cf6c16), uint32(0x78e20aa0),
 11985  		uint32(0xeed20dd7), uint32(0x5483044e), uint32(0xc2b30339), uint32(0x612667a7), uint32(0xf71660d0),
 11986  		uint32(0x4d476949), uint32(0xdb776e3e), uint32(0x4a6ad1ae), uint32(0xdc5ad6d9), uint32(0x660bdf40),
 11987  		uint32(0xf03bd837), uint32(0x53aebca9), uint32(0xc59ebbde), uint32(0x7fcfb247), uint32(0xe9ffb530),
 11988  		uint32(0x1cf2bdbd), uint32(0x8ac2baca), uint32(0x3093b353), uint32(0xa6a3b424), uint32(0x0536d0ba),
 11989  		uint32(0x9306d7cd), uint32(0x2957de54), uint32(0xbf67d923), uint32(0x2e7a66b3), uint32(0xb84a61c4),
 11990  		uint32(0x021b685d), uint32(0x942b6f2a), uint32(0x37be0bb4), uint32(0xa18e0cc3), uint32(0x1bdf055a),
 11991  		uint32(0x8def022d),
 11992  	},
 11993  	{
 11994  		uint32(0x00000000), uint32(0x41311b19), uint32(0x82623632), uint32(0xc3532d2b), uint32(0x04c56c64),
 11995  		uint32(0x45f4777d), uint32(0x86a75a56), uint32(0xc796414f), uint32(0x088ad9c8), uint32(0x49bbc2d1),
 11996  		uint32(0x8ae8effa), uint32(0xcbd9f4e3), uint32(0x0c4fb5ac), uint32(0x4d7eaeb5), uint32(0x8e2d839e),
 11997  		uint32(0xcf1c9887), uint32(0x5112c24a), uint32(0x1023d953), uint32(0xd370f478), uint32(0x9241ef61),
 11998  		uint32(0x55d7ae2e), uint32(0x14e6b537), uint32(0xd7b5981c), uint32(0x96848305), uint32(0x59981b82),
 11999  		uint32(0x18a9009b), uint32(0xdbfa2db0), uint32(0x9acb36a9), uint32(0x5d5d77e6), uint32(0x1c6c6cff),
 12000  		uint32(0xdf3f41d4), uint32(0x9e0e5acd), uint32(0xa2248495), uint32(0xe3159f8c), uint32(0x2046b2a7),
 12001  		uint32(0x6177a9be), uint32(0xa6e1e8f1), uint32(0xe7d0f3e8), uint32(0x2483dec3), uint32(0x65b2c5da),
 12002  		uint32(0xaaae5d5d), uint32(0xeb9f4644), uint32(0x28cc6b6f), uint32(0x69fd7076), uint32(0xae6b3139),
 12003  		uint32(0xef5a2a20), uint32(0x2c09070b), uint32(0x6d381c12), uint32(0xf33646df), uint32(0xb2075dc6),
 12004  		uint32(0x715470ed), uint32(0x30656bf4), uint32(0xf7f32abb), uint32(0xb6c231a2), uint32(0x75911c89),
 12005  		uint32(0x34a00790), uint32(0xfbbc9f17), uint32(0xba8d840e), uint32(0x79dea925), uint32(0x38efb23c),
 12006  		uint32(0xff79f373), uint32(0xbe48e86a), uint32(0x7d1bc541), uint32(0x3c2ade58), uint32(0x054f79f0),
 12007  		uint32(0x447e62e9), uint32(0x872d4fc2), uint32(0xc61c54db), uint32(0x018a1594), uint32(0x40bb0e8d),
 12008  		uint32(0x83e823a6), uint32(0xc2d938bf), uint32(0x0dc5a038), uint32(0x4cf4bb21), uint32(0x8fa7960a),
 12009  		uint32(0xce968d13), uint32(0x0900cc5c), uint32(0x4831d745), uint32(0x8b62fa6e), uint32(0xca53e177),
 12010  		uint32(0x545dbbba), uint32(0x156ca0a3), uint32(0xd63f8d88), uint32(0x970e9691), uint32(0x5098d7de),
 12011  		uint32(0x11a9ccc7), uint32(0xd2fae1ec), uint32(0x93cbfaf5), uint32(0x5cd76272), uint32(0x1de6796b),
 12012  		uint32(0xdeb55440), uint32(0x9f844f59), uint32(0x58120e16), uint32(0x1923150f), uint32(0xda703824),
 12013  		uint32(0x9b41233d), uint32(0xa76bfd65), uint32(0xe65ae67c), uint32(0x2509cb57), uint32(0x6438d04e),
 12014  		uint32(0xa3ae9101), uint32(0xe29f8a18), uint32(0x21cca733), uint32(0x60fdbc2a), uint32(0xafe124ad),
 12015  		uint32(0xeed03fb4), uint32(0x2d83129f), uint32(0x6cb20986), uint32(0xab2448c9), uint32(0xea1553d0),
 12016  		uint32(0x29467efb), uint32(0x687765e2), uint32(0xf6793f2f), uint32(0xb7482436), uint32(0x741b091d),
 12017  		uint32(0x352a1204), uint32(0xf2bc534b), uint32(0xb38d4852), uint32(0x70de6579), uint32(0x31ef7e60),
 12018  		uint32(0xfef3e6e7), uint32(0xbfc2fdfe), uint32(0x7c91d0d5), uint32(0x3da0cbcc), uint32(0xfa368a83),
 12019  		uint32(0xbb07919a), uint32(0x7854bcb1), uint32(0x3965a7a8), uint32(0x4b98833b), uint32(0x0aa99822),
 12020  		uint32(0xc9fab509), uint32(0x88cbae10), uint32(0x4f5def5f), uint32(0x0e6cf446), uint32(0xcd3fd96d),
 12021  		uint32(0x8c0ec274), uint32(0x43125af3), uint32(0x022341ea), uint32(0xc1706cc1), uint32(0x804177d8),
 12022  		uint32(0x47d73697), uint32(0x06e62d8e), uint32(0xc5b500a5), uint32(0x84841bbc), uint32(0x1a8a4171),
 12023  		uint32(0x5bbb5a68), uint32(0x98e87743), uint32(0xd9d96c5a), uint32(0x1e4f2d15), uint32(0x5f7e360c),
 12024  		uint32(0x9c2d1b27), uint32(0xdd1c003e), uint32(0x120098b9), uint32(0x533183a0), uint32(0x9062ae8b),
 12025  		uint32(0xd153b592), uint32(0x16c5f4dd), uint32(0x57f4efc4), uint32(0x94a7c2ef), uint32(0xd596d9f6),
 12026  		uint32(0xe9bc07ae), uint32(0xa88d1cb7), uint32(0x6bde319c), uint32(0x2aef2a85), uint32(0xed796bca),
 12027  		uint32(0xac4870d3), uint32(0x6f1b5df8), uint32(0x2e2a46e1), uint32(0xe136de66), uint32(0xa007c57f),
 12028  		uint32(0x6354e854), uint32(0x2265f34d), uint32(0xe5f3b202), uint32(0xa4c2a91b), uint32(0x67918430),
 12029  		uint32(0x26a09f29), uint32(0xb8aec5e4), uint32(0xf99fdefd), uint32(0x3accf3d6), uint32(0x7bfde8cf),
 12030  		uint32(0xbc6ba980), uint32(0xfd5ab299), uint32(0x3e099fb2), uint32(0x7f3884ab), uint32(0xb0241c2c),
 12031  		uint32(0xf1150735), uint32(0x32462a1e), uint32(0x73773107), uint32(0xb4e17048), uint32(0xf5d06b51),
 12032  		uint32(0x3683467a), uint32(0x77b25d63), uint32(0x4ed7facb), uint32(0x0fe6e1d2), uint32(0xccb5ccf9),
 12033  		uint32(0x8d84d7e0), uint32(0x4a1296af), uint32(0x0b238db6), uint32(0xc870a09d), uint32(0x8941bb84),
 12034  		uint32(0x465d2303), uint32(0x076c381a), uint32(0xc43f1531), uint32(0x850e0e28), uint32(0x42984f67),
 12035  		uint32(0x03a9547e), uint32(0xc0fa7955), uint32(0x81cb624c), uint32(0x1fc53881), uint32(0x5ef42398),
 12036  		uint32(0x9da70eb3), uint32(0xdc9615aa), uint32(0x1b0054e5), uint32(0x5a314ffc), uint32(0x996262d7),
 12037  		uint32(0xd85379ce), uint32(0x174fe149), uint32(0x567efa50), uint32(0x952dd77b), uint32(0xd41ccc62),
 12038  		uint32(0x138a8d2d), uint32(0x52bb9634), uint32(0x91e8bb1f), uint32(0xd0d9a006), uint32(0xecf37e5e),
 12039  		uint32(0xadc26547), uint32(0x6e91486c), uint32(0x2fa05375), uint32(0xe836123a), uint32(0xa9070923),
 12040  		uint32(0x6a542408), uint32(0x2b653f11), uint32(0xe479a796), uint32(0xa548bc8f), uint32(0x661b91a4),
 12041  		uint32(0x272a8abd), uint32(0xe0bccbf2), uint32(0xa18dd0eb), uint32(0x62defdc0), uint32(0x23efe6d9),
 12042  		uint32(0xbde1bc14), uint32(0xfcd0a70d), uint32(0x3f838a26), uint32(0x7eb2913f), uint32(0xb924d070),
 12043  		uint32(0xf815cb69), uint32(0x3b46e642), uint32(0x7a77fd5b), uint32(0xb56b65dc), uint32(0xf45a7ec5),
 12044  		uint32(0x370953ee), uint32(0x763848f7), uint32(0xb1ae09b8), uint32(0xf09f12a1), uint32(0x33cc3f8a),
 12045  		uint32(0x72fd2493),
 12046  	},
 12047  	{
 12048  		uint32(0x00000000), uint32(0x376ac201), uint32(0x6ed48403), uint32(0x59be4602), uint32(0xdca80907),
 12049  		uint32(0xebc2cb06), uint32(0xb27c8d04), uint32(0x85164f05), uint32(0xb851130e), uint32(0x8f3bd10f),
 12050  		uint32(0xd685970d), uint32(0xe1ef550c), uint32(0x64f91a09), uint32(0x5393d808), uint32(0x0a2d9e0a),
 12051  		uint32(0x3d475c0b), uint32(0x70a3261c), uint32(0x47c9e41d), uint32(0x1e77a21f), uint32(0x291d601e),
 12052  		uint32(0xac0b2f1b), uint32(0x9b61ed1a), uint32(0xc2dfab18), uint32(0xf5b56919), uint32(0xc8f23512),
 12053  		uint32(0xff98f713), uint32(0xa626b111), uint32(0x914c7310), uint32(0x145a3c15), uint32(0x2330fe14),
 12054  		uint32(0x7a8eb816), uint32(0x4de47a17), uint32(0xe0464d38), uint32(0xd72c8f39), uint32(0x8e92c93b),
 12055  		uint32(0xb9f80b3a), uint32(0x3cee443f), uint32(0x0b84863e), uint32(0x523ac03c), uint32(0x6550023d),
 12056  		uint32(0x58175e36), uint32(0x6f7d9c37), uint32(0x36c3da35), uint32(0x01a91834), uint32(0x84bf5731),
 12057  		uint32(0xb3d59530), uint32(0xea6bd332), uint32(0xdd011133), uint32(0x90e56b24), uint32(0xa78fa925),
 12058  		uint32(0xfe31ef27), uint32(0xc95b2d26), uint32(0x4c4d6223), uint32(0x7b27a022), uint32(0x2299e620),
 12059  		uint32(0x15f32421), uint32(0x28b4782a), uint32(0x1fdeba2b), uint32(0x4660fc29), uint32(0x710a3e28),
 12060  		uint32(0xf41c712d), uint32(0xc376b32c), uint32(0x9ac8f52e), uint32(0xada2372f), uint32(0xc08d9a70),
 12061  		uint32(0xf7e75871), uint32(0xae591e73), uint32(0x9933dc72), uint32(0x1c259377), uint32(0x2b4f5176),
 12062  		uint32(0x72f11774), uint32(0x459bd575), uint32(0x78dc897e), uint32(0x4fb64b7f), uint32(0x16080d7d),
 12063  		uint32(0x2162cf7c), uint32(0xa4748079), uint32(0x931e4278), uint32(0xcaa0047a), uint32(0xfdcac67b),
 12064  		uint32(0xb02ebc6c), uint32(0x87447e6d), uint32(0xdefa386f), uint32(0xe990fa6e), uint32(0x6c86b56b),
 12065  		uint32(0x5bec776a), uint32(0x02523168), uint32(0x3538f369), uint32(0x087faf62), uint32(0x3f156d63),
 12066  		uint32(0x66ab2b61), uint32(0x51c1e960), uint32(0xd4d7a665), uint32(0xe3bd6464), uint32(0xba032266),
 12067  		uint32(0x8d69e067), uint32(0x20cbd748), uint32(0x17a11549), uint32(0x4e1f534b), uint32(0x7975914a),
 12068  		uint32(0xfc63de4f), uint32(0xcb091c4e), uint32(0x92b75a4c), uint32(0xa5dd984d), uint32(0x989ac446),
 12069  		uint32(0xaff00647), uint32(0xf64e4045), uint32(0xc1248244), uint32(0x4432cd41), uint32(0x73580f40),
 12070  		uint32(0x2ae64942), uint32(0x1d8c8b43), uint32(0x5068f154), uint32(0x67023355), uint32(0x3ebc7557),
 12071  		uint32(0x09d6b756), uint32(0x8cc0f853), uint32(0xbbaa3a52), uint32(0xe2147c50), uint32(0xd57ebe51),
 12072  		uint32(0xe839e25a), uint32(0xdf53205b), uint32(0x86ed6659), uint32(0xb187a458), uint32(0x3491eb5d),
 12073  		uint32(0x03fb295c), uint32(0x5a456f5e), uint32(0x6d2fad5f), uint32(0x801b35e1), uint32(0xb771f7e0),
 12074  		uint32(0xeecfb1e2), uint32(0xd9a573e3), uint32(0x5cb33ce6), uint32(0x6bd9fee7), uint32(0x3267b8e5),
 12075  		uint32(0x050d7ae4), uint32(0x384a26ef), uint32(0x0f20e4ee), uint32(0x569ea2ec), uint32(0x61f460ed),
 12076  		uint32(0xe4e22fe8), uint32(0xd388ede9), uint32(0x8a36abeb), uint32(0xbd5c69ea), uint32(0xf0b813fd),
 12077  		uint32(0xc7d2d1fc), uint32(0x9e6c97fe), uint32(0xa90655ff), uint32(0x2c101afa), uint32(0x1b7ad8fb),
 12078  		uint32(0x42c49ef9), uint32(0x75ae5cf8), uint32(0x48e900f3), uint32(0x7f83c2f2), uint32(0x263d84f0),
 12079  		uint32(0x115746f1), uint32(0x944109f4), uint32(0xa32bcbf5), uint32(0xfa958df7), uint32(0xcdff4ff6),
 12080  		uint32(0x605d78d9), uint32(0x5737bad8), uint32(0x0e89fcda), uint32(0x39e33edb), uint32(0xbcf571de),
 12081  		uint32(0x8b9fb3df), uint32(0xd221f5dd), uint32(0xe54b37dc), uint32(0xd80c6bd7), uint32(0xef66a9d6),
 12082  		uint32(0xb6d8efd4), uint32(0x81b22dd5), uint32(0x04a462d0), uint32(0x33cea0d1), uint32(0x6a70e6d3),
 12083  		uint32(0x5d1a24d2), uint32(0x10fe5ec5), uint32(0x27949cc4), uint32(0x7e2adac6), uint32(0x494018c7),
 12084  		uint32(0xcc5657c2), uint32(0xfb3c95c3), uint32(0xa282d3c1), uint32(0x95e811c0), uint32(0xa8af4dcb),
 12085  		uint32(0x9fc58fca), uint32(0xc67bc9c8), uint32(0xf1110bc9), uint32(0x740744cc), uint32(0x436d86cd),
 12086  		uint32(0x1ad3c0cf), uint32(0x2db902ce), uint32(0x4096af91), uint32(0x77fc6d90), uint32(0x2e422b92),
 12087  		uint32(0x1928e993), uint32(0x9c3ea696), uint32(0xab546497), uint32(0xf2ea2295), uint32(0xc580e094),
 12088  		uint32(0xf8c7bc9f), uint32(0xcfad7e9e), uint32(0x9613389c), uint32(0xa179fa9d), uint32(0x246fb598),
 12089  		uint32(0x13057799), uint32(0x4abb319b), uint32(0x7dd1f39a), uint32(0x3035898d), uint32(0x075f4b8c),
 12090  		uint32(0x5ee10d8e), uint32(0x698bcf8f), uint32(0xec9d808a), uint32(0xdbf7428b), uint32(0x82490489),
 12091  		uint32(0xb523c688), uint32(0x88649a83), uint32(0xbf0e5882), uint32(0xe6b01e80), uint32(0xd1dadc81),
 12092  		uint32(0x54cc9384), uint32(0x63a65185), uint32(0x3a181787), uint32(0x0d72d586), uint32(0xa0d0e2a9),
 12093  		uint32(0x97ba20a8), uint32(0xce0466aa), uint32(0xf96ea4ab), uint32(0x7c78ebae), uint32(0x4b1229af),
 12094  		uint32(0x12ac6fad), uint32(0x25c6adac), uint32(0x1881f1a7), uint32(0x2feb33a6), uint32(0x765575a4),
 12095  		uint32(0x413fb7a5), uint32(0xc429f8a0), uint32(0xf3433aa1), uint32(0xaafd7ca3), uint32(0x9d97bea2),
 12096  		uint32(0xd073c4b5), uint32(0xe71906b4), uint32(0xbea740b6), uint32(0x89cd82b7), uint32(0x0cdbcdb2),
 12097  		uint32(0x3bb10fb3), uint32(0x620f49b1), uint32(0x55658bb0), uint32(0x6822d7bb), uint32(0x5f4815ba),
 12098  		uint32(0x06f653b8), uint32(0x319c91b9), uint32(0xb48adebc), uint32(0x83e01cbd), uint32(0xda5e5abf),
 12099  		uint32(0xed3498be),
 12100  	},
 12101  	{
 12102  		uint32(0x00000000), uint32(0x6567bcb8), uint32(0x8bc809aa), uint32(0xeeafb512), uint32(0x5797628f),
 12103  		uint32(0x32f0de37), uint32(0xdc5f6b25), uint32(0xb938d79d), uint32(0xef28b4c5), uint32(0x8a4f087d),
 12104  		uint32(0x64e0bd6f), uint32(0x018701d7), uint32(0xb8bfd64a), uint32(0xddd86af2), uint32(0x3377dfe0),
 12105  		uint32(0x56106358), uint32(0x9f571950), uint32(0xfa30a5e8), uint32(0x149f10fa), uint32(0x71f8ac42),
 12106  		uint32(0xc8c07bdf), uint32(0xada7c767), uint32(0x43087275), uint32(0x266fcecd), uint32(0x707fad95),
 12107  		uint32(0x1518112d), uint32(0xfbb7a43f), uint32(0x9ed01887), uint32(0x27e8cf1a), uint32(0x428f73a2),
 12108  		uint32(0xac20c6b0), uint32(0xc9477a08), uint32(0x3eaf32a0), uint32(0x5bc88e18), uint32(0xb5673b0a),
 12109  		uint32(0xd00087b2), uint32(0x6938502f), uint32(0x0c5fec97), uint32(0xe2f05985), uint32(0x8797e53d),
 12110  		uint32(0xd1878665), uint32(0xb4e03add), uint32(0x5a4f8fcf), uint32(0x3f283377), uint32(0x8610e4ea),
 12111  		uint32(0xe3775852), uint32(0x0dd8ed40), uint32(0x68bf51f8), uint32(0xa1f82bf0), uint32(0xc49f9748),
 12112  		uint32(0x2a30225a), uint32(0x4f579ee2), uint32(0xf66f497f), uint32(0x9308f5c7), uint32(0x7da740d5),
 12113  		uint32(0x18c0fc6d), uint32(0x4ed09f35), uint32(0x2bb7238d), uint32(0xc518969f), uint32(0xa07f2a27),
 12114  		uint32(0x1947fdba), uint32(0x7c204102), uint32(0x928ff410), uint32(0xf7e848a8), uint32(0x3d58149b),
 12115  		uint32(0x583fa823), uint32(0xb6901d31), uint32(0xd3f7a189), uint32(0x6acf7614), uint32(0x0fa8caac),
 12116  		uint32(0xe1077fbe), uint32(0x8460c306), uint32(0xd270a05e), uint32(0xb7171ce6), uint32(0x59b8a9f4),
 12117  		uint32(0x3cdf154c), uint32(0x85e7c2d1), uint32(0xe0807e69), uint32(0x0e2fcb7b), uint32(0x6b4877c3),
 12118  		uint32(0xa20f0dcb), uint32(0xc768b173), uint32(0x29c70461), uint32(0x4ca0b8d9), uint32(0xf5986f44),
 12119  		uint32(0x90ffd3fc), uint32(0x7e5066ee), uint32(0x1b37da56), uint32(0x4d27b90e), uint32(0x284005b6),
 12120  		uint32(0xc6efb0a4), uint32(0xa3880c1c), uint32(0x1ab0db81), uint32(0x7fd76739), uint32(0x9178d22b),
 12121  		uint32(0xf41f6e93), uint32(0x03f7263b), uint32(0x66909a83), uint32(0x883f2f91), uint32(0xed589329),
 12122  		uint32(0x546044b4), uint32(0x3107f80c), uint32(0xdfa84d1e), uint32(0xbacff1a6), uint32(0xecdf92fe),
 12123  		uint32(0x89b82e46), uint32(0x67179b54), uint32(0x027027ec), uint32(0xbb48f071), uint32(0xde2f4cc9),
 12124  		uint32(0x3080f9db), uint32(0x55e74563), uint32(0x9ca03f6b), uint32(0xf9c783d3), uint32(0x176836c1),
 12125  		uint32(0x720f8a79), uint32(0xcb375de4), uint32(0xae50e15c), uint32(0x40ff544e), uint32(0x2598e8f6),
 12126  		uint32(0x73888bae), uint32(0x16ef3716), uint32(0xf8408204), uint32(0x9d273ebc), uint32(0x241fe921),
 12127  		uint32(0x41785599), uint32(0xafd7e08b), uint32(0xcab05c33), uint32(0x3bb659ed), uint32(0x5ed1e555),
 12128  		uint32(0xb07e5047), uint32(0xd519ecff), uint32(0x6c213b62), uint32(0x094687da), uint32(0xe7e932c8),
 12129  		uint32(0x828e8e70), uint32(0xd49eed28), uint32(0xb1f95190), uint32(0x5f56e482), uint32(0x3a31583a),
 12130  		uint32(0x83098fa7), uint32(0xe66e331f), uint32(0x08c1860d), uint32(0x6da63ab5), uint32(0xa4e140bd),
 12131  		uint32(0xc186fc05), uint32(0x2f294917), uint32(0x4a4ef5af), uint32(0xf3762232), uint32(0x96119e8a),
 12132  		uint32(0x78be2b98), uint32(0x1dd99720), uint32(0x4bc9f478), uint32(0x2eae48c0), uint32(0xc001fdd2),
 12133  		uint32(0xa566416a), uint32(0x1c5e96f7), uint32(0x79392a4f), uint32(0x97969f5d), uint32(0xf2f123e5),
 12134  		uint32(0x05196b4d), uint32(0x607ed7f5), uint32(0x8ed162e7), uint32(0xebb6de5f), uint32(0x528e09c2),
 12135  		uint32(0x37e9b57a), uint32(0xd9460068), uint32(0xbc21bcd0), uint32(0xea31df88), uint32(0x8f566330),
 12136  		uint32(0x61f9d622), uint32(0x049e6a9a), uint32(0xbda6bd07), uint32(0xd8c101bf), uint32(0x366eb4ad),
 12137  		uint32(0x53090815), uint32(0x9a4e721d), uint32(0xff29cea5), uint32(0x11867bb7), uint32(0x74e1c70f),
 12138  		uint32(0xcdd91092), uint32(0xa8beac2a), uint32(0x46111938), uint32(0x2376a580), uint32(0x7566c6d8),
 12139  		uint32(0x10017a60), uint32(0xfeaecf72), uint32(0x9bc973ca), uint32(0x22f1a457), uint32(0x479618ef),
 12140  		uint32(0xa939adfd), uint32(0xcc5e1145), uint32(0x06ee4d76), uint32(0x6389f1ce), uint32(0x8d2644dc),
 12141  		uint32(0xe841f864), uint32(0x51792ff9), uint32(0x341e9341), uint32(0xdab12653), uint32(0xbfd69aeb),
 12142  		uint32(0xe9c6f9b3), uint32(0x8ca1450b), uint32(0x620ef019), uint32(0x07694ca1), uint32(0xbe519b3c),
 12143  		uint32(0xdb362784), uint32(0x35999296), uint32(0x50fe2e2e), uint32(0x99b95426), uint32(0xfcdee89e),
 12144  		uint32(0x12715d8c), uint32(0x7716e134), uint32(0xce2e36a9), uint32(0xab498a11), uint32(0x45e63f03),
 12145  		uint32(0x208183bb), uint32(0x7691e0e3), uint32(0x13f65c5b), uint32(0xfd59e949), uint32(0x983e55f1),
 12146  		uint32(0x2106826c), uint32(0x44613ed4), uint32(0xaace8bc6), uint32(0xcfa9377e), uint32(0x38417fd6),
 12147  		uint32(0x5d26c36e), uint32(0xb389767c), uint32(0xd6eecac4), uint32(0x6fd61d59), uint32(0x0ab1a1e1),
 12148  		uint32(0xe41e14f3), uint32(0x8179a84b), uint32(0xd769cb13), uint32(0xb20e77ab), uint32(0x5ca1c2b9),
 12149  		uint32(0x39c67e01), uint32(0x80fea99c), uint32(0xe5991524), uint32(0x0b36a036), uint32(0x6e511c8e),
 12150  		uint32(0xa7166686), uint32(0xc271da3e), uint32(0x2cde6f2c), uint32(0x49b9d394), uint32(0xf0810409),
 12151  		uint32(0x95e6b8b1), uint32(0x7b490da3), uint32(0x1e2eb11b), uint32(0x483ed243), uint32(0x2d596efb),
 12152  		uint32(0xc3f6dbe9), uint32(0xa6916751), uint32(0x1fa9b0cc), uint32(0x7ace0c74), uint32(0x9461b966),
 12153  		uint32(0xf10605de),
 12154  	},
 12155  } /* crc32.h:5:25 */
 12156  
 12157  // =========================================================================
 12158  // This function can be used by asm versions of crc32()
 12159  func Xget_crc_table(tls *libc.TLS) uintptr { /* crc32.c:188:19: */
 12160  	return uintptr(uintptr(unsafe.Pointer(&crc_table)))
 12161  }
 12162  
 12163  // =========================================================================
 12164  
 12165  // =========================================================================
 12166  func Xcrc32_z(tls *libc.TLS, crc uint64, buf uintptr, len Z_size_t) uint64 { /* crc32.c:202:23: */
 12167  	bp := tls.Alloc(4)
 12168  	defer tls.Free(4)
 12169  
 12170  	if buf == uintptr(Z_NULL) {
 12171  		return 0
 12172  	}
 12173  
 12174  	if uint64(unsafe.Sizeof(uintptr(0))) == uint64(unsafe.Sizeof(Ptrdiff_t(0))) {
 12175  		// var endian Z_crc_t at bp, 4
 12176  
 12177  		*(*Z_crc_t)(unsafe.Pointer(bp /* endian */)) = Z_crc_t(1)
 12178  		if *(*uint8)(unsafe.Pointer(bp)) != 0 {
 12179  			return crc32_little(tls, crc, buf, len)
 12180  		} else {
 12181  			return crc32_big(tls, crc, buf, len)
 12182  		}
 12183  	}
 12184  	crc = crc ^ 0xffffffff
 12185  	for len >= uint64(8) {
 12186  		crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8
 12187  		crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8
 12188  		crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8
 12189  		crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8
 12190  		crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8
 12191  		crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8
 12192  		crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8
 12193  		crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8
 12194  		len = len - uint64(8)
 12195  	}
 12196  	if len != 0 {
 12197  		for ok := true; ok; ok = libc.PreDecUint64(&len, 1) != 0 {
 12198  			crc = uint64(*(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((int32(crc)^int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&0xff)*4))) ^ crc>>8
 12199  		}
 12200  	}
 12201  	return crc ^ 0xffffffff
 12202  }
 12203  
 12204  // =========================================================================
 12205  func Xcrc32(tls *libc.TLS, crc uint64, buf uintptr, len UInt) uint64 { /* crc32.c:237:23: */
 12206  	return Xcrc32_z(tls, crc, buf, uint64(len))
 12207  }
 12208  
 12209  //
 12210  //    This BYFOUR code accesses the passed unsigned char * buffer with a 32-bit
 12211  //    integer pointer type. This violates the strict aliasing rule, where a
 12212  //    compiler can assume, for optimization purposes, that two pointers to
 12213  //    fundamentally different types won't ever point to the same memory. This can
 12214  //    manifest as a problem only if one of the pointers is written to. This code
 12215  //    only reads from those pointers. So long as this code remains isolated in
 12216  //    this compilation unit, there won't be a problem. For this reason, this code
 12217  //    should not be copied and pasted into a compilation unit in which other code
 12218  //    writes to the buffer that is passed to these routines.
 12219  //
 12220  
 12221  // =========================================================================
 12222  
 12223  // =========================================================================
 12224  func crc32_little(tls *libc.TLS, crc uint64, buf uintptr, len Z_size_t) uint64 { /* crc32.c:266:21: */
 12225  	var c Z_crc_t
 12226  	var buf4 uintptr
 12227  
 12228  	c = Z_crc_t(crc)
 12229  	c = ^c
 12230  	for len != 0 && Ptrdiff_t(buf)&int64(3) != 0 {
 12231  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((c^Z_crc_t(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&Z_crc_t(0xff))*4)) ^ c>>8
 12232  		len--
 12233  	}
 12234  
 12235  	buf4 = buf
 12236  	for len >= uint64(32) {
 12237  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12238  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4))
 12239  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12240  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4))
 12241  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12242  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4))
 12243  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12244  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4))
 12245  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12246  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4))
 12247  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12248  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4))
 12249  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12250  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4))
 12251  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12252  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4))
 12253  		len = len - uint64(32)
 12254  	}
 12255  	for len >= uint64(4) {
 12256  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12257  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 3*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 2*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 1*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr(c>>24)*4))
 12258  		len = len - uint64(4)
 12259  	}
 12260  	buf = buf4
 12261  
 12262  	if len != 0 {
 12263  		for ok := true; ok; ok = libc.PreDecUint64(&len, 1) != 0 {
 12264  			c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + uintptr((c^Z_crc_t(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))&Z_crc_t(0xff))*4)) ^ c>>8
 12265  		}
 12266  	}
 12267  	c = ^c
 12268  	return uint64(c)
 12269  }
 12270  
 12271  // =========================================================================
 12272  
 12273  // =========================================================================
 12274  func crc32_big(tls *libc.TLS, crc uint64, buf uintptr, len Z_size_t) uint64 { /* crc32.c:306:21: */
 12275  	var c Z_crc_t
 12276  	var buf4 uintptr
 12277  
 12278  	c = Z_crc_t(crc)>>24&Z_crc_t(0xff) + Z_crc_t(crc)>>8&Z_crc_t(0xff00) + Z_crc_t(crc)&Z_crc_t(0xff00)<<8 + Z_crc_t(crc)&Z_crc_t(0xff)<<24
 12279  	c = ^c
 12280  	for len != 0 && Ptrdiff_t(buf)&int64(3) != 0 {
 12281  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c>>24^Z_crc_t(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))*4)) ^ c<<8
 12282  		len--
 12283  	}
 12284  
 12285  	buf4 = buf
 12286  	for len >= uint64(32) {
 12287  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12288  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4))
 12289  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12290  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4))
 12291  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12292  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4))
 12293  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12294  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4))
 12295  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12296  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4))
 12297  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12298  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4))
 12299  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12300  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4))
 12301  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12302  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4))
 12303  		len = len - uint64(32)
 12304  	}
 12305  	for len >= uint64(4) {
 12306  		c = c ^ *(*Z_crc_t)(unsafe.Pointer(libc.PostIncUintptr(&buf4, 4)))
 12307  		c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 5*1024 + uintptr(c>>8&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 6*1024 + uintptr(c>>16&Z_crc_t(0xff))*4)) ^ *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 7*1024 + uintptr(c>>24)*4))
 12308  		len = len - uint64(4)
 12309  	}
 12310  	buf = buf4
 12311  
 12312  	if len != 0 {
 12313  		for ok := true; ok; ok = libc.PreDecUint64(&len, 1) != 0 {
 12314  			c = *(*Z_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&crc_table)) + 4*1024 + uintptr(c>>24^Z_crc_t(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&buf, 1)))))*4)) ^ c<<8
 12315  		}
 12316  	}
 12317  	c = ^c
 12318  	return uint64(c>>24&Z_crc_t(0xff) + c>>8&Z_crc_t(0xff00) + c&Z_crc_t(0xff00)<<8 + c&Z_crc_t(0xff)<<24)
 12319  }
 12320  
 12321  // =========================================================================
 12322  func gf2_matrix_times(tls *libc.TLS, mat uintptr, vec uint64) uint64 { /* crc32.c:344:21: */
 12323  	var sum uint64
 12324  
 12325  	sum = uint64(0)
 12326  	for vec != 0 {
 12327  		if vec&uint64(1) != 0 {
 12328  			sum = sum ^ *(*uint64)(unsafe.Pointer(mat))
 12329  		}
 12330  		vec >>= 1
 12331  		mat += 8
 12332  	}
 12333  	return sum
 12334  }
 12335  
 12336  // =========================================================================
 12337  func gf2_matrix_square(tls *libc.TLS, square uintptr, mat uintptr) { /* crc32.c:361:12: */
 12338  	var n int32
 12339  
 12340  	for n = 0; n < GF2_DIM; n++ {
 12341  		*(*uint64)(unsafe.Pointer(square + uintptr(n)*8)) = gf2_matrix_times(tls, mat, *(*uint64)(unsafe.Pointer(mat + uintptr(n)*8)))
 12342  	}
 12343  }
 12344  
 12345  // =========================================================================
 12346  func crc32_combine_(tls *libc.TLS, crc1 ULong, crc2 ULong, len2 Off_t) ULong { /* crc32.c:372:13: */
 12347  	bp := tls.Alloc(512)
 12348  	defer tls.Free(512)
 12349  
 12350  	var n int32
 12351  	var row uint64
 12352  	// var even [32]uint64 at bp+256, 256
 12353  	// even-power-of-two zeros operator
 12354  	// var odd [32]uint64 at bp, 256
 12355  	// odd-power-of-two zeros operator
 12356  
 12357  	// degenerate case (also disallow negative lengths)
 12358  	if len2 <= int64(0) {
 12359  		return crc1
 12360  	}
 12361  
 12362  	// put operator for one zero bit in odd
 12363  	*(*uint64)(unsafe.Pointer(bp)) = 0xedb88320 // CRC-32 polynomial
 12364  	row = uint64(1)
 12365  	for n = 1; n < GF2_DIM; n++ {
 12366  		*(*uint64)(unsafe.Pointer(bp + uintptr(n)*8)) = row
 12367  		row <<= 1
 12368  	}
 12369  
 12370  	// put operator for two zero bits in even
 12371  	gf2_matrix_square(tls, bp+256, bp)
 12372  
 12373  	// put operator for four zero bits in odd
 12374  	gf2_matrix_square(tls, bp, bp+256)
 12375  
 12376  	// apply len2 zeros to crc1 (first square will put the operator for one
 12377  	//        zero byte, eight zero bits, in even)
 12378  	for ok := true; ok; ok = len2 != int64(0) {
 12379  		// apply zeros operator for this bit of len2
 12380  		gf2_matrix_square(tls, bp+256, bp)
 12381  		if len2&int64(1) != 0 {
 12382  			crc1 = gf2_matrix_times(tls, bp+256, crc1)
 12383  		}
 12384  		len2 >>= 1
 12385  
 12386  		// if no more bits set, then done
 12387  		if len2 == int64(0) {
 12388  			break
 12389  		}
 12390  
 12391  		// another iteration of the loop with odd and even swapped
 12392  		gf2_matrix_square(tls, bp, bp+256)
 12393  		if len2&int64(1) != 0 {
 12394  			crc1 = gf2_matrix_times(tls, bp, crc1)
 12395  		}
 12396  		len2 >>= 1
 12397  
 12398  		// if no more bits set, then done
 12399  	}
 12400  
 12401  	// return combined crc
 12402  	crc1 = crc1 ^ crc2
 12403  	return crc1
 12404  }
 12405  
 12406  // =========================================================================
 12407  func Xcrc32_combine(tls *libc.TLS, crc1 ULong, crc2 ULong, len2 Off_t) ULong { /* crc32.c:428:15: */
 12408  	return crc32_combine_(tls, crc1, crc2, len2)
 12409  }
 12410  
 12411  func Xcrc32_combine64(tls *libc.TLS, crc1 ULong, crc2 ULong, len2 Off_t) ULong { /* crc32.c:436:15: */
 12412  	return crc32_combine_(tls, crc1, crc2, len2)
 12413  }
 12414  
 12415  // Reverse the bytes in a 32-bit value
 12416  
 12417  // define NO_GZIP when compiling if you want to disable gzip header and
 12418  //    trailer creation by deflate().  NO_GZIP would be used to avoid linking in
 12419  //    the crc code when it is not needed.  For shared libraries, gzip encoding
 12420  //    should be left enabled.
 12421  
 12422  // ===========================================================================
 12423  // Internal compression state.
 12424  
 12425  // number of length codes, not counting the special END_BLOCK code
 12426  
 12427  // number of literal bytes 0..255
 12428  
 12429  // number of Literal or Length codes, including the END_BLOCK code
 12430  
 12431  // number of distance codes
 12432  
 12433  // number of codes used to transfer the bit lengths
 12434  
 12435  // maximum heap size
 12436  
 12437  // All codes must not exceed MAX_BITS bits
 12438  
 12439  // size of bit buffer in bi_buf
 12440  
 12441  // Stream status
 12442  
 12443  // Data structure describing a single value and its code string.
 12444  type Ct_data_s = struct {
 12445  	Ffc struct{ Ffreq Ush }
 12446  	Fdl struct{ Fdad Ush }
 12447  } /* zlib.h:84:1 */
 12448  
 12449  // Reverse the bytes in a 32-bit value
 12450  
 12451  // define NO_GZIP when compiling if you want to disable gzip header and
 12452  //    trailer creation by deflate().  NO_GZIP would be used to avoid linking in
 12453  //    the crc code when it is not needed.  For shared libraries, gzip encoding
 12454  //    should be left enabled.
 12455  
 12456  // ===========================================================================
 12457  // Internal compression state.
 12458  
 12459  // number of length codes, not counting the special END_BLOCK code
 12460  
 12461  // number of literal bytes 0..255
 12462  
 12463  // number of Literal or Length codes, including the END_BLOCK code
 12464  
 12465  // number of distance codes
 12466  
 12467  // number of codes used to transfer the bit lengths
 12468  
 12469  // maximum heap size
 12470  
 12471  // All codes must not exceed MAX_BITS bits
 12472  
 12473  // size of bit buffer in bi_buf
 12474  
 12475  // Stream status
 12476  
 12477  // Data structure describing a single value and its code string.
 12478  type Ct_data = Ct_data_s /* deflate.h:77:7 */
 12479  
 12480  type Static_tree_desc_s = struct {
 12481  	Fstatic_tree uintptr
 12482  	Fextra_bits  uintptr
 12483  	Fextra_base  int32
 12484  	Felems       int32
 12485  	Fmax_length  int32
 12486  	F__ccgo_pad1 [4]byte
 12487  } /* deflate.h:84:9 */
 12488  
 12489  type Tree_desc_s = struct {
 12490  	Fdyn_tree    uintptr
 12491  	Fmax_code    int32
 12492  	F__ccgo_pad1 [4]byte
 12493  	Fstat_desc   uintptr
 12494  } /* zlib.h:84:1 */
 12495  
 12496  type Tree_desc = Tree_desc_s /* deflate.h:90:7 */
 12497  
 12498  type Pos = Ush     /* deflate.h:92:13 */
 12499  type Posf = Pos    /* deflate.h:93:17 */
 12500  type IPos = uint32 /* deflate.h:94:18 */
 12501  
 12502  // A Pos is an index in the character window. We use short instead of int to
 12503  // save space in the various tables. IPos is used only for parameter passing.
 12504  
 12505  type Deflate_state = Internal_state /* deflate.h:276:7 */
 12506  
 12507  var Xdeflate_copyright = *(*[69]int8)(unsafe.Pointer(ts + 7)) /* deflate.c:54:12 */
 12508  //
 12509  //   If you use the zlib library in a product, an acknowledgment is welcome
 12510  //   in the documentation of your product. If for some reason you cannot
 12511  //   include such an acknowledgment, I would appreciate that you keep this
 12512  //   copyright string in the executable of your product.
 12513  //
 12514  
 12515  // ===========================================================================
 12516  //  Function prototypes.
 12517  type Block_state = uint32 /* deflate.c:71:3 */
 12518  
 12519  type Compress_func = uintptr /* deflate.c:73:21 */
 12520  
 12521  // ===========================================================================
 12522  // Local data
 12523  
 12524  // Tail of hash chains
 12525  
 12526  // Matches of length 3 are discarded if their distance exceeds TOO_FAR
 12527  
 12528  // Values for max_lazy_match, good_match and max_chain_length, depending on
 12529  // the desired pack level (0..9). The values given below have been tuned to
 12530  // exclude worst case performance for pathological files. Better values may be
 12531  // found for specific files.
 12532  type Config_s = struct {
 12533  	Fgood_length Ush
 12534  	Fmax_lazy    Ush
 12535  	Fnice_length Ush
 12536  	Fmax_chain   Ush
 12537  	Ffunc        Compress_func
 12538  } /* deflate.c:120:9 */
 12539  
 12540  // ===========================================================================
 12541  // Local data
 12542  
 12543  // Tail of hash chains
 12544  
 12545  // Matches of length 3 are discarded if their distance exceeds TOO_FAR
 12546  
 12547  // Values for max_lazy_match, good_match and max_chain_length, depending on
 12548  // the desired pack level (0..9). The values given below have been tuned to
 12549  // exclude worst case performance for pathological files. Better values may be
 12550  // found for specific files.
 12551  type Config = Config_s /* deflate.c:126:3 */
 12552  
 12553  var configuration_table = [10]Config{
 12554  	//      good lazy nice chain
 12555  	/* 0 */ {Ffunc: 0}, // store only
 12556  	/* 1 */ {Fgood_length: Ush(4), Fmax_lazy: Ush(4), Fnice_length: Ush(8), Fmax_chain: Ush(4), Ffunc: 0}, // max speed, no lazy matches
 12557  	/* 2 */ {Fgood_length: Ush(4), Fmax_lazy: Ush(5), Fnice_length: Ush(16), Fmax_chain: Ush(8), Ffunc: 0},
 12558  	/* 3 */ {Fgood_length: Ush(4), Fmax_lazy: Ush(6), Fnice_length: Ush(32), Fmax_chain: Ush(32), Ffunc: 0},
 12559  
 12560  	/* 4 */ {Fgood_length: Ush(4), Fmax_lazy: Ush(4), Fnice_length: Ush(16), Fmax_chain: Ush(16), Ffunc: 0}, // lazy matches
 12561  	/* 5 */ {Fgood_length: Ush(8), Fmax_lazy: Ush(16), Fnice_length: Ush(32), Fmax_chain: Ush(32), Ffunc: 0},
 12562  	/* 6 */ {Fgood_length: Ush(8), Fmax_lazy: Ush(16), Fnice_length: Ush(128), Fmax_chain: Ush(128), Ffunc: 0},
 12563  	/* 7 */ {Fgood_length: Ush(8), Fmax_lazy: Ush(32), Fnice_length: Ush(128), Fmax_chain: Ush(256), Ffunc: 0},
 12564  	/* 8 */ {Fgood_length: Ush(32), Fmax_lazy: Ush(128), Fnice_length: Ush(258), Fmax_chain: Ush(1024), Ffunc: 0},
 12565  	/* 9 */ {Fgood_length: Ush(32), Fmax_lazy: Ush(258), Fnice_length: Ush(258), Fmax_chain: Ush(4096), Ffunc: 0}} /* deflate.c:134:20 */
 12566  
 12567  // max compression
 12568  
 12569  // Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
 12570  // For deflate_fast() (levels <= 3) good is ignored and lazy has a different
 12571  // meaning.
 12572  
 12573  // rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH
 12574  
 12575  // ===========================================================================
 12576  // Update a hash value with the given input byte
 12577  // IN  assertion: all calls to UPDATE_HASH are made with consecutive input
 12578  //    characters, so that a running hash key can be computed from the previous
 12579  //    key instead of complete recalculation each time.
 12580  
 12581  // ===========================================================================
 12582  // Insert string str in the dictionary and set match_head to the previous head
 12583  // of the hash chain (the most recent string with same hash key). Return
 12584  // the previous length of the hash chain.
 12585  // If this file is compiled with -DFASTEST, the compression level is forced
 12586  // to 1, and no hash chains are maintained.
 12587  // IN  assertion: all calls to INSERT_STRING are made with consecutive input
 12588  //    characters and the first MIN_MATCH bytes of str are valid (except for
 12589  //    the last MIN_MATCH-1 bytes of the input file).
 12590  
 12591  // ===========================================================================
 12592  // Initialize the hash table (avoiding 64K overflow for 16 bit systems).
 12593  // prev[] will be initialized on the fly.
 12594  
 12595  // ===========================================================================
 12596  // Slide the hash table when sliding the window down (could be avoided with 32
 12597  // bit values at the expense of memory usage). We slide even when level == 0 to
 12598  // keep the hash table consistent if we switch back to level > 0 later.
 12599  func slide_hash(tls *libc.TLS, s uintptr) { /* deflate.c:201:12: */
 12600  	var n uint32
 12601  	var m uint32
 12602  	var p uintptr
 12603  	var wsize UInt = (*Deflate_state)(unsafe.Pointer(s)).Fw_size
 12604  
 12605  	n = (*Deflate_state)(unsafe.Pointer(s)).Fhash_size
 12606  	p = (*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr(n)*2
 12607  	for ok := true; ok; ok = libc.PreDecUint32(&n, 1) != 0 {
 12608  		m = uint32(*(*Posf)(unsafe.Pointer(libc.PreDecUintptr(&p, 2))))
 12609  		*(*Posf)(unsafe.Pointer(p)) = func() uint16 {
 12610  			if m >= wsize {
 12611  				return uint16(m - wsize)
 12612  			}
 12613  			return uint16(NIL)
 12614  		}()
 12615  	}
 12616  	n = wsize
 12617  	p = (*Deflate_state)(unsafe.Pointer(s)).Fprev + uintptr(n)*2
 12618  	for ok1 := true; ok1; ok1 = libc.PreDecUint32(&n, 1) != 0 {
 12619  		m = uint32(*(*Posf)(unsafe.Pointer(libc.PreDecUintptr(&p, 2))))
 12620  		*(*Posf)(unsafe.Pointer(p)) = func() uint16 {
 12621  			if m >= wsize {
 12622  				return uint16(m - wsize)
 12623  			}
 12624  			return uint16(NIL)
 12625  		}()
 12626  		// If n is not on any hash chain, prev[n] is garbage but
 12627  		// its value will never be used.
 12628  	}
 12629  }
 12630  
 12631  // =========================================================================
 12632  func XdeflateInit_(tls *libc.TLS, strm Z_streamp, level int32, version uintptr, stream_size int32) int32 { /* deflate.c:228:13: */
 12633  	return XdeflateInit2_(tls, strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
 12634  		Z_DEFAULT_STRATEGY, version, stream_size)
 12635  	// To do: ignore strm->next_in if we use it as window
 12636  }
 12637  
 12638  // =========================================================================
 12639  func XdeflateInit2_(tls *libc.TLS, strm Z_streamp, level int32, method int32, windowBits int32, memLevel int32, strategy int32, version uintptr, stream_size int32) int32 { /* deflate.c:240:13: */
 12640  	var s uintptr
 12641  	var wrap int32 = 1
 12642  	var overlay uintptr
 12643  	// We overlay pending_buf and d_buf+l_buf. This works since the average
 12644  	// output size for (length,distance) codes is <= 24 bits.
 12645  
 12646  	if version == uintptr(Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(my_version[0]) || uint64(stream_size) != uint64(unsafe.Sizeof(Z_stream{})) {
 12647  		return -6
 12648  	}
 12649  	if strm == uintptr(Z_NULL) {
 12650  		return -2
 12651  	}
 12652  
 12653  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL)
 12654  	if (*Z_stream)(unsafe.Pointer(strm)).Fzalloc == uintptr(0) {
 12655  		(*Z_stream)(unsafe.Pointer(strm)).Fzalloc = *(*uintptr)(unsafe.Pointer(&struct {
 12656  			f func(*libc.TLS, Voidpf, uint32, uint32) Voidpf
 12657  		}{Xzcalloc}))
 12658  		(*Z_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(0)
 12659  	}
 12660  	if (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) {
 12661  		(*Z_stream)(unsafe.Pointer(strm)).Fzfree = *(*uintptr)(unsafe.Pointer(&struct {
 12662  			f func(*libc.TLS, Voidpf, Voidpf)
 12663  		}{Xzcfree}))
 12664  	}
 12665  
 12666  	if level == -1 {
 12667  		level = 6
 12668  	}
 12669  
 12670  	if windowBits < 0 { // suppress zlib wrapper
 12671  		wrap = 0
 12672  		windowBits = -windowBits
 12673  	} else if windowBits > 15 {
 12674  		wrap = 2 // write gzip wrapper instead
 12675  		windowBits = windowBits - 16
 12676  	}
 12677  	if memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED || windowBits == 8 && wrap != 1 {
 12678  		return -2
 12679  	}
 12680  	if windowBits == 8 {
 12681  		windowBits = 9
 12682  	} // until 256-byte window bug fixed
 12683  	s = (*struct {
 12684  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 12685  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, uint32(1), uint32(unsafe.Sizeof(Deflate_state{})))
 12686  	if s == uintptr(Z_NULL) {
 12687  		return -4
 12688  	}
 12689  	(*Z_stream)(unsafe.Pointer(strm)).Fstate = s
 12690  	(*Deflate_state)(unsafe.Pointer(s)).Fstrm = strm
 12691  	(*Deflate_state)(unsafe.Pointer(s)).Fstatus = INIT_STATE // to pass state test in deflateReset()
 12692  
 12693  	(*Deflate_state)(unsafe.Pointer(s)).Fwrap = wrap
 12694  	(*Deflate_state)(unsafe.Pointer(s)).Fgzhead = Gz_headerp(Z_NULL)
 12695  	(*Deflate_state)(unsafe.Pointer(s)).Fw_bits = UInt(windowBits)
 12696  	(*Deflate_state)(unsafe.Pointer(s)).Fw_size = UInt(int32(1) << (*Deflate_state)(unsafe.Pointer(s)).Fw_bits)
 12697  	(*Deflate_state)(unsafe.Pointer(s)).Fw_mask = (*Deflate_state)(unsafe.Pointer(s)).Fw_size - UInt(1)
 12698  
 12699  	(*Deflate_state)(unsafe.Pointer(s)).Fhash_bits = UInt(memLevel) + UInt(7)
 12700  	(*Deflate_state)(unsafe.Pointer(s)).Fhash_size = UInt(int32(1) << (*Deflate_state)(unsafe.Pointer(s)).Fhash_bits)
 12701  	(*Deflate_state)(unsafe.Pointer(s)).Fhash_mask = (*Deflate_state)(unsafe.Pointer(s)).Fhash_size - UInt(1)
 12702  	(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift = ((*Deflate_state)(unsafe.Pointer(s)).Fhash_bits + UInt(MIN_MATCH) - UInt(1)) / UInt(MIN_MATCH)
 12703  
 12704  	(*Deflate_state)(unsafe.Pointer(s)).Fwindow = (*struct {
 12705  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 12706  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Deflate_state)(unsafe.Pointer(s)).Fw_size, uint32(uint64(2)*uint64(unsafe.Sizeof(Byte(0)))))
 12707  	(*Deflate_state)(unsafe.Pointer(s)).Fprev = (*struct {
 12708  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 12709  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Deflate_state)(unsafe.Pointer(s)).Fw_size, uint32(unsafe.Sizeof(Pos(0))))
 12710  	(*Deflate_state)(unsafe.Pointer(s)).Fhead = (*struct {
 12711  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 12712  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Deflate_state)(unsafe.Pointer(s)).Fhash_size, uint32(unsafe.Sizeof(Pos(0))))
 12713  
 12714  	(*Deflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64(0) // nothing written to s->window yet
 12715  
 12716  	(*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize = UInt(int32(1) << (memLevel + 6)) // 16K elements by default
 12717  
 12718  	overlay = (*struct {
 12719  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 12720  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize, uint32(uint64(unsafe.Sizeof(Ush(0)))+uint64(2)))
 12721  	(*Deflate_state)(unsafe.Pointer(s)).Fpending_buf = overlay
 12722  	(*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size = Ulg((*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize) * (uint64(unsafe.Sizeof(Ush(0))) + uint64(2))
 12723  
 12724  	if (*Deflate_state)(unsafe.Pointer(s)).Fwindow == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(s)).Fprev == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(s)).Fhead == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf == uintptr(Z_NULL) {
 12725  		(*Deflate_state)(unsafe.Pointer(s)).Fstatus = FINISH_STATE
 12726  		(*Z_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[Z_NEED_DICT - -4]
 12727  		XdeflateEnd(tls, strm)
 12728  		return -4
 12729  	}
 12730  	(*Deflate_state)(unsafe.Pointer(s)).Fd_buf = overlay + uintptr(uint64((*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize)/uint64(unsafe.Sizeof(Ush(0))))*2
 12731  	(*Deflate_state)(unsafe.Pointer(s)).Fl_buf = (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((uint64(1)+uint64(unsafe.Sizeof(Ush(0))))*uint64((*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize))
 12732  
 12733  	(*Deflate_state)(unsafe.Pointer(s)).Flevel = level
 12734  	(*Deflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
 12735  	(*Deflate_state)(unsafe.Pointer(s)).Fmethod = Byte(method)
 12736  
 12737  	return XdeflateReset(tls, strm)
 12738  }
 12739  
 12740  var my_version = *(*[7]int8)(unsafe.Pointer(ts)) /* deflate.c:253:23 */
 12741  
 12742  // =========================================================================
 12743  // Check for a valid deflate stream state. Return 0 if ok, 1 if not.
 12744  func deflateStateCheck(tls *libc.TLS, strm Z_streamp) int32 { /* deflate.c:353:11: */
 12745  	var s uintptr
 12746  	if strm == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fzalloc == uintptr(0) || (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) {
 12747  		return 1
 12748  	}
 12749  	s = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 12750  	if s == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(s)).Fstrm != strm || (*Deflate_state)(unsafe.Pointer(s)).Fstatus != INIT_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != GZIP_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != EXTRA_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != NAME_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != COMMENT_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != HCRC_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != BUSY_STATE && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != FINISH_STATE {
 12751  		return 1
 12752  	}
 12753  	return 0
 12754  }
 12755  
 12756  // =========================================================================
 12757  func XdeflateSetDictionary(tls *libc.TLS, strm Z_streamp, dictionary uintptr, dictLength UInt) int32 { /* deflate.c:376:13: */
 12758  	var s uintptr
 12759  	var str UInt
 12760  	var n UInt
 12761  	var wrap int32
 12762  	var avail uint32
 12763  	var next uintptr
 12764  
 12765  	if deflateStateCheck(tls, strm) != 0 || dictionary == uintptr(Z_NULL) {
 12766  		return -2
 12767  	}
 12768  	s = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 12769  	wrap = (*Deflate_state)(unsafe.Pointer(s)).Fwrap
 12770  	if wrap == 2 || wrap == 1 && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != INIT_STATE || (*Deflate_state)(unsafe.Pointer(s)).Flookahead != 0 {
 12771  		return -2
 12772  	}
 12773  
 12774  	// when using zlib wrappers, compute Adler-32 for provided dictionary
 12775  	if wrap == 1 {
 12776  		(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, dictionary, dictLength)
 12777  	}
 12778  	(*Deflate_state)(unsafe.Pointer(s)).Fwrap = 0 // avoid computing Adler-32 in read_buf
 12779  
 12780  	// if dictionary would fill window, just replace the history
 12781  	if dictLength >= (*Deflate_state)(unsafe.Pointer(s)).Fw_size {
 12782  		if wrap == 0 { // already empty otherwise
 12783  			*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*2)) = Posf(NIL)
 12784  			libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*uint64(unsafe.Sizeof(Posf(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0))
 12785  
 12786  			(*Deflate_state)(unsafe.Pointer(s)).Fstrstart = UInt(0)
 12787  			(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = 0
 12788  			(*Deflate_state)(unsafe.Pointer(s)).Finsert = UInt(0)
 12789  		}
 12790  		dictionary += uintptr(dictLength - (*Deflate_state)(unsafe.Pointer(s)).Fw_size) // use the tail
 12791  		dictLength = (*Deflate_state)(unsafe.Pointer(s)).Fw_size
 12792  	}
 12793  
 12794  	// insert dictionary into window and hash
 12795  	avail = (*Z_stream)(unsafe.Pointer(strm)).Favail_in
 12796  	next = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in
 12797  	(*Z_stream)(unsafe.Pointer(strm)).Favail_in = dictLength
 12798  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = dictionary
 12799  	fill_window(tls, s)
 12800  	for (*Deflate_state)(unsafe.Pointer(s)).Flookahead >= UInt(MIN_MATCH) {
 12801  		str = (*Deflate_state)(unsafe.Pointer(s)).Fstrstart
 12802  		n = (*Deflate_state)(unsafe.Pointer(s)).Flookahead - UInt(MIN_MATCH-1)
 12803  		for ok := true; ok; ok = libc.PreDecUint32(&n, 1) != 0 {
 12804  			(*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+UInt(MIN_MATCH)-UInt(1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask
 12805  			*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2))
 12806  			*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos(str)
 12807  			str++
 12808  		}
 12809  		(*Deflate_state)(unsafe.Pointer(s)).Fstrstart = str
 12810  		(*Deflate_state)(unsafe.Pointer(s)).Flookahead = UInt(MIN_MATCH - 1)
 12811  		fill_window(tls, s)
 12812  	}
 12813  	*(*UInt)(unsafe.Pointer(s + 172)) += (*Deflate_state)(unsafe.Pointer(s)).Flookahead
 12814  	(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 12815  	(*Deflate_state)(unsafe.Pointer(s)).Finsert = (*Deflate_state)(unsafe.Pointer(s)).Flookahead
 12816  	(*Deflate_state)(unsafe.Pointer(s)).Flookahead = UInt(0)
 12817  	(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.AssignPtrUint32(s+184, UInt(MIN_MATCH-1))
 12818  	(*Deflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
 12819  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = next
 12820  	(*Z_stream)(unsafe.Pointer(strm)).Favail_in = avail
 12821  	(*Deflate_state)(unsafe.Pointer(s)).Fwrap = wrap
 12822  	return Z_OK
 12823  }
 12824  
 12825  // =========================================================================
 12826  func XdeflateGetDictionary(tls *libc.TLS, strm Z_streamp, dictionary uintptr, dictLength uintptr) int32 { /* deflate.c:445:13: */
 12827  	var s uintptr
 12828  	var len UInt
 12829  
 12830  	if deflateStateCheck(tls, strm) != 0 {
 12831  		return -2
 12832  	}
 12833  	s = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 12834  	len = (*Deflate_state)(unsafe.Pointer(s)).Fstrstart + (*Deflate_state)(unsafe.Pointer(s)).Flookahead
 12835  	if len > (*Deflate_state)(unsafe.Pointer(s)).Fw_size {
 12836  		len = (*Deflate_state)(unsafe.Pointer(s)).Fw_size
 12837  	}
 12838  	if dictionary != uintptr(Z_NULL) && len != 0 {
 12839  		libc.X__builtin___memcpy_chk(tls, dictionary, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Deflate_state)(unsafe.Pointer(s)).Flookahead)-uintptr(len), uint64(len), libc.X__builtin_object_size(tls, dictionary, 0))
 12840  	}
 12841  	if dictLength != uintptr(Z_NULL) {
 12842  		*(*UInt)(unsafe.Pointer(dictLength)) = len
 12843  	}
 12844  	return Z_OK
 12845  }
 12846  
 12847  // =========================================================================
 12848  func XdeflateResetKeep(tls *libc.TLS, strm Z_streamp) int32 { /* deflate.c:467:13: */
 12849  	var s uintptr
 12850  
 12851  	if deflateStateCheck(tls, strm) != 0 {
 12852  		return -2
 12853  	}
 12854  
 12855  	(*Z_stream)(unsafe.Pointer(strm)).Ftotal_in = libc.AssignPtrUint64(strm+40, uint64(0))
 12856  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL) // use zfree if we ever allocate msg dynamically
 12857  	(*Z_stream)(unsafe.Pointer(strm)).Fdata_type = Z_UNKNOWN
 12858  
 12859  	s = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 12860  	(*Deflate_state)(unsafe.Pointer(s)).Fpending = uint64(0)
 12861  	(*Deflate_state)(unsafe.Pointer(s)).Fpending_out = (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf
 12862  
 12863  	if (*Deflate_state)(unsafe.Pointer(s)).Fwrap < 0 {
 12864  		(*Deflate_state)(unsafe.Pointer(s)).Fwrap = -(*Deflate_state)(unsafe.Pointer(s)).Fwrap // was made negative by deflate(..., Z_FINISH);
 12865  	}
 12866  	(*Deflate_state)(unsafe.Pointer(s)).Fstatus = func() int32 {
 12867  		if (*Deflate_state)(unsafe.Pointer(s)).Fwrap == 2 {
 12868  			return GZIP_STATE
 12869  		}
 12870  		return func() int32 {
 12871  			if (*Deflate_state)(unsafe.Pointer(s)).Fwrap != 0 {
 12872  				return INIT_STATE
 12873  			}
 12874  			return BUSY_STATE
 12875  		}()
 12876  	}()
 12877  	(*Z_stream)(unsafe.Pointer(strm)).Fadler = func() uint64 {
 12878  		if (*Deflate_state)(unsafe.Pointer(s)).Fwrap == 2 {
 12879  			return Xcrc32(tls, uint64(0), uintptr(Z_NULL), uint32(0))
 12880  		}
 12881  		return Xadler32(tls, uint64(0), uintptr(Z_NULL), uint32(0))
 12882  	}()
 12883  	(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = Z_NO_FLUSH
 12884  
 12885  	X_tr_init(tls, s)
 12886  
 12887  	return Z_OK
 12888  }
 12889  
 12890  // =========================================================================
 12891  func XdeflateReset(tls *libc.TLS, strm Z_streamp) int32 { /* deflate.c:505:13: */
 12892  	var ret int32
 12893  
 12894  	ret = XdeflateResetKeep(tls, strm)
 12895  	if ret == Z_OK {
 12896  		lm_init(tls, (*Z_stream)(unsafe.Pointer(strm)).Fstate)
 12897  	}
 12898  	return ret
 12899  }
 12900  
 12901  // =========================================================================
 12902  func XdeflateSetHeader(tls *libc.TLS, strm Z_streamp, head Gz_headerp) int32 { /* deflate.c:517:13: */
 12903  	if deflateStateCheck(tls, strm) != 0 || (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap != 2 {
 12904  		return -2
 12905  	}
 12906  	(*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fgzhead = head
 12907  	return Z_OK
 12908  }
 12909  
 12910  // =========================================================================
 12911  func XdeflatePending(tls *libc.TLS, strm Z_streamp, pending uintptr, bits uintptr) int32 { /* deflate.c:528:13: */
 12912  	if deflateStateCheck(tls, strm) != 0 {
 12913  		return -2
 12914  	}
 12915  	if pending != uintptr(Z_NULL) {
 12916  		*(*uint32)(unsafe.Pointer(pending)) = uint32((*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fpending)
 12917  	}
 12918  	if bits != uintptr(Z_NULL) {
 12919  		*(*int32)(unsafe.Pointer(bits)) = (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fbi_valid
 12920  	}
 12921  	return Z_OK
 12922  }
 12923  
 12924  // =========================================================================
 12925  func XdeflatePrime(tls *libc.TLS, strm Z_streamp, bits int32, value int32) int32 { /* deflate.c:542:13: */
 12926  	var s uintptr
 12927  	var put int32
 12928  
 12929  	if deflateStateCheck(tls, strm) != 0 {
 12930  		return -2
 12931  	}
 12932  	s = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 12933  	if (*Deflate_state)(unsafe.Pointer(s)).Fd_buf < (*Deflate_state)(unsafe.Pointer(s)).Fpending_out+uintptr(int32(Buf_size+7)>>3) {
 12934  		return -5
 12935  	}
 12936  	for ok := true; ok; ok = bits != 0 {
 12937  		put = Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid
 12938  		if put > bits {
 12939  			put = bits
 12940  		}
 12941  		*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(value & (int32(1)<<put - 1) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)))
 12942  		*(*int32)(unsafe.Pointer(s + 5940)) += put
 12943  		X_tr_flush_bits(tls, s)
 12944  		value >>= put
 12945  		bits = bits - put
 12946  	}
 12947  	return Z_OK
 12948  }
 12949  
 12950  // =========================================================================
 12951  func XdeflateParams(tls *libc.TLS, strm Z_streamp, level int32, strategy int32) int32 { /* deflate.c:568:13: */
 12952  	var s uintptr
 12953  	var func1 Compress_func
 12954  
 12955  	if deflateStateCheck(tls, strm) != 0 {
 12956  		return -2
 12957  	}
 12958  	s = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 12959  
 12960  	if level == -1 {
 12961  		level = 6
 12962  	}
 12963  	if level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED {
 12964  		return -2
 12965  	}
 12966  	func1 = configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Ffunc
 12967  
 12968  	if (strategy != (*Deflate_state)(unsafe.Pointer(s)).Fstrategy || func1 != configuration_table[level].Ffunc) && (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water != 0 {
 12969  		// Flush the last buffer:
 12970  		var err int32 = Xdeflate(tls, strm, Z_BLOCK)
 12971  		if err == -2 {
 12972  			return err
 12973  		}
 12974  		if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) {
 12975  			return -5
 12976  		}
 12977  	}
 12978  	if (*Deflate_state)(unsafe.Pointer(s)).Flevel != level {
 12979  		if (*Deflate_state)(unsafe.Pointer(s)).Flevel == 0 && (*Deflate_state)(unsafe.Pointer(s)).Fmatches != UInt(0) {
 12980  			if (*Deflate_state)(unsafe.Pointer(s)).Fmatches == UInt(1) {
 12981  				slide_hash(tls, s)
 12982  			} else {
 12983  				*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*2)) = Posf(NIL)
 12984  			}
 12985  			libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*uint64(unsafe.Sizeof(Posf(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0))
 12986  
 12987  			(*Deflate_state)(unsafe.Pointer(s)).Fmatches = UInt(0)
 12988  		}
 12989  		(*Deflate_state)(unsafe.Pointer(s)).Flevel = level
 12990  		(*Deflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = UInt(configuration_table[level].Fmax_lazy)
 12991  		(*Deflate_state)(unsafe.Pointer(s)).Fgood_match = UInt(configuration_table[level].Fgood_length)
 12992  		(*Deflate_state)(unsafe.Pointer(s)).Fnice_match = int32(configuration_table[level].Fnice_length)
 12993  		(*Deflate_state)(unsafe.Pointer(s)).Fmax_chain_length = UInt(configuration_table[level].Fmax_chain)
 12994  	}
 12995  	(*Deflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
 12996  	return Z_OK
 12997  }
 12998  
 12999  // =========================================================================
 13000  func XdeflateTune(tls *libc.TLS, strm Z_streamp, good_length int32, max_lazy int32, nice_length int32, max_chain int32) int32 { /* deflate.c:617:13: */
 13001  	var s uintptr
 13002  
 13003  	if deflateStateCheck(tls, strm) != 0 {
 13004  		return -2
 13005  	}
 13006  	s = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 13007  	(*Deflate_state)(unsafe.Pointer(s)).Fgood_match = UInt(good_length)
 13008  	(*Deflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = UInt(max_lazy)
 13009  	(*Deflate_state)(unsafe.Pointer(s)).Fnice_match = nice_length
 13010  	(*Deflate_state)(unsafe.Pointer(s)).Fmax_chain_length = UInt(max_chain)
 13011  	return Z_OK
 13012  }
 13013  
 13014  // =========================================================================
 13015  // For the default windowBits of 15 and memLevel of 8, this function returns
 13016  // a close to exact, as well as small, upper bound on the compressed size.
 13017  // They are coded as constants here for a reason--if the #define's are
 13018  // changed, then this function needs to be changed as well.  The return
 13019  // value for 15 and 8 only works for those exact settings.
 13020  //
 13021  // For any setting other than those defaults for windowBits and memLevel,
 13022  // the value returned is a conservative worst case for the maximum expansion
 13023  // resulting from using fixed blocks instead of stored blocks, which deflate
 13024  // can emit on compressed data for some combinations of the parameters.
 13025  //
 13026  // This function could be more sophisticated to provide closer upper bounds for
 13027  // every combination of windowBits and memLevel.  But even the conservative
 13028  // upper bound of about 14% expansion does not seem onerous for output buffer
 13029  // allocation.
 13030  func XdeflateBound(tls *libc.TLS, strm Z_streamp, sourceLen ULong) ULong { /* deflate.c:652:15: */
 13031  	var s uintptr
 13032  	var complen ULong
 13033  	var wraplen ULong
 13034  
 13035  	// conservative upper bound for compressed data
 13036  	complen = sourceLen + (sourceLen+uint64(7))>>3 + (sourceLen+uint64(63))>>6 + uint64(5)
 13037  
 13038  	// if can't get parameters, return conservative bound plus zlib wrapper
 13039  	if deflateStateCheck(tls, strm) != 0 {
 13040  		return complen + uint64(6)
 13041  	}
 13042  
 13043  	// compute wrapper length
 13044  	s = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 13045  	switch (*Deflate_state)(unsafe.Pointer(s)).Fwrap {
 13046  	case 0: // raw deflate
 13047  		wraplen = uint64(0)
 13048  		break
 13049  	case 1: // zlib wrapper
 13050  		wraplen = ULong(6 + func() int32 {
 13051  			if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart != 0 {
 13052  				return 4
 13053  			}
 13054  			return 0
 13055  		}())
 13056  		break
 13057  	case 2: // gzip wrapper
 13058  		wraplen = uint64(18)
 13059  		if (*Deflate_state)(unsafe.Pointer(s)).Fgzhead != uintptr(Z_NULL) { // user-supplied gzip header
 13060  			var str uintptr
 13061  			if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(Z_NULL) {
 13062  				wraplen = wraplen + ULong(UInt(2)+(*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len)
 13063  			}
 13064  			str = (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname
 13065  			if str != uintptr(Z_NULL) {
 13066  				for ok := true; ok; ok = *(*Bytef)(unsafe.Pointer(libc.PostIncUintptr(&str, 1))) != 0 {
 13067  					wraplen++
 13068  				}
 13069  			}
 13070  			str = (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment
 13071  			if str != uintptr(Z_NULL) {
 13072  				for ok1 := true; ok1; ok1 = *(*Bytef)(unsafe.Pointer(libc.PostIncUintptr(&str, 1))) != 0 {
 13073  					wraplen++
 13074  				}
 13075  			}
 13076  			if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
 13077  				wraplen = wraplen + uint64(2)
 13078  			}
 13079  		}
 13080  		break
 13081  	default: // for compiler happiness
 13082  		wraplen = uint64(6)
 13083  	}
 13084  
 13085  	// if not default parameters, return conservative bound
 13086  	if (*Deflate_state)(unsafe.Pointer(s)).Fw_bits != UInt(15) || (*Deflate_state)(unsafe.Pointer(s)).Fhash_bits != UInt(8+7) {
 13087  		return complen + wraplen
 13088  	}
 13089  
 13090  	// default settings: return tight bound for that case
 13091  	return sourceLen + sourceLen>>12 + sourceLen>>14 + sourceLen>>25 + uint64(13) - uint64(6) + wraplen
 13092  }
 13093  
 13094  // =========================================================================
 13095  // Put a short in the pending buffer. The 16-bit value is put in MSB order.
 13096  // IN assertion: the stream state is correct and there is enough room in
 13097  // pending_buf.
 13098  func putShortMSB(tls *libc.TLS, s uintptr, b UInt) { /* deflate.c:716:12: */
 13099  	{
 13100  		*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte(b >> 8)
 13101  	}
 13102  
 13103  	{
 13104  		*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte(b & UInt(0xff))
 13105  	}
 13106  
 13107  }
 13108  
 13109  // =========================================================================
 13110  // Flush as much pending output as possible. All deflate() output, except for
 13111  // some deflate_stored() output, goes through this function so some
 13112  // applications may wish to modify it to avoid allocating a large
 13113  // strm->next_out buffer and copying into it. (See also read_buf()).
 13114  func flush_pending(tls *libc.TLS, strm Z_streamp) { /* deflate.c:730:12: */
 13115  	var len uint32
 13116  	var s uintptr = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 13117  
 13118  	X_tr_flush_bits(tls, s)
 13119  	len = uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending)
 13120  	if len > (*Z_stream)(unsafe.Pointer(strm)).Favail_out {
 13121  		len = (*Z_stream)(unsafe.Pointer(strm)).Favail_out
 13122  	}
 13123  	if len == uint32(0) {
 13124  		return
 13125  	}
 13126  
 13127  	libc.X__builtin___memcpy_chk(tls, (*Z_stream)(unsafe.Pointer(strm)).Fnext_out, (*Deflate_state)(unsafe.Pointer(s)).Fpending_out, uint64(len), libc.X__builtin_object_size(tls, (*Z_stream)(unsafe.Pointer(strm)).Fnext_out, 0))
 13128  	*(*uintptr)(unsafe.Pointer(strm + 24)) += uintptr(len)
 13129  	*(*uintptr)(unsafe.Pointer(s + 32)) += uintptr(len)
 13130  	*(*ULong)(unsafe.Pointer(strm + 40)) += ULong(len)
 13131  	*(*UInt)(unsafe.Pointer(strm + 32)) -= len
 13132  	*(*Ulg)(unsafe.Pointer(s + 40)) -= Ulg(len)
 13133  	if (*Deflate_state)(unsafe.Pointer(s)).Fpending == uint64(0) {
 13134  		(*Deflate_state)(unsafe.Pointer(s)).Fpending_out = (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf
 13135  	}
 13136  }
 13137  
 13138  // ===========================================================================
 13139  // Update the header CRC with the bytes s->pending_buf[beg..s->pending - 1].
 13140  
 13141  // =========================================================================
 13142  func Xdeflate(tls *libc.TLS, strm Z_streamp, flush int32) int32 { /* deflate.c:763:13: */
 13143  	var old_flush int32 // value of flush param for previous deflate call
 13144  	var s uintptr
 13145  
 13146  	if deflateStateCheck(tls, strm) != 0 || flush > Z_BLOCK || flush < 0 {
 13147  		return -2
 13148  	}
 13149  	s = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 13150  
 13151  	if (*Z_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Favail_in != UInt(0) && (*Z_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(s)).Fstatus == FINISH_STATE && flush != Z_FINISH {
 13152  		return func() int32 { (*Z_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[Z_NEED_DICT - -2]; return -2 }()
 13153  	}
 13154  	if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) {
 13155  		return func() int32 { (*Z_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[Z_NEED_DICT - -5]; return -5 }()
 13156  	}
 13157  
 13158  	old_flush = (*Deflate_state)(unsafe.Pointer(s)).Flast_flush
 13159  	(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = flush
 13160  
 13161  	// Flush as much pending output as possible
 13162  	if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
 13163  		flush_pending(tls, strm)
 13164  		if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) {
 13165  			// Since avail_out is 0, deflate will be called again with
 13166  			// more output space, but possibly with both pending and
 13167  			// avail_in equal to zero. There won't be anything to do,
 13168  			// but this is not an error situation so make sure we
 13169  			// return OK instead of BUF_ERROR at next call of deflate:
 13170  			(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1
 13171  			return Z_OK
 13172  		}
 13173  
 13174  		// Make sure there is something to do and avoid duplicate consecutive
 13175  		// flushes. For repeated and useless calls with Z_FINISH, we keep
 13176  		// returning Z_STREAM_END instead of Z_BUF_ERROR.
 13177  	} else if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) && flush*2-func() int32 {
 13178  		if flush > 4 {
 13179  			return 9
 13180  		}
 13181  		return 0
 13182  	}() <= old_flush*2-func() int32 {
 13183  		if old_flush > 4 {
 13184  			return 9
 13185  		}
 13186  		return 0
 13187  	}() && flush != Z_FINISH {
 13188  		return func() int32 { (*Z_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[Z_NEED_DICT - -5]; return -5 }()
 13189  	}
 13190  
 13191  	// User must not provide more input after the first FINISH:
 13192  	if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == FINISH_STATE && (*Z_stream)(unsafe.Pointer(strm)).Favail_in != UInt(0) {
 13193  		return func() int32 { (*Z_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[Z_NEED_DICT - -5]; return -5 }()
 13194  	}
 13195  
 13196  	// Write the header
 13197  	if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == INIT_STATE {
 13198  		// zlib header
 13199  		var header UInt = (UInt(Z_DEFLATED) + ((*Deflate_state)(unsafe.Pointer(s)).Fw_bits-UInt(8))<<4) << 8
 13200  		var level_flags UInt
 13201  
 13202  		if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy >= Z_HUFFMAN_ONLY || (*Deflate_state)(unsafe.Pointer(s)).Flevel < 2 {
 13203  			level_flags = UInt(0)
 13204  		} else if (*Deflate_state)(unsafe.Pointer(s)).Flevel < 6 {
 13205  			level_flags = UInt(1)
 13206  		} else if (*Deflate_state)(unsafe.Pointer(s)).Flevel == 6 {
 13207  			level_flags = UInt(2)
 13208  		} else {
 13209  			level_flags = UInt(3)
 13210  		}
 13211  		header = header | level_flags<<6
 13212  		if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart != UInt(0) {
 13213  			header = header | UInt(PRESET_DICT)
 13214  		}
 13215  		header = header + (UInt(31) - header%UInt(31))
 13216  
 13217  		putShortMSB(tls, s, header)
 13218  
 13219  		// Save the adler32 of the preset dictionary:
 13220  		if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart != UInt(0) {
 13221  			putShortMSB(tls, s, UInt((*Z_stream)(unsafe.Pointer(strm)).Fadler>>16))
 13222  			putShortMSB(tls, s, UInt((*Z_stream)(unsafe.Pointer(strm)).Fadler&uint64(0xffff)))
 13223  		}
 13224  		(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, uint64(0), uintptr(Z_NULL), uint32(0))
 13225  		(*Deflate_state)(unsafe.Pointer(s)).Fstatus = BUSY_STATE
 13226  
 13227  		// Compression must start with an empty pending buffer
 13228  		flush_pending(tls, strm)
 13229  		if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
 13230  			(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1
 13231  			return Z_OK
 13232  		}
 13233  	}
 13234  	if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == GZIP_STATE {
 13235  		// gzip header
 13236  		(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(Z_NULL), uint32(0))
 13237  		{
 13238  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(31)
 13239  		}
 13240  
 13241  		{
 13242  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(139)
 13243  		}
 13244  
 13245  		{
 13246  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(8)
 13247  		}
 13248  
 13249  		if (*Deflate_state)(unsafe.Pointer(s)).Fgzhead == uintptr(Z_NULL) {
 13250  			{
 13251  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(0)
 13252  			}
 13253  
 13254  			{
 13255  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(0)
 13256  			}
 13257  
 13258  			{
 13259  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(0)
 13260  			}
 13261  
 13262  			{
 13263  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(0)
 13264  			}
 13265  
 13266  			{
 13267  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(0)
 13268  			}
 13269  
 13270  			{
 13271  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = func() uint8 {
 13272  					if (*Deflate_state)(unsafe.Pointer(s)).Flevel == 9 {
 13273  						return uint8(2)
 13274  					}
 13275  					return func() uint8 {
 13276  						if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy >= Z_HUFFMAN_ONLY || (*Deflate_state)(unsafe.Pointer(s)).Flevel < 2 {
 13277  							return uint8(4)
 13278  						}
 13279  						return uint8(0)
 13280  					}()
 13281  				}()
 13282  			}
 13283  
 13284  			{
 13285  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(OS_CODE)
 13286  			}
 13287  
 13288  			(*Deflate_state)(unsafe.Pointer(s)).Fstatus = BUSY_STATE
 13289  
 13290  			// Compression must start with an empty pending buffer
 13291  			flush_pending(tls, strm)
 13292  			if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
 13293  				(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1
 13294  				return Z_OK
 13295  			}
 13296  		} else {
 13297  			{
 13298  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(func() int32 {
 13299  					if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftext != 0 {
 13300  						return 1
 13301  					}
 13302  					return 0
 13303  				}() + func() int32 {
 13304  					if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
 13305  						return 2
 13306  					}
 13307  					return 0
 13308  				}() + func() int32 {
 13309  					if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra == uintptr(Z_NULL) {
 13310  						return 0
 13311  					}
 13312  					return 4
 13313  				}() + func() int32 {
 13314  					if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname == uintptr(Z_NULL) {
 13315  						return 0
 13316  					}
 13317  					return 8
 13318  				}() + func() int32 {
 13319  					if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment == uintptr(Z_NULL) {
 13320  						return 0
 13321  					}
 13322  					return 16
 13323  				}())
 13324  			}
 13325  
 13326  			{
 13327  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime & uint64(0xff))
 13328  			}
 13329  
 13330  			{
 13331  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> 8 & uint64(0xff))
 13332  			}
 13333  
 13334  			{
 13335  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> 16 & uint64(0xff))
 13336  			}
 13337  
 13338  			{
 13339  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> 24 & uint64(0xff))
 13340  			}
 13341  
 13342  			{
 13343  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = func() uint8 {
 13344  					if (*Deflate_state)(unsafe.Pointer(s)).Flevel == 9 {
 13345  						return uint8(2)
 13346  					}
 13347  					return func() uint8 {
 13348  						if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy >= Z_HUFFMAN_ONLY || (*Deflate_state)(unsafe.Pointer(s)).Flevel < 2 {
 13349  							return uint8(4)
 13350  						}
 13351  						return uint8(0)
 13352  					}()
 13353  				}()
 13354  			}
 13355  
 13356  			{
 13357  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fos & 0xff)
 13358  			}
 13359  
 13360  			if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(Z_NULL) {
 13361  				{
 13362  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len & UInt(0xff))
 13363  				}
 13364  
 13365  				{
 13366  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len >> 8 & UInt(0xff))
 13367  				}
 13368  
 13369  			}
 13370  			if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
 13371  				(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf,
 13372  					uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending))
 13373  			}
 13374  			(*Deflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
 13375  			(*Deflate_state)(unsafe.Pointer(s)).Fstatus = EXTRA_STATE
 13376  		}
 13377  	}
 13378  	if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == EXTRA_STATE {
 13379  		if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(Z_NULL) {
 13380  			var beg Ulg = (*Deflate_state)(unsafe.Pointer(s)).Fpending // start of bytes to update crc
 13381  			var left UInt = UInt(Ulg((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len&UInt(0xffff)) - (*Deflate_state)(unsafe.Pointer(s)).Fgzindex)
 13382  			for (*Deflate_state)(unsafe.Pointer(s)).Fpending+Ulg(left) > (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
 13383  				var copy UInt = UInt((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fpending)
 13384  				libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(copy), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), 0))
 13385  				(*Deflate_state)(unsafe.Pointer(s)).Fpending = (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size
 13386  				for ok := true; ok; ok = 0 != 0 {
 13387  					if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg {
 13388  						(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg))
 13389  					}
 13390  				}
 13391  				*(*Ulg)(unsafe.Pointer(s + 64)) += Ulg(copy)
 13392  				flush_pending(tls, strm)
 13393  				if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
 13394  					(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1
 13395  					return Z_OK
 13396  				}
 13397  				beg = uint64(0)
 13398  				left = left - copy
 13399  			}
 13400  			libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(left), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), 0))
 13401  			*(*Ulg)(unsafe.Pointer(s + 40)) += Ulg(left)
 13402  			for ok1 := true; ok1; ok1 = 0 != 0 {
 13403  				if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg {
 13404  					(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg))
 13405  				}
 13406  			}
 13407  			(*Deflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
 13408  		}
 13409  		(*Deflate_state)(unsafe.Pointer(s)).Fstatus = NAME_STATE
 13410  	}
 13411  	if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == NAME_STATE {
 13412  		if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname != uintptr(Z_NULL) {
 13413  			var beg Ulg = (*Deflate_state)(unsafe.Pointer(s)).Fpending // start of bytes to update crc
 13414  			var val int32
 13415  			for ok2 := true; ok2; ok2 = val != 0 {
 13416  				if (*Deflate_state)(unsafe.Pointer(s)).Fpending == (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
 13417  					for ok3 := true; ok3; ok3 = 0 != 0 {
 13418  						if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg {
 13419  							(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg))
 13420  						}
 13421  					}
 13422  					flush_pending(tls, strm)
 13423  					if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
 13424  						(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1
 13425  						return Z_OK
 13426  					}
 13427  					beg = uint64(0)
 13428  				}
 13429  				val = int32(*(*Bytef)(unsafe.Pointer((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fgzindex, 1)))))
 13430  				{
 13431  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(val)
 13432  				}
 13433  
 13434  			}
 13435  			for ok4 := true; ok4; ok4 = 0 != 0 {
 13436  				if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg {
 13437  					(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg))
 13438  				}
 13439  			}
 13440  			(*Deflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
 13441  		}
 13442  		(*Deflate_state)(unsafe.Pointer(s)).Fstatus = COMMENT_STATE
 13443  	}
 13444  	if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == COMMENT_STATE {
 13445  		if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment != uintptr(Z_NULL) {
 13446  			var beg Ulg = (*Deflate_state)(unsafe.Pointer(s)).Fpending // start of bytes to update crc
 13447  			var val int32
 13448  			for ok5 := true; ok5; ok5 = val != 0 {
 13449  				if (*Deflate_state)(unsafe.Pointer(s)).Fpending == (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
 13450  					for ok6 := true; ok6; ok6 = 0 != 0 {
 13451  						if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg {
 13452  							(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg))
 13453  						}
 13454  					}
 13455  					flush_pending(tls, strm)
 13456  					if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
 13457  						(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1
 13458  						return Z_OK
 13459  					}
 13460  					beg = uint64(0)
 13461  				}
 13462  				val = int32(*(*Bytef)(unsafe.Pointer((*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fgzindex, 1)))))
 13463  				{
 13464  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Bytef(val)
 13465  				}
 13466  
 13467  			}
 13468  			for ok7 := true; ok7; ok7 = 0 != 0 {
 13469  				if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Deflate_state)(unsafe.Pointer(s)).Fpending > beg {
 13470  					(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending-beg))
 13471  				}
 13472  			}
 13473  		}
 13474  		(*Deflate_state)(unsafe.Pointer(s)).Fstatus = HCRC_STATE
 13475  	}
 13476  	if (*Deflate_state)(unsafe.Pointer(s)).Fstatus == HCRC_STATE {
 13477  		if (*Gz_header)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
 13478  			if (*Deflate_state)(unsafe.Pointer(s)).Fpending+uint64(2) > (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
 13479  				flush_pending(tls, strm)
 13480  				if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
 13481  					(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1
 13482  					return Z_OK
 13483  				}
 13484  			}
 13485  			{
 13486  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler & uint64(0xff))
 13487  			}
 13488  
 13489  			{
 13490  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler >> 8 & uint64(0xff))
 13491  			}
 13492  
 13493  			(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(Z_NULL), uint32(0))
 13494  		}
 13495  		(*Deflate_state)(unsafe.Pointer(s)).Fstatus = BUSY_STATE
 13496  
 13497  		// Compression must start with an empty pending buffer
 13498  		flush_pending(tls, strm)
 13499  		if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
 13500  			(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1
 13501  			return Z_OK
 13502  		}
 13503  	}
 13504  
 13505  	// Start a new block or continue the current one.
 13506  	if (*Z_stream)(unsafe.Pointer(strm)).Favail_in != UInt(0) || (*Deflate_state)(unsafe.Pointer(s)).Flookahead != UInt(0) || flush != Z_NO_FLUSH && (*Deflate_state)(unsafe.Pointer(s)).Fstatus != FINISH_STATE {
 13507  		var bstate Block_state
 13508  
 13509  		if (*Deflate_state)(unsafe.Pointer(s)).Flevel == 0 {
 13510  			bstate = deflate_stored(tls, s, flush)
 13511  		} else {
 13512  			if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy == Z_HUFFMAN_ONLY {
 13513  				bstate = deflate_huff(tls, s, flush)
 13514  			} else {
 13515  				if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy == Z_RLE {
 13516  					bstate = deflate_rle(tls, s, flush)
 13517  				} else {
 13518  					bstate = (*struct {
 13519  						f func(*libc.TLS, uintptr, int32) Block_state
 13520  					})(unsafe.Pointer(&struct{ uintptr }{configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Ffunc})).f(tls, s, flush)
 13521  				}
 13522  			}
 13523  		}
 13524  
 13525  		if bstate == Finish_started || bstate == Finish_done {
 13526  			(*Deflate_state)(unsafe.Pointer(s)).Fstatus = FINISH_STATE
 13527  		}
 13528  		if bstate == Need_more || bstate == Finish_started {
 13529  			if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) {
 13530  				(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 // avoid BUF_ERROR next call, see above
 13531  			}
 13532  			return Z_OK
 13533  			// If flush != Z_NO_FLUSH && avail_out == 0, the next call
 13534  			// of deflate should use the same flush parameter to make sure
 13535  			// that the flush is complete. So we don't have to output an
 13536  			// empty block here, this will be done at next call. This also
 13537  			// ensures that for a very small output buffer, we emit at most
 13538  			// one empty block.
 13539  		}
 13540  		if bstate == Block_done {
 13541  			if flush == Z_PARTIAL_FLUSH {
 13542  				X_tr_align(tls, s)
 13543  			} else if flush != Z_BLOCK { // FULL_FLUSH or SYNC_FLUSH
 13544  				X_tr_stored_block(tls, s, uintptr(0), uint64(0), 0)
 13545  				// For a full flush, this empty block will be recognized
 13546  				// as a special marker by inflate_sync().
 13547  				if flush == Z_FULL_FLUSH {
 13548  					*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*2)) = Posf(NIL)
 13549  					libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*uint64(unsafe.Sizeof(Posf(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0))
 13550  					// forget history
 13551  					if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) {
 13552  						(*Deflate_state)(unsafe.Pointer(s)).Fstrstart = UInt(0)
 13553  						(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = 0
 13554  						(*Deflate_state)(unsafe.Pointer(s)).Finsert = UInt(0)
 13555  					}
 13556  				}
 13557  			}
 13558  			flush_pending(tls, strm)
 13559  			if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) {
 13560  				(*Deflate_state)(unsafe.Pointer(s)).Flast_flush = -1 // avoid BUF_ERROR at next call, see above
 13561  				return Z_OK
 13562  			}
 13563  		}
 13564  	}
 13565  
 13566  	if flush != Z_FINISH {
 13567  		return Z_OK
 13568  	}
 13569  	if (*Deflate_state)(unsafe.Pointer(s)).Fwrap <= 0 {
 13570  		return Z_STREAM_END
 13571  	}
 13572  
 13573  	// Write the trailer
 13574  	if (*Deflate_state)(unsafe.Pointer(s)).Fwrap == 2 {
 13575  		{
 13576  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler & uint64(0xff))
 13577  		}
 13578  
 13579  		{
 13580  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler >> 8 & uint64(0xff))
 13581  		}
 13582  
 13583  		{
 13584  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler >> 16 & uint64(0xff))
 13585  		}
 13586  
 13587  		{
 13588  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Fadler >> 24 & uint64(0xff))
 13589  		}
 13590  
 13591  		{
 13592  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Ftotal_in & uint64(0xff))
 13593  		}
 13594  
 13595  		{
 13596  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Ftotal_in >> 8 & uint64(0xff))
 13597  		}
 13598  
 13599  		{
 13600  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Ftotal_in >> 16 & uint64(0xff))
 13601  		}
 13602  
 13603  		{
 13604  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Z_stream)(unsafe.Pointer(strm)).Ftotal_in >> 24 & uint64(0xff))
 13605  		}
 13606  
 13607  	} else {
 13608  		putShortMSB(tls, s, UInt((*Z_stream)(unsafe.Pointer(strm)).Fadler>>16))
 13609  		putShortMSB(tls, s, UInt((*Z_stream)(unsafe.Pointer(strm)).Fadler&uint64(0xffff)))
 13610  	}
 13611  	flush_pending(tls, strm)
 13612  	// If avail_out is zero, the application will call deflate again
 13613  	// to flush the rest.
 13614  	if (*Deflate_state)(unsafe.Pointer(s)).Fwrap > 0 {
 13615  		(*Deflate_state)(unsafe.Pointer(s)).Fwrap = -(*Deflate_state)(unsafe.Pointer(s)).Fwrap
 13616  	} // write the trailer only once!
 13617  	if (*Deflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
 13618  		return Z_OK
 13619  	}
 13620  	return Z_STREAM_END
 13621  }
 13622  
 13623  // =========================================================================
 13624  func XdeflateEnd(tls *libc.TLS, strm Z_streamp) int32 { /* deflate.c:1076:13: */
 13625  	var status int32
 13626  
 13627  	if deflateStateCheck(tls, strm) != 0 {
 13628  		return -2
 13629  	}
 13630  
 13631  	status = (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fstatus
 13632  
 13633  	/* Deallocate in reverse order of allocations: */
 13634  	{
 13635  		if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf != 0 {
 13636  			(*struct {
 13637  				f func(*libc.TLS, Voidpf, Voidpf)
 13638  			})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf)
 13639  		}
 13640  	}
 13641  
 13642  	{
 13643  		if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fhead != 0 {
 13644  			(*struct {
 13645  				f func(*libc.TLS, Voidpf, Voidpf)
 13646  			})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fhead)
 13647  		}
 13648  	}
 13649  
 13650  	{
 13651  		if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fprev != 0 {
 13652  			(*struct {
 13653  				f func(*libc.TLS, Voidpf, Voidpf)
 13654  			})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fprev)
 13655  		}
 13656  	}
 13657  
 13658  	{
 13659  		if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow != 0 {
 13660  			(*struct {
 13661  				f func(*libc.TLS, Voidpf, Voidpf)
 13662  			})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow)
 13663  		}
 13664  	}
 13665  
 13666  	(*struct {
 13667  		f func(*libc.TLS, Voidpf, Voidpf)
 13668  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Z_stream)(unsafe.Pointer(strm)).Fstate)
 13669  	(*Z_stream)(unsafe.Pointer(strm)).Fstate = uintptr(Z_NULL)
 13670  
 13671  	if status == BUSY_STATE {
 13672  		return -3
 13673  	}
 13674  	return Z_OK
 13675  }
 13676  
 13677  // =========================================================================
 13678  // Copy the source state to the destination state.
 13679  // To simplify the source, this is not supported for 16-bit MSDOS (which
 13680  // doesn't have enough memory anyway to duplicate compression states).
 13681  func XdeflateCopy(tls *libc.TLS, dest Z_streamp, source Z_streamp) int32 { /* deflate.c:1102:13: */
 13682  	var ds uintptr
 13683  	var ss uintptr
 13684  	var overlay uintptr
 13685  
 13686  	if deflateStateCheck(tls, source) != 0 || dest == uintptr(Z_NULL) {
 13687  		return -2
 13688  	}
 13689  
 13690  	ss = (*Z_stream)(unsafe.Pointer(source)).Fstate
 13691  
 13692  	libc.X__builtin___memcpy_chk(tls, dest, source, uint64(unsafe.Sizeof(Z_stream{})), libc.X__builtin_object_size(tls, dest, 0))
 13693  
 13694  	ds = (*struct {
 13695  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 13696  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(dest)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(dest)).Fopaque, uint32(1), uint32(unsafe.Sizeof(Deflate_state{})))
 13697  	if ds == uintptr(Z_NULL) {
 13698  		return -4
 13699  	}
 13700  	(*Z_stream)(unsafe.Pointer(dest)).Fstate = ds
 13701  	libc.X__builtin___memcpy_chk(tls, ds, ss, uint64(unsafe.Sizeof(Deflate_state{})), libc.X__builtin_object_size(tls, ds, 0))
 13702  	(*Deflate_state)(unsafe.Pointer(ds)).Fstrm = dest
 13703  
 13704  	(*Deflate_state)(unsafe.Pointer(ds)).Fwindow = (*struct {
 13705  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 13706  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(dest)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(dest)).Fopaque, (*Deflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(uint64(2)*uint64(unsafe.Sizeof(Byte(0)))))
 13707  	(*Deflate_state)(unsafe.Pointer(ds)).Fprev = (*struct {
 13708  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 13709  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(dest)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(dest)).Fopaque, (*Deflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(unsafe.Sizeof(Pos(0))))
 13710  	(*Deflate_state)(unsafe.Pointer(ds)).Fhead = (*struct {
 13711  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 13712  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(dest)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(dest)).Fopaque, (*Deflate_state)(unsafe.Pointer(ds)).Fhash_size, uint32(unsafe.Sizeof(Pos(0))))
 13713  	overlay = (*struct {
 13714  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 13715  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(dest)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(dest)).Fopaque, (*Deflate_state)(unsafe.Pointer(ds)).Flit_bufsize, uint32(uint64(unsafe.Sizeof(Ush(0)))+uint64(2)))
 13716  	(*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf = overlay
 13717  
 13718  	if (*Deflate_state)(unsafe.Pointer(ds)).Fwindow == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(ds)).Fprev == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(ds)).Fhead == uintptr(Z_NULL) || (*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf == uintptr(Z_NULL) {
 13719  		XdeflateEnd(tls, dest)
 13720  		return -4
 13721  	}
 13722  	// following zmemcpy do not work for 16-bit MSDOS
 13723  	libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fwindow, (*Deflate_state)(unsafe.Pointer(ss)).Fwindow, uint64((*Deflate_state)(unsafe.Pointer(ds)).Fw_size*UInt(2))*uint64(unsafe.Sizeof(Byte(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fwindow, 0))
 13724  	libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fprev, (*Deflate_state)(unsafe.Pointer(ss)).Fprev, uint64((*Deflate_state)(unsafe.Pointer(ds)).Fw_size)*uint64(unsafe.Sizeof(Pos(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fprev, 0))
 13725  	libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fhead, (*Deflate_state)(unsafe.Pointer(ss)).Fhead, uint64((*Deflate_state)(unsafe.Pointer(ds)).Fhash_size)*uint64(unsafe.Sizeof(Pos(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fhead, 0))
 13726  	libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf, (*Deflate_state)(unsafe.Pointer(ss)).Fpending_buf, uint64(UInt((*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf_size)), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf, 0))
 13727  
 13728  	(*Deflate_state)(unsafe.Pointer(ds)).Fpending_out = (*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr((int64((*Deflate_state)(unsafe.Pointer(ss)).Fpending_out)-int64((*Deflate_state)(unsafe.Pointer(ss)).Fpending_buf))/1)
 13729  	(*Deflate_state)(unsafe.Pointer(ds)).Fd_buf = overlay + uintptr(uint64((*Deflate_state)(unsafe.Pointer(ds)).Flit_bufsize)/uint64(unsafe.Sizeof(Ush(0))))*2
 13730  	(*Deflate_state)(unsafe.Pointer(ds)).Fl_buf = (*Deflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr((uint64(1)+uint64(unsafe.Sizeof(Ush(0))))*uint64((*Deflate_state)(unsafe.Pointer(ds)).Flit_bufsize))
 13731  
 13732  	(*Deflate_state)(unsafe.Pointer(ds)).Fl_desc.Fdyn_tree = ds + 212   /* &.dyn_ltree */
 13733  	(*Deflate_state)(unsafe.Pointer(ds)).Fd_desc.Fdyn_tree = ds + 2504  /* &.dyn_dtree */
 13734  	(*Deflate_state)(unsafe.Pointer(ds)).Fbl_desc.Fdyn_tree = ds + 2748 /* &.bl_tree */
 13735  
 13736  	return Z_OK
 13737  }
 13738  
 13739  // ===========================================================================
 13740  // Read a new buffer from the current input stream, update the adler32
 13741  // and total number of bytes read.  All deflate() input goes through
 13742  // this function so some applications may wish to modify it to avoid
 13743  // allocating a large strm->next_in buffer and copying from it.
 13744  // (See also flush_pending()).
 13745  func read_buf(tls *libc.TLS, strm Z_streamp, buf uintptr, size uint32) uint32 { /* deflate.c:1164:16: */
 13746  	var len uint32 = (*Z_stream)(unsafe.Pointer(strm)).Favail_in
 13747  
 13748  	if len > size {
 13749  		len = size
 13750  	}
 13751  	if len == uint32(0) {
 13752  		return uint32(0)
 13753  	}
 13754  
 13755  	*(*UInt)(unsafe.Pointer(strm + 8)) -= len
 13756  
 13757  	libc.X__builtin___memcpy_chk(tls, buf, (*Z_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(len), libc.X__builtin_object_size(tls, buf, 0))
 13758  	if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == 1 {
 13759  		(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, buf, len)
 13760  	} else if (*Internal_state)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == 2 {
 13761  		(*Z_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Z_stream)(unsafe.Pointer(strm)).Fadler, buf, len)
 13762  	}
 13763  	*(*uintptr)(unsafe.Pointer(strm)) += uintptr(len)
 13764  	*(*ULong)(unsafe.Pointer(strm + 16)) += ULong(len)
 13765  
 13766  	return len
 13767  }
 13768  
 13769  // ===========================================================================
 13770  // Initialize the "longest match" routines for a new zlib stream
 13771  func lm_init(tls *libc.TLS, s uintptr) { /* deflate.c:1194:12: */
 13772  	(*Deflate_state)(unsafe.Pointer(s)).Fwindow_size = uint64(2) * Ulg((*Deflate_state)(unsafe.Pointer(s)).Fw_size)
 13773  
 13774  	*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*2)) = Posf(NIL)
 13775  	libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Deflate_state)(unsafe.Pointer(s)).Fhash_size-UInt(1))*uint64(unsafe.Sizeof(Posf(0))), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fhead, 0))
 13776  
 13777  	// Set the default configuration parameters:
 13778  	(*Deflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = UInt(configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Fmax_lazy)
 13779  	(*Deflate_state)(unsafe.Pointer(s)).Fgood_match = UInt(configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Fgood_length)
 13780  	(*Deflate_state)(unsafe.Pointer(s)).Fnice_match = int32(configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Fnice_length)
 13781  	(*Deflate_state)(unsafe.Pointer(s)).Fmax_chain_length = UInt(configuration_table[(*Deflate_state)(unsafe.Pointer(s)).Flevel].Fmax_chain)
 13782  
 13783  	(*Deflate_state)(unsafe.Pointer(s)).Fstrstart = UInt(0)
 13784  	(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = 0
 13785  	(*Deflate_state)(unsafe.Pointer(s)).Flookahead = UInt(0)
 13786  	(*Deflate_state)(unsafe.Pointer(s)).Finsert = UInt(0)
 13787  	(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.AssignPtrUint32(s+184, UInt(MIN_MATCH-1))
 13788  	(*Deflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
 13789  	(*Deflate_state)(unsafe.Pointer(s)).Fins_h = UInt(0)
 13790  }
 13791  
 13792  // ===========================================================================
 13793  // Set match_start to the longest match starting at the given string and
 13794  // return its length. Matches shorter or equal to prev_length are discarded,
 13795  // in which case the result is equal to prev_length and match_start is
 13796  // garbage.
 13797  // IN assertions: cur_match is the head of the hash chain for the current
 13798  //   string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
 13799  // OUT assertion: the match length is not greater than s->lookahead.
 13800  // For 80x86 and 680x0, an optimized version will be provided in match.asm or
 13801  // match.S. The code will be functionally equivalent.
 13802  func longest_match(tls *libc.TLS, s uintptr, cur_match IPos) UInt { /* deflate.c:1236:12: */
 13803  	var chain_length uint32 = (*Deflate_state)(unsafe.Pointer(s)).Fmax_chain_length                                         // max hash chain length
 13804  	var scan uintptr = (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) // current string
 13805  	var match uintptr                                                                                                       // matched string
 13806  	var len int32                                                                                                           // length of current match
 13807  	var best_len int32 = int32((*Deflate_state)(unsafe.Pointer(s)).Fprev_length)                                            // best match length so far
 13808  	var nice_match int32 = (*Deflate_state)(unsafe.Pointer(s)).Fnice_match                                                  // stop if match long enough
 13809  	var limit IPos
 13810  	if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart > (*Deflate_state)(unsafe.Pointer(s)).Fw_size-UInt(MAX_MATCH+MIN_MATCH+1) {
 13811  		limit = (*Deflate_state)(unsafe.Pointer(s)).Fstrstart - ((*Deflate_state)(unsafe.Pointer(s)).Fw_size - UInt(MAX_MATCH+MIN_MATCH+1))
 13812  	} else {
 13813  		limit = uint32(NIL)
 13814  	}
 13815  	// Stop when cur_match becomes <= limit. To simplify the code,
 13816  	// we prevent matches with the string of window index 0.
 13817  	var prev uintptr = (*Deflate_state)(unsafe.Pointer(s)).Fprev
 13818  	var wmask UInt = (*Deflate_state)(unsafe.Pointer(s)).Fw_mask
 13819  
 13820  	var strend uintptr = (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(MAX_MATCH)
 13821  	var scan_end1 Byte = *(*Bytef)(unsafe.Pointer(scan + uintptr(best_len-1)))
 13822  	var scan_end Byte = *(*Bytef)(unsafe.Pointer(scan + uintptr(best_len)))
 13823  
 13824  	// The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
 13825  	// It is easy to get rid of this optimization if necessary.
 13826  
 13827  	// Do not waste too much time if we already have a good match:
 13828  	if (*Deflate_state)(unsafe.Pointer(s)).Fprev_length >= (*Deflate_state)(unsafe.Pointer(s)).Fgood_match {
 13829  		chain_length >>= 2
 13830  	}
 13831  	// Do not look for matches beyond the end of the input. This is necessary
 13832  	// to make deflate deterministic.
 13833  	if UInt(nice_match) > (*Deflate_state)(unsafe.Pointer(s)).Flookahead {
 13834  		nice_match = int32((*Deflate_state)(unsafe.Pointer(s)).Flookahead)
 13835  	}
 13836  
 13837  	for ok := true; ok; ok = libc.AssignUint32(&cur_match, IPos(*(*Posf)(unsafe.Pointer(prev + uintptr(cur_match&wmask)*2)))) > limit &&
 13838  		libc.PreDecUint32(&chain_length, 1) != uint32(0) {
 13839  
 13840  		match = (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(cur_match)
 13841  
 13842  		// Skip to next match if the match length cannot increase
 13843  		// or if the match length is less than 2.  Note that the checks below
 13844  		// for insufficient lookahead only occur occasionally for performance
 13845  		// reasons.  Therefore uninitialized memory will be accessed, and
 13846  		// conditional jumps will be made that depend on those values.
 13847  		// However the length of the match is limited to the lookahead, so
 13848  		// the output of deflate is not affected by the uninitialized values.
 13849  
 13850  		if int32(*(*Bytef)(unsafe.Pointer(match + uintptr(best_len)))) != int32(scan_end) || int32(*(*Bytef)(unsafe.Pointer(match + uintptr(best_len-1)))) != int32(scan_end1) || int32(*(*Bytef)(unsafe.Pointer(match))) != int32(*(*Bytef)(unsafe.Pointer(scan))) || int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) != int32(*(*Bytef)(unsafe.Pointer(scan + 1))) {
 13851  			continue
 13852  		}
 13853  
 13854  		// The check at best_len-1 can be removed because it will be made
 13855  		// again later. (This heuristic is not always a win.)
 13856  		// It is not necessary to compare scan[2] and match[2] since they
 13857  		// are always equal when the other bytes match, given that
 13858  		// the hash keys are equal and that HASH_BITS >= 8.
 13859  		scan += uintptr(2)
 13860  		match++
 13861  
 13862  		// We check for insufficient lookahead only every 8th comparison;
 13863  		// the 256th check will be made at strstart+258.
 13864  		for ok1 := true; ok1; ok1 = int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) == int32(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&match, 1)))) && scan < strend {
 13865  		}
 13866  
 13867  		len = MAX_MATCH - int32((int64(strend)-int64(scan))/1)
 13868  		scan = strend - uintptr(MAX_MATCH)
 13869  
 13870  		if len > best_len {
 13871  			(*Deflate_state)(unsafe.Pointer(s)).Fmatch_start = cur_match
 13872  			best_len = len
 13873  			if len >= nice_match {
 13874  				break
 13875  			}
 13876  			scan_end1 = *(*Bytef)(unsafe.Pointer(scan + uintptr(best_len-1)))
 13877  			scan_end = *(*Bytef)(unsafe.Pointer(scan + uintptr(best_len)))
 13878  		}
 13879  	}
 13880  
 13881  	if UInt(best_len) <= (*Deflate_state)(unsafe.Pointer(s)).Flookahead {
 13882  		return UInt(best_len)
 13883  	}
 13884  	return (*Deflate_state)(unsafe.Pointer(s)).Flookahead
 13885  }
 13886  
 13887  // ===========================================================================
 13888  // Fill the window when the lookahead becomes insufficient.
 13889  // Updates strstart and lookahead.
 13890  //
 13891  // IN assertion: lookahead < MIN_LOOKAHEAD
 13892  // OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
 13893  //    At least one byte has been read, or avail_in == 0; reads are
 13894  //    performed for at least two bytes (required for the zip translate_eol
 13895  //    option -- not supported here).
 13896  func fill_window(tls *libc.TLS, s uintptr) { /* deflate.c:1482:12: */
 13897  	var n uint32
 13898  	var more uint32 // Amount of free space at the end of the window.
 13899  	var wsize UInt = (*Deflate_state)(unsafe.Pointer(s)).Fw_size
 13900  
 13901  	for ok := true; ok; ok = (*Deflate_state)(unsafe.Pointer(s)).Flookahead < UInt(MAX_MATCH+MIN_MATCH+1) && (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in != UInt(0) {
 13902  		more = uint32((*Deflate_state)(unsafe.Pointer(s)).Fwindow_size - Ulg((*Deflate_state)(unsafe.Pointer(s)).Flookahead) - Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart))
 13903  
 13904  		// Deal with !@#$% 64K limit:
 13905  		if uint64(unsafe.Sizeof(int32(0))) <= uint64(2) {
 13906  			if more == uint32(0) && (*Deflate_state)(unsafe.Pointer(s)).Fstrstart == UInt(0) && (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) {
 13907  				more = wsize
 13908  
 13909  			} else if more == libc.Uint32(libc.Uint32FromInt32(-1)) {
 13910  				// Very unlikely, but possible on 16 bit machine if
 13911  				// strstart == 0 && lookahead == 1 (input done a byte at time)
 13912  				more--
 13913  			}
 13914  		}
 13915  
 13916  		// If the window is almost full and there is insufficient lookahead,
 13917  		// move the upper half to the lower one to make room in the upper half.
 13918  		if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart >= wsize+((*Deflate_state)(unsafe.Pointer(s)).Fw_size-UInt(MAX_MATCH+MIN_MATCH+1)) {
 13919  
 13920  			libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(wsize), uint64(wsize-more), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, 0))
 13921  			*(*UInt)(unsafe.Pointer(s + 176)) -= wsize
 13922  			*(*UInt)(unsafe.Pointer(s + 172)) -= wsize // we now have strstart >= MAX_DIST
 13923  			*(*int64)(unsafe.Pointer(s + 152)) -= int64(wsize)
 13924  			slide_hash(tls, s)
 13925  			more = more + wsize
 13926  		}
 13927  		if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == UInt(0) {
 13928  			break
 13929  		}
 13930  
 13931  		// If there was no sliding:
 13932  		//    strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
 13933  		//    more == window_size - lookahead - strstart
 13934  		// => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
 13935  		// => more >= window_size - 2*WSIZE + 2
 13936  		// In the BIG_MEM or MMAP case (not yet supported),
 13937  		//   window_size == input_size + MIN_LOOKAHEAD  &&
 13938  		//   strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
 13939  		// Otherwise, window_size == 2*WSIZE so more >= 2.
 13940  		// If there was sliding, more >= WSIZE. So in all cases, more >= 2.
 13941  
 13942  		n = read_buf(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Deflate_state)(unsafe.Pointer(s)).Flookahead), more)
 13943  		*(*UInt)(unsafe.Pointer(s + 180)) += n
 13944  
 13945  		// Initialize the hash value now that we have some input:
 13946  		if (*Deflate_state)(unsafe.Pointer(s)).Flookahead+(*Deflate_state)(unsafe.Pointer(s)).Finsert >= UInt(MIN_MATCH) {
 13947  			var str UInt = (*Deflate_state)(unsafe.Pointer(s)).Fstrstart - (*Deflate_state)(unsafe.Pointer(s)).Finsert
 13948  			(*Deflate_state)(unsafe.Pointer(s)).Fins_h = UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str))))
 13949  			(*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+UInt(1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask
 13950  			for (*Deflate_state)(unsafe.Pointer(s)).Finsert != 0 {
 13951  				(*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+UInt(MIN_MATCH)-UInt(1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask
 13952  				*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2))
 13953  				*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos(str)
 13954  				str++
 13955  				(*Deflate_state)(unsafe.Pointer(s)).Finsert--
 13956  				if (*Deflate_state)(unsafe.Pointer(s)).Flookahead+(*Deflate_state)(unsafe.Pointer(s)).Finsert < UInt(MIN_MATCH) {
 13957  					break
 13958  				}
 13959  			}
 13960  		}
 13961  		// If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
 13962  		// but this is not important since only literal bytes will be emitted.
 13963  
 13964  	}
 13965  
 13966  	// If the WIN_INIT bytes after the end of the current data have never been
 13967  	// written, then zero those bytes in order to avoid memory check reports of
 13968  	// the use of uninitialized (or uninitialised as Julian writes) bytes by
 13969  	// the longest match routines.  Update the high water mark for the next
 13970  	// time through here.  WIN_INIT is set to MAX_MATCH since the longest match
 13971  	// routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
 13972  	if (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water < (*Deflate_state)(unsafe.Pointer(s)).Fwindow_size {
 13973  		var curr Ulg = Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) + Ulg((*Deflate_state)(unsafe.Pointer(s)).Flookahead)
 13974  		var init1 Ulg
 13975  
 13976  		if (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water < curr {
 13977  			// Previous high water mark below current data -- zero WIN_INIT
 13978  			// bytes or up to end of window, whichever is less.
 13979  			init1 = (*Deflate_state)(unsafe.Pointer(s)).Fwindow_size - curr
 13980  			if init1 > uint64(MAX_MATCH) {
 13981  				init1 = uint64(MAX_MATCH)
 13982  			}
 13983  			libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(curr), 0, uint64(uint32(init1)), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(curr), 0))
 13984  			(*Deflate_state)(unsafe.Pointer(s)).Fhigh_water = curr + init1
 13985  		} else if (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water < curr+uint64(MAX_MATCH) {
 13986  			// High water mark at or above current data, but below current data
 13987  			// plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
 13988  			// to end of window, whichever is less.
 13989  			init1 = curr + uint64(MAX_MATCH) - (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water
 13990  			if init1 > (*Deflate_state)(unsafe.Pointer(s)).Fwindow_size-(*Deflate_state)(unsafe.Pointer(s)).Fhigh_water {
 13991  				init1 = (*Deflate_state)(unsafe.Pointer(s)).Fwindow_size - (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water
 13992  			}
 13993  			libc.X__builtin___memset_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhigh_water), 0, uint64(uint32(init1)), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fhigh_water), 0))
 13994  			*(*Ulg)(unsafe.Pointer(s + 5944)) += init1
 13995  		}
 13996  	}
 13997  
 13998  }
 13999  
 14000  // ===========================================================================
 14001  // Flush the current block, with given end-of-file flag.
 14002  // IN assertion: strstart is set to the end of the current match.
 14003  
 14004  // Same but force premature exit if necessary.
 14005  
 14006  // Maximum stored block length in deflate format (not including header).
 14007  
 14008  // Minimum of a and b.
 14009  
 14010  // ===========================================================================
 14011  // Copy without compression as much as possible from the input stream, return
 14012  // the current block state.
 14013  //
 14014  // In case deflateParams() is used to later switch to a non-zero compression
 14015  // level, s->matches (otherwise unused when storing) keeps track of the number
 14016  // of hash table slides to perform. If s->matches is 1, then one hash table
 14017  // slide will be done when switching. If s->matches is 2, the maximum value
 14018  // allowed here, then the hash table will be cleared, since two or more slides
 14019  // is the same as a clear.
 14020  //
 14021  // deflate_stored() is written to minimize the number of times an input byte is
 14022  // copied. It is most efficient with large input and output buffers, which
 14023  // maximizes the opportunites to have a single copy from next_in to next_out.
 14024  func deflate_stored(tls *libc.TLS, s uintptr, flush int32) Block_state { /* deflate.c:1643:19: */
 14025  	// Smallest worthy block size when not flushing or finishing. By default
 14026  	// this is 32K. This can be as small as 507 bytes for memLevel == 1. For
 14027  	// large input and output buffers, the stored block size will be larger.
 14028  	var min_block uint32 = func() uint32 {
 14029  		if (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(5) > Ulg((*Deflate_state)(unsafe.Pointer(s)).Fw_size) {
 14030  			return (*Deflate_state)(unsafe.Pointer(s)).Fw_size
 14031  		}
 14032  		return uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(5))
 14033  	}()
 14034  
 14035  	// Copy as many min_block or larger stored blocks directly to next_out as
 14036  	// possible. If flushing, copy the remaining available input to next_out as
 14037  	// stored blocks, if there is enough space.
 14038  	var len uint32
 14039  	var left uint32
 14040  	var have uint32
 14041  	var last uint32 = uint32(0)
 14042  	var used uint32 = (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
 14043  	for ok := true; ok; ok = last == uint32(0) {
 14044  		// Set len to the maximum size block that we can copy directly with the
 14045  		// available input data and output space. Set left to how much of that
 14046  		// would be copied from what's left in the window.
 14047  		len = uint32(MAX_STORED)                                                                      // maximum deflate stored block length
 14048  		have = uint32(((*Deflate_state)(unsafe.Pointer(s)).Fbi_valid + 42) >> 3)                      // number of header bytes
 14049  		if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out < have { // need room for header
 14050  			break
 14051  		}
 14052  		// maximum stored block length that will fit in avail_out:
 14053  		have = (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out - have
 14054  		left = uint32(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Deflate_state)(unsafe.Pointer(s)).Fblock_start) // bytes left in window
 14055  		if Ulg(len) > Ulg(left)+Ulg((*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
 14056  			len = left + (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
 14057  		} // limit len to the input
 14058  		if len > have {
 14059  			len = have
 14060  		} // limit len to the output
 14061  
 14062  		// If the stored block would be less than min_block in length, or if
 14063  		// unable to copy all of the available input when flushing, then try
 14064  		// copying to the window and the pending buffer instead. Also don't
 14065  		// write an empty block when flushing -- deflate() does that.
 14066  		if len < min_block && (len == uint32(0) && flush != Z_FINISH || flush == Z_NO_FLUSH || len != left+(*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
 14067  			break
 14068  		}
 14069  
 14070  		// Make a dummy stored block in pending to get the header bytes,
 14071  		// including any pending bits. This also updates the debugging counts.
 14072  		if flush == Z_FINISH && len == left+(*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
 14073  			last = uint32(1)
 14074  		} else {
 14075  			last = uint32(0)
 14076  		}
 14077  		X_tr_stored_block(tls, s, uintptr(0), uint64(0), int32(last))
 14078  
 14079  		// Replace the lengths in the dummy stored block with len.
 14080  		*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending-uint64(4)))) = Bytef(len)
 14081  		*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending-uint64(3)))) = Bytef(len >> 8)
 14082  		*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending-uint64(2)))) = Bytef(^len)
 14083  		*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending-uint64(1)))) = Bytef(^len >> 8)
 14084  
 14085  		// Write the stored block header bytes.
 14086  		flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14087  
 14088  		// Copy uncompressed bytes from the window to next_out.
 14089  		if left != 0 {
 14090  			if left > len {
 14091  				left = len
 14092  			}
 14093  			libc.X__builtin___memcpy_chk(tls, (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(left), libc.X__builtin_object_size(tls, (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, 0))
 14094  			*(*uintptr)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(left)
 14095  			*(*UInt)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= left
 14096  			*(*ULong)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += ULong(left)
 14097  			*(*int64)(unsafe.Pointer(s + 152)) += int64(left)
 14098  			len = len - left
 14099  		}
 14100  
 14101  		// Copy uncompressed bytes directly from next_in to next_out, updating
 14102  		// the check value.
 14103  		if len != 0 {
 14104  			read_buf(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm, (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, len)
 14105  			*(*uintptr)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(len)
 14106  			*(*UInt)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= len
 14107  			*(*ULong)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += ULong(len)
 14108  		}
 14109  	}
 14110  
 14111  	// Update the sliding window with the last s->w_size bytes of the copied
 14112  	// data, or append all of the copied data to the existing window if less
 14113  	// than s->w_size bytes were copied. Also update the number of bytes to
 14114  	// insert in the hash tables, in the event that deflateParams() switches to
 14115  	// a non-zero compression level.
 14116  	used = used - (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in // number of input bytes directly copied
 14117  	if used != 0 {
 14118  		// If any input was used, then no unused input remains in the window,
 14119  		// therefore s->block_start == s->strstart.
 14120  		if used >= (*Deflate_state)(unsafe.Pointer(s)).Fw_size { // supplant the previous history
 14121  			(*Deflate_state)(unsafe.Pointer(s)).Fmatches = UInt(2) // clear hash
 14122  			libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr((*Deflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Deflate_state)(unsafe.Pointer(s)).Fw_size), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, 0))
 14123  			(*Deflate_state)(unsafe.Pointer(s)).Fstrstart = (*Deflate_state)(unsafe.Pointer(s)).Fw_size
 14124  		} else {
 14125  			if (*Deflate_state)(unsafe.Pointer(s)).Fwindow_size-Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) <= Ulg(used) {
 14126  				// Slide the window down.
 14127  				*(*UInt)(unsafe.Pointer(s + 172)) -= (*Deflate_state)(unsafe.Pointer(s)).Fw_size
 14128  				libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, 0))
 14129  				if (*Deflate_state)(unsafe.Pointer(s)).Fmatches < UInt(2) {
 14130  					(*Deflate_state)(unsafe.Pointer(s)).Fmatches++
 14131  				} // add a pending slide_hash()
 14132  			}
 14133  			libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart), (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr(used), uint64(used), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart), 0))
 14134  			*(*UInt)(unsafe.Pointer(s + 172)) += used
 14135  		}
 14136  		(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14137  		*(*UInt)(unsafe.Pointer(s + 5932)) += func() uint32 {
 14138  			if used > (*Deflate_state)(unsafe.Pointer(s)).Fw_size-(*Deflate_state)(unsafe.Pointer(s)).Finsert {
 14139  				return (*Deflate_state)(unsafe.Pointer(s)).Fw_size - (*Deflate_state)(unsafe.Pointer(s)).Finsert
 14140  			}
 14141  			return used
 14142  		}()
 14143  	}
 14144  	if (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water < Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) {
 14145  		(*Deflate_state)(unsafe.Pointer(s)).Fhigh_water = Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14146  	}
 14147  
 14148  	// If the last block was written to next_out, then done.
 14149  	if last != 0 {
 14150  		return Finish_done
 14151  	}
 14152  
 14153  	// If flushing and all input has been consumed, then done.
 14154  	if flush != Z_NO_FLUSH && flush != Z_FINISH && (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == UInt(0) && int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) == (*Deflate_state)(unsafe.Pointer(s)).Fblock_start {
 14155  		return Block_done
 14156  	}
 14157  
 14158  	// Fill the window with any remaining input.
 14159  	have = uint32((*Deflate_state)(unsafe.Pointer(s)).Fwindow_size - Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) - uint64(1))
 14160  	if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in > have && (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= int64((*Deflate_state)(unsafe.Pointer(s)).Fw_size) {
 14161  		// Slide the window down.
 14162  		*(*int64)(unsafe.Pointer(s + 152)) -= int64((*Deflate_state)(unsafe.Pointer(s)).Fw_size)
 14163  		*(*UInt)(unsafe.Pointer(s + 172)) -= (*Deflate_state)(unsafe.Pointer(s)).Fw_size
 14164  		libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart), libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fwindow, 0))
 14165  		if (*Deflate_state)(unsafe.Pointer(s)).Fmatches < UInt(2) {
 14166  			(*Deflate_state)(unsafe.Pointer(s)).Fmatches++
 14167  		} // add a pending slide_hash()
 14168  		have = have + (*Deflate_state)(unsafe.Pointer(s)).Fw_size // more space now
 14169  	}
 14170  	if have > (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
 14171  		have = (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
 14172  	}
 14173  	if have != 0 {
 14174  		read_buf(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart), have)
 14175  		*(*UInt)(unsafe.Pointer(s + 172)) += have
 14176  	}
 14177  	if (*Deflate_state)(unsafe.Pointer(s)).Fhigh_water < Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) {
 14178  		(*Deflate_state)(unsafe.Pointer(s)).Fhigh_water = Ulg((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14179  	}
 14180  
 14181  	// There was not enough avail_out to write a complete worthy or flushed
 14182  	// stored block to next_out. Write a stored block to pending instead, if we
 14183  	// have enough input for a worthy block, or if flushing and there is enough
 14184  	// room for the remaining input as a stored block in the pending buffer.
 14185  	have = uint32(((*Deflate_state)(unsafe.Pointer(s)).Fbi_valid + 42) >> 3) // number of header bytes
 14186  	// maximum stored block length that will fit in pending:
 14187  	have = func() uint32 {
 14188  		if (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size-Ulg(have) > uint64(MAX_STORED) {
 14189  			return uint32(MAX_STORED)
 14190  		}
 14191  		return uint32((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf_size - Ulg(have))
 14192  	}()
 14193  	min_block = func() uint32 {
 14194  		if have > (*Deflate_state)(unsafe.Pointer(s)).Fw_size {
 14195  			return (*Deflate_state)(unsafe.Pointer(s)).Fw_size
 14196  		}
 14197  		return have
 14198  	}()
 14199  	left = uint32(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Deflate_state)(unsafe.Pointer(s)).Fblock_start)
 14200  	if left >= min_block || (left != 0 || flush == Z_FINISH) && flush != Z_NO_FLUSH && (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == UInt(0) && left <= have {
 14201  		len = func() uint32 {
 14202  			if left > have {
 14203  				return have
 14204  			}
 14205  			return left
 14206  		}()
 14207  		if flush == Z_FINISH && (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == UInt(0) && len == left {
 14208  			last = uint32(1)
 14209  		} else {
 14210  			last = uint32(0)
 14211  		}
 14212  		X_tr_stored_block(tls, s, (*Deflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(len), int32(last))
 14213  		*(*int64)(unsafe.Pointer(s + 152)) += int64(len)
 14214  		flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14215  	}
 14216  
 14217  	// We've done all we can with the available input and output.
 14218  	if last != 0 {
 14219  		return Finish_started
 14220  	}
 14221  	return Need_more
 14222  }
 14223  
 14224  // ===========================================================================
 14225  // Compress as much as possible from the input stream, return the current
 14226  // block state.
 14227  // This function does not perform lazy evaluation of matches and inserts
 14228  // new strings in the dictionary only for unmatched strings or for short
 14229  // matches. It is used only for the fast compression options.
 14230  func deflate_fast(tls *libc.TLS, s uintptr, flush int32) Block_state { /* deflate.c:1824:19: */
 14231  	var hash_head IPos // head of the hash chain
 14232  	var bflush int32   // set if current block must be flushed
 14233  
 14234  	for {
 14235  		// Make sure that we always have enough lookahead, except
 14236  		// at the end of the input file. We need MAX_MATCH bytes
 14237  		// for the next match, plus MIN_MATCH bytes to insert the
 14238  		// string following the next match.
 14239  		if (*Deflate_state)(unsafe.Pointer(s)).Flookahead < UInt(MAX_MATCH+MIN_MATCH+1) {
 14240  			fill_window(tls, s)
 14241  			if (*Deflate_state)(unsafe.Pointer(s)).Flookahead < UInt(MAX_MATCH+MIN_MATCH+1) && flush == Z_NO_FLUSH {
 14242  				return Need_more
 14243  			}
 14244  			if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) {
 14245  				break
 14246  			} // flush the current block
 14247  		}
 14248  
 14249  		// Insert the string window[strstart .. strstart+2] in the
 14250  		// dictionary, and set hash_head to the head of the hash chain:
 14251  		hash_head = IPos(NIL)
 14252  		if (*Deflate_state)(unsafe.Pointer(s)).Flookahead >= UInt(MIN_MATCH) {
 14253  			(*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart+UInt(MIN_MATCH-1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask
 14254  			hash_head = IPos(libc.AssignPtrUint16((*Deflate_state)(unsafe.Pointer(s)).Fprev+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2, *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2))))
 14255  			*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14256  		}
 14257  
 14258  		// Find the longest match, discarding those <= prev_length.
 14259  		// At this point we have always match_length < MIN_MATCH
 14260  		if hash_head != IPos(NIL) && (*Deflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Deflate_state)(unsafe.Pointer(s)).Fw_size-UInt(MAX_MATCH+MIN_MATCH+1) {
 14261  			// To simplify the code, we prevent matches with the string
 14262  			// of window index 0 (in particular we have to avoid a match
 14263  			// of the string with itself at the start of the input file).
 14264  			(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = longest_match(tls, s, hash_head)
 14265  			// longest_match() sets match_start
 14266  		}
 14267  		if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length >= UInt(MIN_MATCH) {
 14268  
 14269  			{
 14270  				var len Uch = Uch((*Deflate_state)(unsafe.Pointer(s)).Fmatch_length - UInt(MIN_MATCH))
 14271  				var dist Ush = Ush((*Deflate_state)(unsafe.Pointer(s)).Fstrstart - (*Deflate_state)(unsafe.Pointer(s)).Fmatch_start)
 14272  				*(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = dist
 14273  				*(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = len
 14274  				dist--
 14275  				*(*Ush)(unsafe.Pointer(s + 212 + uintptr(int32(X_length_code[len])+LITERALS+1)*4))++
 14276  				*(*Ush)(unsafe.Pointer(s + 2504 + uintptr(func() int32 {
 14277  					if int32(dist) < 256 {
 14278  						return int32(X_dist_code[dist])
 14279  					}
 14280  					return int32(X_dist_code[256+int32(dist)>>7])
 14281  				}())*4))++
 14282  				bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1))
 14283  			}
 14284  
 14285  			*(*UInt)(unsafe.Pointer(s + 180)) -= (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length
 14286  
 14287  			// Insert new strings in the hash table only if the match length
 14288  			// is not too large. This saves time but degrades compression.
 14289  			if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Deflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Deflate_state)(unsafe.Pointer(s)).Flookahead >= UInt(MIN_MATCH) {
 14290  				(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length-- // string at strstart already in table
 14291  				for ok := true; ok; ok = libc.PreDecUint32(&(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length, 1) != UInt(0) {
 14292  					(*Deflate_state)(unsafe.Pointer(s)).Fstrstart++
 14293  					(*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart+UInt(MIN_MATCH-1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask
 14294  					hash_head = IPos(libc.AssignPtrUint16((*Deflate_state)(unsafe.Pointer(s)).Fprev+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2, *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2))))
 14295  					*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14296  					// strstart never exceeds WSIZE-MAX_MATCH, so there are
 14297  					// always MIN_MATCH bytes ahead.
 14298  				}
 14299  				(*Deflate_state)(unsafe.Pointer(s)).Fstrstart++
 14300  			} else {
 14301  				*(*UInt)(unsafe.Pointer(s + 172)) += (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length
 14302  				(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(0)
 14303  				(*Deflate_state)(unsafe.Pointer(s)).Fins_h = UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart))))
 14304  				(*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart+UInt(1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask
 14305  				// If lookahead < MIN_MATCH, ins_h is garbage, but it does not
 14306  				// matter since it will be recomputed at next deflate call.
 14307  			}
 14308  		} else {
 14309  			// No match, output a literal byte
 14310  
 14311  			{
 14312  				var cc Uch = *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)))
 14313  				*(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ushf(0)
 14314  				*(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = cc
 14315  				*(*Ush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
 14316  				bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1))
 14317  			}
 14318  
 14319  			(*Deflate_state)(unsafe.Pointer(s)).Flookahead--
 14320  			(*Deflate_state)(unsafe.Pointer(s)).Fstrstart++
 14321  		}
 14322  		if bflush != 0 {
 14323  			{
 14324  				X_tr_flush_block(tls, s, func() uintptr {
 14325  					if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14326  						return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14327  					}
 14328  					return uintptr(Z_NULL)
 14329  				}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
 14330  				(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14331  				flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14332  			}
 14333  			if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14334  				if 0 != 0 {
 14335  					return Finish_started
 14336  				}
 14337  				return Need_more
 14338  			}
 14339  		}
 14340  
 14341  	}
 14342  	(*Deflate_state)(unsafe.Pointer(s)).Finsert = func() uint32 {
 14343  		if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart < UInt(MIN_MATCH-1) {
 14344  			return (*Deflate_state)(unsafe.Pointer(s)).Fstrstart
 14345  		}
 14346  		return uint32(MIN_MATCH - 1)
 14347  	}()
 14348  	if flush == Z_FINISH {
 14349  		{
 14350  			{
 14351  				X_tr_flush_block(tls, s, func() uintptr {
 14352  					if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14353  						return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14354  					}
 14355  					return uintptr(Z_NULL)
 14356  				}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 1)
 14357  				(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14358  				flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14359  			}
 14360  			if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14361  				if 1 != 0 {
 14362  					return Finish_started
 14363  				}
 14364  				return Need_more
 14365  			}
 14366  		}
 14367  
 14368  		return Finish_done
 14369  	}
 14370  	if (*Deflate_state)(unsafe.Pointer(s)).Flast_lit != 0 {
 14371  		{
 14372  			X_tr_flush_block(tls, s, func() uintptr {
 14373  				if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14374  					return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14375  				}
 14376  				return uintptr(Z_NULL)
 14377  			}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
 14378  			(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14379  			flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14380  		}
 14381  		if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14382  			if 0 != 0 {
 14383  				return Finish_started
 14384  			}
 14385  			return Need_more
 14386  		}
 14387  	}
 14388  
 14389  	return Block_done
 14390  }
 14391  
 14392  // ===========================================================================
 14393  // Same as above, but achieves better compression. We use a lazy
 14394  // evaluation for matches: a match is finally adopted only if there is
 14395  // no better match at the next window position.
 14396  func deflate_slow(tls *libc.TLS, s uintptr, flush int32) Block_state { /* deflate.c:1926:19: */
 14397  	var hash_head IPos // head of hash chain
 14398  	var bflush int32   // set if current block must be flushed
 14399  
 14400  	// Process the input block.
 14401  	for {
 14402  		// Make sure that we always have enough lookahead, except
 14403  		// at the end of the input file. We need MAX_MATCH bytes
 14404  		// for the next match, plus MIN_MATCH bytes to insert the
 14405  		// string following the next match.
 14406  		if (*Deflate_state)(unsafe.Pointer(s)).Flookahead < UInt(MAX_MATCH+MIN_MATCH+1) {
 14407  			fill_window(tls, s)
 14408  			if (*Deflate_state)(unsafe.Pointer(s)).Flookahead < UInt(MAX_MATCH+MIN_MATCH+1) && flush == Z_NO_FLUSH {
 14409  				return Need_more
 14410  			}
 14411  			if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) {
 14412  				break
 14413  			} // flush the current block
 14414  		}
 14415  
 14416  		// Insert the string window[strstart .. strstart+2] in the
 14417  		// dictionary, and set hash_head to the head of the hash chain:
 14418  		hash_head = IPos(NIL)
 14419  		if (*Deflate_state)(unsafe.Pointer(s)).Flookahead >= UInt(MIN_MATCH) {
 14420  			(*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart+UInt(MIN_MATCH-1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask
 14421  			hash_head = IPos(libc.AssignPtrUint16((*Deflate_state)(unsafe.Pointer(s)).Fprev+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2, *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2))))
 14422  			*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14423  		}
 14424  
 14425  		// Find the longest match, discarding those <= prev_length.
 14426  		(*Deflate_state)(unsafe.Pointer(s)).Fprev_length = (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length
 14427  		(*Deflate_state)(unsafe.Pointer(s)).Fprev_match = (*Deflate_state)(unsafe.Pointer(s)).Fmatch_start
 14428  		(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(MIN_MATCH - 1)
 14429  
 14430  		if hash_head != IPos(NIL) && (*Deflate_state)(unsafe.Pointer(s)).Fprev_length < (*Deflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Deflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Deflate_state)(unsafe.Pointer(s)).Fw_size-UInt(MAX_MATCH+MIN_MATCH+1) {
 14431  			// To simplify the code, we prevent matches with the string
 14432  			// of window index 0 (in particular we have to avoid a match
 14433  			// of the string with itself at the start of the input file).
 14434  			(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = longest_match(tls, s, hash_head)
 14435  			// longest_match() sets match_start
 14436  
 14437  			if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length <= UInt(5) && ((*Deflate_state)(unsafe.Pointer(s)).Fstrategy == Z_FILTERED ||
 14438  				(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length == UInt(MIN_MATCH) && (*Deflate_state)(unsafe.Pointer(s)).Fstrstart-(*Deflate_state)(unsafe.Pointer(s)).Fmatch_start > UInt(TOO_FAR)) {
 14439  
 14440  				// If prev_match is also MIN_MATCH, match_start is garbage
 14441  				// but we will ignore the current match anyway.
 14442  				(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(MIN_MATCH - 1)
 14443  			}
 14444  		}
 14445  		// If there was a match at the previous step and the current
 14446  		// match is not better, output the previous match:
 14447  		if (*Deflate_state)(unsafe.Pointer(s)).Fprev_length >= UInt(MIN_MATCH) && (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Deflate_state)(unsafe.Pointer(s)).Fprev_length {
 14448  			var max_insert UInt = (*Deflate_state)(unsafe.Pointer(s)).Fstrstart + (*Deflate_state)(unsafe.Pointer(s)).Flookahead - UInt(MIN_MATCH)
 14449  			// Do not insert strings in hash table beyond this.
 14450  
 14451  			{
 14452  				var len Uch = Uch((*Deflate_state)(unsafe.Pointer(s)).Fprev_length - UInt(MIN_MATCH))
 14453  				var dist Ush = Ush((*Deflate_state)(unsafe.Pointer(s)).Fstrstart - UInt(1) - (*Deflate_state)(unsafe.Pointer(s)).Fprev_match)
 14454  				*(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = dist
 14455  				*(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = len
 14456  				dist--
 14457  				*(*Ush)(unsafe.Pointer(s + 212 + uintptr(int32(X_length_code[len])+LITERALS+1)*4))++
 14458  				*(*Ush)(unsafe.Pointer(s + 2504 + uintptr(func() int32 {
 14459  					if int32(dist) < 256 {
 14460  						return int32(X_dist_code[dist])
 14461  					}
 14462  					return int32(X_dist_code[256+int32(dist)>>7])
 14463  				}())*4))++
 14464  				bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1))
 14465  			}
 14466  
 14467  			// Insert in hash table all strings up to the end of the match.
 14468  			// strstart-1 and strstart are already inserted. If there is not
 14469  			// enough lookahead, the last two strings are not inserted in
 14470  			// the hash table.
 14471  			*(*UInt)(unsafe.Pointer(s + 180)) -= (*Deflate_state)(unsafe.Pointer(s)).Fprev_length - UInt(1)
 14472  			*(*UInt)(unsafe.Pointer(s + 184)) -= UInt(2)
 14473  			for ok := true; ok; ok = libc.PreDecUint32(&(*Deflate_state)(unsafe.Pointer(s)).Fprev_length, 1) != UInt(0) {
 14474  				if libc.PreIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Fstrstart, 1) <= max_insert {
 14475  					(*Deflate_state)(unsafe.Pointer(s)).Fins_h = ((*Deflate_state)(unsafe.Pointer(s)).Fins_h<<(*Deflate_state)(unsafe.Pointer(s)).Fhash_shift ^ UInt(*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart+UInt(MIN_MATCH-1)))))) & (*Deflate_state)(unsafe.Pointer(s)).Fhash_mask
 14476  					hash_head = IPos(libc.AssignPtrUint16((*Deflate_state)(unsafe.Pointer(s)).Fprev+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart&(*Deflate_state)(unsafe.Pointer(s)).Fw_mask)*2, *(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2))))
 14477  					*(*Posf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = Pos((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14478  				}
 14479  			}
 14480  			(*Deflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
 14481  			(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(MIN_MATCH - 1)
 14482  			(*Deflate_state)(unsafe.Pointer(s)).Fstrstart++
 14483  
 14484  			if bflush != 0 {
 14485  				{
 14486  					X_tr_flush_block(tls, s, func() uintptr {
 14487  						if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14488  							return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14489  						}
 14490  						return uintptr(Z_NULL)
 14491  					}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
 14492  					(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14493  					flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14494  				}
 14495  				if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14496  					if 0 != 0 {
 14497  						return Finish_started
 14498  					}
 14499  					return Need_more
 14500  				}
 14501  			}
 14502  
 14503  		} else if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
 14504  			// If there was no match at the previous position, output a
 14505  			// single literal. If there was a match but the current match
 14506  			// is longer, truncate the previous match to a single literal.
 14507  
 14508  			{
 14509  				var cc Uch = *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart-UInt(1))))
 14510  				*(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ushf(0)
 14511  				*(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = cc
 14512  				*(*Ush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
 14513  				bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1))
 14514  			}
 14515  
 14516  			if bflush != 0 {
 14517  				{
 14518  					X_tr_flush_block(tls, s, func() uintptr {
 14519  						if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14520  							return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14521  						}
 14522  						return uintptr(Z_NULL)
 14523  					}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
 14524  					(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14525  					flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14526  				}
 14527  
 14528  			}
 14529  			(*Deflate_state)(unsafe.Pointer(s)).Fstrstart++
 14530  			(*Deflate_state)(unsafe.Pointer(s)).Flookahead--
 14531  			if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14532  				return Need_more
 14533  			}
 14534  		} else {
 14535  			// There is no previous match to compare with, wait for
 14536  			// the next step to decide.
 14537  			(*Deflate_state)(unsafe.Pointer(s)).Fmatch_available = 1
 14538  			(*Deflate_state)(unsafe.Pointer(s)).Fstrstart++
 14539  			(*Deflate_state)(unsafe.Pointer(s)).Flookahead--
 14540  		}
 14541  	}
 14542  
 14543  	if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
 14544  
 14545  		{
 14546  			var cc Uch = *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart-UInt(1))))
 14547  			*(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ushf(0)
 14548  			*(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = cc
 14549  			*(*Ush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
 14550  			bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1))
 14551  		}
 14552  
 14553  		(*Deflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
 14554  	}
 14555  	(*Deflate_state)(unsafe.Pointer(s)).Finsert = func() uint32 {
 14556  		if (*Deflate_state)(unsafe.Pointer(s)).Fstrstart < UInt(MIN_MATCH-1) {
 14557  			return (*Deflate_state)(unsafe.Pointer(s)).Fstrstart
 14558  		}
 14559  		return uint32(MIN_MATCH - 1)
 14560  	}()
 14561  	if flush == Z_FINISH {
 14562  		{
 14563  			{
 14564  				X_tr_flush_block(tls, s, func() uintptr {
 14565  					if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14566  						return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14567  					}
 14568  					return uintptr(Z_NULL)
 14569  				}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 1)
 14570  				(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14571  				flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14572  			}
 14573  			if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14574  				if 1 != 0 {
 14575  					return Finish_started
 14576  				}
 14577  				return Need_more
 14578  			}
 14579  		}
 14580  
 14581  		return Finish_done
 14582  	}
 14583  	if (*Deflate_state)(unsafe.Pointer(s)).Flast_lit != 0 {
 14584  		{
 14585  			X_tr_flush_block(tls, s, func() uintptr {
 14586  				if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14587  					return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14588  				}
 14589  				return uintptr(Z_NULL)
 14590  			}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
 14591  			(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14592  			flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14593  		}
 14594  		if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14595  			if 0 != 0 {
 14596  				return Finish_started
 14597  			}
 14598  			return Need_more
 14599  		}
 14600  	}
 14601  
 14602  	return Block_done
 14603  }
 14604  
 14605  // ===========================================================================
 14606  // For Z_RLE, simply look for runs of bytes, generate matches only of distance
 14607  // one.  Do not maintain a hash table.  (It will be regenerated if this run of
 14608  // deflate switches away from Z_RLE.)
 14609  func deflate_rle(tls *libc.TLS, s uintptr, flush int32) Block_state { /* deflate.c:2057:19: */
 14610  	var bflush int32 // set if current block must be flushed
 14611  	var prev UInt    // byte at distance one to match
 14612  	var scan uintptr
 14613  	var strend uintptr // scan goes up to strend for length of run
 14614  
 14615  	for {
 14616  		// Make sure that we always have enough lookahead, except
 14617  		// at the end of the input file. We need MAX_MATCH bytes
 14618  		// for the longest run, plus one for the unrolled loop.
 14619  		if (*Deflate_state)(unsafe.Pointer(s)).Flookahead <= UInt(MAX_MATCH) {
 14620  			fill_window(tls, s)
 14621  			if (*Deflate_state)(unsafe.Pointer(s)).Flookahead <= UInt(MAX_MATCH) && flush == Z_NO_FLUSH {
 14622  				return Need_more
 14623  			}
 14624  			if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) {
 14625  				break
 14626  			} // flush the current block
 14627  		}
 14628  
 14629  		// See how many times the previous byte repeats
 14630  		(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(0)
 14631  		if (*Deflate_state)(unsafe.Pointer(s)).Flookahead >= UInt(MIN_MATCH) && (*Deflate_state)(unsafe.Pointer(s)).Fstrstart > UInt(0) {
 14632  			scan = (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) - uintptr(1)
 14633  			prev = UInt(*(*Bytef)(unsafe.Pointer(scan)))
 14634  			if prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) {
 14635  				strend = (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(MAX_MATCH)
 14636  				for ok := true; ok; ok = prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && prev == UInt(*(*Bytef)(unsafe.Pointer(libc.PreIncUintptr(&scan, 1)))) && scan < strend {
 14637  				}
 14638  				(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(MAX_MATCH) - UInt((int64(strend)-int64(scan))/1)
 14639  				if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length > (*Deflate_state)(unsafe.Pointer(s)).Flookahead {
 14640  					(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = (*Deflate_state)(unsafe.Pointer(s)).Flookahead
 14641  				}
 14642  			}
 14643  
 14644  		}
 14645  
 14646  		// Emit match if have run of MIN_MATCH or longer, else emit literal
 14647  		if (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length >= UInt(MIN_MATCH) {
 14648  
 14649  			{
 14650  				var len Uch = Uch((*Deflate_state)(unsafe.Pointer(s)).Fmatch_length - UInt(MIN_MATCH))
 14651  				var dist Ush = Ush(1)
 14652  				*(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = dist
 14653  				*(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = len
 14654  				dist--
 14655  				*(*Ush)(unsafe.Pointer(s + 212 + uintptr(int32(X_length_code[len])+LITERALS+1)*4))++
 14656  				*(*Ush)(unsafe.Pointer(s + 2504 + uintptr(func() int32 {
 14657  					if int32(dist) < 256 {
 14658  						return int32(X_dist_code[dist])
 14659  					}
 14660  					return int32(X_dist_code[256+int32(dist)>>7])
 14661  				}())*4))++
 14662  				bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1))
 14663  			}
 14664  
 14665  			*(*UInt)(unsafe.Pointer(s + 180)) -= (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length
 14666  			*(*UInt)(unsafe.Pointer(s + 172)) += (*Deflate_state)(unsafe.Pointer(s)).Fmatch_length
 14667  			(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(0)
 14668  		} else {
 14669  			// No match, output a literal byte
 14670  
 14671  			{
 14672  				var cc Uch = *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)))
 14673  				*(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ushf(0)
 14674  				*(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = cc
 14675  				*(*Ush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
 14676  				bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1))
 14677  			}
 14678  
 14679  			(*Deflate_state)(unsafe.Pointer(s)).Flookahead--
 14680  			(*Deflate_state)(unsafe.Pointer(s)).Fstrstart++
 14681  		}
 14682  		if bflush != 0 {
 14683  			{
 14684  				X_tr_flush_block(tls, s, func() uintptr {
 14685  					if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14686  						return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14687  					}
 14688  					return uintptr(Z_NULL)
 14689  				}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
 14690  				(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14691  				flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14692  			}
 14693  			if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14694  				if 0 != 0 {
 14695  					return Finish_started
 14696  				}
 14697  				return Need_more
 14698  			}
 14699  		}
 14700  
 14701  	}
 14702  	(*Deflate_state)(unsafe.Pointer(s)).Finsert = UInt(0)
 14703  	if flush == Z_FINISH {
 14704  		{
 14705  			{
 14706  				X_tr_flush_block(tls, s, func() uintptr {
 14707  					if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14708  						return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14709  					}
 14710  					return uintptr(Z_NULL)
 14711  				}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 1)
 14712  				(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14713  				flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14714  			}
 14715  			if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14716  				if 1 != 0 {
 14717  					return Finish_started
 14718  				}
 14719  				return Need_more
 14720  			}
 14721  		}
 14722  
 14723  		return Finish_done
 14724  	}
 14725  	if (*Deflate_state)(unsafe.Pointer(s)).Flast_lit != 0 {
 14726  		{
 14727  			X_tr_flush_block(tls, s, func() uintptr {
 14728  				if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14729  					return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14730  				}
 14731  				return uintptr(Z_NULL)
 14732  			}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
 14733  			(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14734  			flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14735  		}
 14736  		if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14737  			if 0 != 0 {
 14738  				return Finish_started
 14739  			}
 14740  			return Need_more
 14741  		}
 14742  	}
 14743  
 14744  	return Block_done
 14745  }
 14746  
 14747  // ===========================================================================
 14748  // For Z_HUFFMAN_ONLY, do not look for matches.  Do not maintain a hash table.
 14749  // (It will be regenerated if this run of deflate switches away from Huffman.)
 14750  func deflate_huff(tls *libc.TLS, s uintptr, flush int32) Block_state { /* deflate.c:2130:19: */
 14751  	var bflush int32 // set if current block must be flushed
 14752  
 14753  	for {
 14754  		// Make sure that we have a literal to write.
 14755  		if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) {
 14756  			fill_window(tls, s)
 14757  			if (*Deflate_state)(unsafe.Pointer(s)).Flookahead == UInt(0) {
 14758  				if flush == Z_NO_FLUSH {
 14759  					return Need_more
 14760  				}
 14761  				break // flush the current block
 14762  			}
 14763  		}
 14764  
 14765  		// Output a literal byte
 14766  		(*Deflate_state)(unsafe.Pointer(s)).Fmatch_length = UInt(0)
 14767  
 14768  		{
 14769  			var cc Uch = *(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)))
 14770  			*(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ushf(0)
 14771  			*(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = cc
 14772  			*(*Ush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
 14773  			bflush = libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1))
 14774  		}
 14775  
 14776  		(*Deflate_state)(unsafe.Pointer(s)).Flookahead--
 14777  		(*Deflate_state)(unsafe.Pointer(s)).Fstrstart++
 14778  		if bflush != 0 {
 14779  			{
 14780  				X_tr_flush_block(tls, s, func() uintptr {
 14781  					if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14782  						return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14783  					}
 14784  					return uintptr(Z_NULL)
 14785  				}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
 14786  				(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14787  				flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14788  			}
 14789  			if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14790  				if 0 != 0 {
 14791  					return Finish_started
 14792  				}
 14793  				return Need_more
 14794  			}
 14795  		}
 14796  
 14797  	}
 14798  	(*Deflate_state)(unsafe.Pointer(s)).Finsert = UInt(0)
 14799  	if flush == Z_FINISH {
 14800  		{
 14801  			{
 14802  				X_tr_flush_block(tls, s, func() uintptr {
 14803  					if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14804  						return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14805  					}
 14806  					return uintptr(Z_NULL)
 14807  				}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 1)
 14808  				(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14809  				flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14810  			}
 14811  			if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14812  				if 1 != 0 {
 14813  					return Finish_started
 14814  				}
 14815  				return Need_more
 14816  			}
 14817  		}
 14818  
 14819  		return Finish_done
 14820  	}
 14821  	if (*Deflate_state)(unsafe.Pointer(s)).Flast_lit != 0 {
 14822  		{
 14823  			X_tr_flush_block(tls, s, func() uintptr {
 14824  				if (*Deflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
 14825  					return (*Deflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(uint32((*Deflate_state)(unsafe.Pointer(s)).Fblock_start))
 14826  				}
 14827  				return uintptr(Z_NULL)
 14828  			}(), Ulg(int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Deflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
 14829  			(*Deflate_state)(unsafe.Pointer(s)).Fblock_start = int64((*Deflate_state)(unsafe.Pointer(s)).Fstrstart)
 14830  			flush_pending(tls, (*Deflate_state)(unsafe.Pointer(s)).Fstrm)
 14831  		}
 14832  		if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == UInt(0) {
 14833  			if 0 != 0 {
 14834  				return Finish_started
 14835  			}
 14836  			return Need_more
 14837  		}
 14838  	}
 14839  
 14840  	return Block_done
 14841  }
 14842  
 14843  type Fpos_t = X__darwin_off_t /* _stdio.h:81:25 */
 14844  
 14845  // NB: to fit things in six character monocase externals, the stdio
 14846  // code uses the prefix `__s' for stdio objects, typically followed
 14847  // by a three-character attempt at a mnemonic.
 14848  
 14849  // stdio buffers
 14850  type X__sbuf = struct {
 14851  	F_base       uintptr
 14852  	F_size       int32
 14853  	F__ccgo_pad1 [4]byte
 14854  } /* _stdio.h:92:1 */
 14855  
 14856  // stdio state variables.
 14857  //
 14858  // The following always hold:
 14859  //
 14860  //	if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
 14861  //		_lbfsize is -_bf._size, else _lbfsize is 0
 14862  //	if _flags&__SRD, _w is 0
 14863  //	if _flags&__SWR, _r is 0
 14864  //
 14865  // This ensures that the getc and putc macros (or inline functions) never
 14866  // try to write or read from a file that is in `read' or `write' mode.
 14867  // (Moreover, they can, and do, automatically switch from read mode to
 14868  // write mode, and back, on "r+" and "w+" files.)
 14869  //
 14870  // _lbfsize is used only to make the inline line-buffered output stream
 14871  // code as compact as possible.
 14872  //
 14873  // _ub, _up, and _ur are used when ungetc() pushes back more characters
 14874  // than fit in the current _bf, or when ungetc() pushes back a character
 14875  // that does not match the previous one in _bf.  When this happens,
 14876  // _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
 14877  // _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
 14878  //
 14879  // NB: see WARNING above before changing the layout of this structure!
 14880  type X__sFILE = struct {
 14881  	F_p          uintptr
 14882  	F_r          int32
 14883  	F_w          int32
 14884  	F_flags      int16
 14885  	F_file       int16
 14886  	F__ccgo_pad1 [4]byte
 14887  	F_bf         struct {
 14888  		F_base       uintptr
 14889  		F_size       int32
 14890  		F__ccgo_pad1 [4]byte
 14891  	}
 14892  	F_lbfsize    int32
 14893  	F__ccgo_pad2 [4]byte
 14894  	F_cookie     uintptr
 14895  	F_close      uintptr
 14896  	F_read       uintptr
 14897  	F_seek       uintptr
 14898  	F_write      uintptr
 14899  	F_ub         struct {
 14900  		F_base       uintptr
 14901  		F_size       int32
 14902  		F__ccgo_pad1 [4]byte
 14903  	}
 14904  	F_extra uintptr
 14905  	F_ur    int32
 14906  	F_ubuf  [3]uint8
 14907  	F_nbuf  [1]uint8
 14908  	F_lb    struct {
 14909  		F_base       uintptr
 14910  		F_size       int32
 14911  		F__ccgo_pad1 [4]byte
 14912  	}
 14913  	F_blksize    int32
 14914  	F__ccgo_pad3 [4]byte
 14915  	F_offset     Fpos_t
 14916  } /* _stdio.h:126:9 */
 14917  
 14918  // stdio state variables.
 14919  //
 14920  // The following always hold:
 14921  //
 14922  //	if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
 14923  //		_lbfsize is -_bf._size, else _lbfsize is 0
 14924  //	if _flags&__SRD, _w is 0
 14925  //	if _flags&__SWR, _r is 0
 14926  //
 14927  // This ensures that the getc and putc macros (or inline functions) never
 14928  // try to write or read from a file that is in `read' or `write' mode.
 14929  // (Moreover, they can, and do, automatically switch from read mode to
 14930  // write mode, and back, on "r+" and "w+" files.)
 14931  //
 14932  // _lbfsize is used only to make the inline line-buffered output stream
 14933  // code as compact as possible.
 14934  //
 14935  // _ub, _up, and _ur are used when ungetc() pushes back more characters
 14936  // than fit in the current _bf, or when ungetc() pushes back a character
 14937  // that does not match the previous one in _bf.  When this happens,
 14938  // _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
 14939  // _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
 14940  //
 14941  // NB: see WARNING above before changing the layout of this structure!
 14942  type FILE = X__sFILE /* _stdio.h:157:3 */ // getsubopt(3) external variable
 14943  // valloc is now declared in _malloc.h
 14944  
 14945  // Poison the following routines if -fshort-wchar is set
 14946  
 14947  // Copyright (C) 1992-2021 Free Software Foundation, Inc.
 14948  //
 14949  // This file is part of GCC.
 14950  //
 14951  // GCC is free software; you can redistribute it and/or modify it under
 14952  // the terms of the GNU General Public License as published by the Free
 14953  // Software Foundation; either version 3, or (at your option) any later
 14954  // version.
 14955  //
 14956  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 14957  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 14958  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 14959  // for more details.
 14960  //
 14961  // Under Section 7 of GPL version 3, you are granted additional
 14962  // permissions described in the GCC Runtime Library Exception, version
 14963  // 3.1, as published by the Free Software Foundation.
 14964  //
 14965  // You should have received a copy of the GNU General Public License and
 14966  // a copy of the GCC Runtime Library Exception along with this program;
 14967  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 14968  // <http://www.gnu.org/licenses/>.
 14969  
 14970  // This administrivia gets added to the beginning of limits.h
 14971  //    if the system has its own version of limits.h.
 14972  
 14973  // We use _GCC_LIMITS_H_ because we want this not to match
 14974  //    any macros that the system's limits.h uses for its own purposes.
 14975  
 14976  // Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
 14977  //
 14978  // @APPLE_LICENSE_HEADER_START@
 14979  //
 14980  // This file contains Original Code and/or Modifications of Original Code
 14981  // as defined in and that are subject to the Apple Public Source License
 14982  // Version 2.0 (the 'License'). You may not use this file except in
 14983  // compliance with the License. Please obtain a copy of the License at
 14984  // http://www.opensource.apple.com/apsl/ and read it before using this
 14985  // file.
 14986  //
 14987  // The Original Code and all software distributed under the License are
 14988  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 14989  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 14990  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 14991  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 14992  // Please see the License for the specific language governing rights and
 14993  // limitations under the License.
 14994  //
 14995  // @APPLE_LICENSE_HEADER_END@
 14996  // Copyright (c) 2000-2013 Apple Inc. All rights reserved.
 14997  //
 14998  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 14999  //
 15000  // This file contains Original Code and/or Modifications of Original Code
 15001  // as defined in and that are subject to the Apple Public Source License
 15002  // Version 2.0 (the 'License'). You may not use this file except in
 15003  // compliance with the License. The rights granted to you under the License
 15004  // may not be used to create, or enable the creation or redistribution of,
 15005  // unlawful or unlicensed copies of an Apple operating system, or to
 15006  // circumvent, violate, or enable the circumvention or violation of, any
 15007  // terms of an Apple operating system software license agreement.
 15008  //
 15009  // Please obtain a copy of the License at
 15010  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15011  //
 15012  // The Original Code and all software distributed under the License are
 15013  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15014  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15015  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15016  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15017  // Please see the License for the specific language governing rights and
 15018  // limitations under the License.
 15019  //
 15020  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15021  // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
 15022  // -
 15023  // Copyright (c) 1983, 1990, 1993
 15024  //	The Regents of the University of California.  All rights reserved.
 15025  // (c) UNIX System Laboratories, Inc.
 15026  // All or some portions of this file are derived from material licensed
 15027  // to the University of California by American Telephone and Telegraph
 15028  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
 15029  // the permission of UNIX System Laboratories, Inc.
 15030  //
 15031  // Redistribution and use in source and binary forms, with or without
 15032  // modification, are permitted provided that the following conditions
 15033  // are met:
 15034  // 1. Redistributions of source code must retain the above copyright
 15035  //    notice, this list of conditions and the following disclaimer.
 15036  // 2. Redistributions in binary form must reproduce the above copyright
 15037  //    notice, this list of conditions and the following disclaimer in the
 15038  //    documentation and/or other materials provided with the distribution.
 15039  // 3. All advertising materials mentioning features or use of this software
 15040  //    must display the following acknowledgement:
 15041  //	This product includes software developed by the University of
 15042  //	California, Berkeley and its contributors.
 15043  // 4. Neither the name of the University nor the names of its contributors
 15044  //    may be used to endorse or promote products derived from this software
 15045  //    without specific prior written permission.
 15046  //
 15047  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 15048  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 15049  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 15050  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 15051  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 15052  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 15053  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 15054  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 15055  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 15056  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 15057  // SUCH DAMAGE.
 15058  //
 15059  //	@(#)fcntl.h	8.3 (Berkeley) 1/21/94
 15060  
 15061  // This file includes the definitions for open and fcntl
 15062  // described by POSIX for <fcntl.h>; it also includes
 15063  // related kernel definitions.
 15064  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
 15065  //
 15066  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15067  //
 15068  // This file contains Original Code and/or Modifications of Original Code
 15069  // as defined in and that are subject to the Apple Public Source License
 15070  // Version 2.0 (the 'License'). You may not use this file except in
 15071  // compliance with the License. The rights granted to you under the License
 15072  // may not be used to create, or enable the creation or redistribution of,
 15073  // unlawful or unlicensed copies of an Apple operating system, or to
 15074  // circumvent, violate, or enable the circumvention or violation of, any
 15075  // terms of an Apple operating system software license agreement.
 15076  //
 15077  // Please obtain a copy of the License at
 15078  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15079  //
 15080  // The Original Code and all software distributed under the License are
 15081  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15082  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15083  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15084  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15085  // Please see the License for the specific language governing rights and
 15086  // limitations under the License.
 15087  //
 15088  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15089  
 15090  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
 15091  //
 15092  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15093  //
 15094  // This file contains Original Code and/or Modifications of Original Code
 15095  // as defined in and that are subject to the Apple Public Source License
 15096  // Version 2.0 (the 'License'). You may not use this file except in
 15097  // compliance with the License. The rights granted to you under the License
 15098  // may not be used to create, or enable the creation or redistribution of,
 15099  // unlawful or unlicensed copies of an Apple operating system, or to
 15100  // circumvent, violate, or enable the circumvention or violation of, any
 15101  // terms of an Apple operating system software license agreement.
 15102  //
 15103  // Please obtain a copy of the License at
 15104  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15105  //
 15106  // The Original Code and all software distributed under the License are
 15107  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15108  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15109  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15110  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15111  // Please see the License for the specific language governing rights and
 15112  // limitations under the License.
 15113  //
 15114  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15115  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
 15116  // Copyright (c) 1991, 1993
 15117  //	The Regents of the University of California.  All rights reserved.
 15118  //
 15119  // This code is derived from software contributed to Berkeley by
 15120  // Berkeley Software Design, Inc.
 15121  //
 15122  // Redistribution and use in source and binary forms, with or without
 15123  // modification, are permitted provided that the following conditions
 15124  // are met:
 15125  // 1. Redistributions of source code must retain the above copyright
 15126  //    notice, this list of conditions and the following disclaimer.
 15127  // 2. Redistributions in binary form must reproduce the above copyright
 15128  //    notice, this list of conditions and the following disclaimer in the
 15129  //    documentation and/or other materials provided with the distribution.
 15130  // 3. All advertising materials mentioning features or use of this software
 15131  //    must display the following acknowledgement:
 15132  //	This product includes software developed by the University of
 15133  //	California, Berkeley and its contributors.
 15134  // 4. Neither the name of the University nor the names of its contributors
 15135  //    may be used to endorse or promote products derived from this software
 15136  //    without specific prior written permission.
 15137  //
 15138  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 15139  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 15140  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 15141  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 15142  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 15143  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 15144  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 15145  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 15146  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 15147  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 15148  // SUCH DAMAGE.
 15149  //
 15150  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
 15151  
 15152  // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
 15153  //
 15154  // @APPLE_LICENSE_HEADER_START@
 15155  //
 15156  // This file contains Original Code and/or Modifications of Original Code
 15157  // as defined in and that are subject to the Apple Public Source License
 15158  // Version 2.0 (the 'License'). You may not use this file except in
 15159  // compliance with the License. Please obtain a copy of the License at
 15160  // http://www.opensource.apple.com/apsl/ and read it before using this
 15161  // file.
 15162  //
 15163  // The Original Code and all software distributed under the License are
 15164  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15165  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15166  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15167  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15168  // Please see the License for the specific language governing rights and
 15169  // limitations under the License.
 15170  //
 15171  // @APPLE_LICENSE_HEADER_END@
 15172  
 15173  // We should not be exporting size_t here.  Temporary for gcc bootstrapping.
 15174  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 15175  //
 15176  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15177  //
 15178  // This file contains Original Code and/or Modifications of Original Code
 15179  // as defined in and that are subject to the Apple Public Source License
 15180  // Version 2.0 (the 'License'). You may not use this file except in
 15181  // compliance with the License. The rights granted to you under the License
 15182  // may not be used to create, or enable the creation or redistribution of,
 15183  // unlawful or unlicensed copies of an Apple operating system, or to
 15184  // circumvent, violate, or enable the circumvention or violation of, any
 15185  // terms of an Apple operating system software license agreement.
 15186  //
 15187  // Please obtain a copy of the License at
 15188  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15189  //
 15190  // The Original Code and all software distributed under the License are
 15191  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15192  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15193  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15194  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15195  // Please see the License for the specific language governing rights and
 15196  // limitations under the License.
 15197  //
 15198  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15199  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 15200  //
 15201  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15202  //
 15203  // This file contains Original Code and/or Modifications of Original Code
 15204  // as defined in and that are subject to the Apple Public Source License
 15205  // Version 2.0 (the 'License'). You may not use this file except in
 15206  // compliance with the License. The rights granted to you under the License
 15207  // may not be used to create, or enable the creation or redistribution of,
 15208  // unlawful or unlicensed copies of an Apple operating system, or to
 15209  // circumvent, violate, or enable the circumvention or violation of, any
 15210  // terms of an Apple operating system software license agreement.
 15211  //
 15212  // Please obtain a copy of the License at
 15213  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15214  //
 15215  // The Original Code and all software distributed under the License are
 15216  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15217  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15218  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15219  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15220  // Please see the License for the specific language governing rights and
 15221  // limitations under the License.
 15222  //
 15223  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15224  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 15225  //
 15226  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15227  //
 15228  // This file contains Original Code and/or Modifications of Original Code
 15229  // as defined in and that are subject to the Apple Public Source License
 15230  // Version 2.0 (the 'License'). You may not use this file except in
 15231  // compliance with the License. The rights granted to you under the License
 15232  // may not be used to create, or enable the creation or redistribution of,
 15233  // unlawful or unlicensed copies of an Apple operating system, or to
 15234  // circumvent, violate, or enable the circumvention or violation of, any
 15235  // terms of an Apple operating system software license agreement.
 15236  //
 15237  // Please obtain a copy of the License at
 15238  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15239  //
 15240  // The Original Code and all software distributed under the License are
 15241  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15242  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15243  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15244  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15245  // Please see the License for the specific language governing rights and
 15246  // limitations under the License.
 15247  //
 15248  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15249  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 15250  //
 15251  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15252  //
 15253  // This file contains Original Code and/or Modifications of Original Code
 15254  // as defined in and that are subject to the Apple Public Source License
 15255  // Version 2.0 (the 'License'). You may not use this file except in
 15256  // compliance with the License. The rights granted to you under the License
 15257  // may not be used to create, or enable the creation or redistribution of,
 15258  // unlawful or unlicensed copies of an Apple operating system, or to
 15259  // circumvent, violate, or enable the circumvention or violation of, any
 15260  // terms of an Apple operating system software license agreement.
 15261  //
 15262  // Please obtain a copy of the License at
 15263  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15264  //
 15265  // The Original Code and all software distributed under the License are
 15266  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15267  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15268  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15269  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15270  // Please see the License for the specific language governing rights and
 15271  // limitations under the License.
 15272  //
 15273  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15274  
 15275  // File status flags: these are used by open(2), fcntl(2).
 15276  // They are also used (indirectly) in the kernel file structure f_flags,
 15277  // which is a superset of the open/fcntl flags.  Open flags and f_flags
 15278  // are inter-convertible using OFLAGS(fflags) and FFLAGS(oflags).
 15279  // Open/fcntl flags begin with O_; kernel-internal flags begin with F.
 15280  // open-only flags
 15281  
 15282  // Kernel encoding of open mode; separate read and write bits that are
 15283  // independently testable: 1 greater than the above.
 15284  //
 15285  // XXX
 15286  // FREAD and FWRITE are excluded from the #ifdef KERNEL so that TIOCFLUSH,
 15287  // which was documented to use FREAD/FWRITE, continues to work.
 15288  
 15289  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 15290  //
 15291  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15292  //
 15293  // This file contains Original Code and/or Modifications of Original Code
 15294  // as defined in and that are subject to the Apple Public Source License
 15295  // Version 2.0 (the 'License'). You may not use this file except in
 15296  // compliance with the License. The rights granted to you under the License
 15297  // may not be used to create, or enable the creation or redistribution of,
 15298  // unlawful or unlicensed copies of an Apple operating system, or to
 15299  // circumvent, violate, or enable the circumvention or violation of, any
 15300  // terms of an Apple operating system software license agreement.
 15301  //
 15302  // Please obtain a copy of the License at
 15303  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15304  //
 15305  // The Original Code and all software distributed under the License are
 15306  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15307  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15308  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15309  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15310  // Please see the License for the specific language governing rights and
 15311  // limitations under the License.
 15312  //
 15313  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15314  
 15315  //      O_DSYNC         0x00400000      /* synch I/O data integrity */
 15316  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 15317  //
 15318  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15319  //
 15320  // This file contains Original Code and/or Modifications of Original Code
 15321  // as defined in and that are subject to the Apple Public Source License
 15322  // Version 2.0 (the 'License'). You may not use this file except in
 15323  // compliance with the License. The rights granted to you under the License
 15324  // may not be used to create, or enable the creation or redistribution of,
 15325  // unlawful or unlicensed copies of an Apple operating system, or to
 15326  // circumvent, violate, or enable the circumvention or violation of, any
 15327  // terms of an Apple operating system software license agreement.
 15328  //
 15329  // Please obtain a copy of the License at
 15330  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15331  //
 15332  // The Original Code and all software distributed under the License are
 15333  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15334  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15335  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15336  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15337  // Please see the License for the specific language governing rights and
 15338  // limitations under the License.
 15339  //
 15340  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15341  
 15342  // Descriptor value for the current working directory
 15343  
 15344  // Flags for the at functions
 15345  
 15346  // Data Protection Flags
 15347  
 15348  // The O_* flags used to have only F* names, which were used in the kernel
 15349  // and by fcntl.  We retain the F* names for the kernel f_flags field
 15350  // and for backward compatibility for fcntl.
 15351  
 15352  // Flags used for copyfile(2)
 15353  
 15354  // Constants used for fcntl(2)
 15355  
 15356  // command values
 15357  // 46,47 used to be F_READBOOTSTRAP and F_WRITEBOOTSTRAP
 15358  
 15359  // should not be used (i.e. its ok to temporaily create cached pages)
 15360  
 15361  // See F_DUPFD_CLOEXEC below for 67
 15362  
 15363  // may be broken into smaller chunks with throttling in between
 15364  
 15365  // FS-specific fcntl()'s numbers begin at 0x00010000 and go up
 15366  
 15367  // file descriptor flags (F_GETFD, F_SETFD)
 15368  
 15369  // record locking flags (F_GETLK, F_SETLK, F_SETLKW)
 15370  
 15371  // [XSI] The values used for l_whence shall be defined as described
 15372  // in <unistd.h>
 15373  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 15374  //
 15375  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15376  //
 15377  // This file contains Original Code and/or Modifications of Original Code
 15378  // as defined in and that are subject to the Apple Public Source License
 15379  // Version 2.0 (the 'License'). You may not use this file except in
 15380  // compliance with the License. The rights granted to you under the License
 15381  // may not be used to create, or enable the creation or redistribution of,
 15382  // unlawful or unlicensed copies of an Apple operating system, or to
 15383  // circumvent, violate, or enable the circumvention or violation of, any
 15384  // terms of an Apple operating system software license agreement.
 15385  //
 15386  // Please obtain a copy of the License at
 15387  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15388  //
 15389  // The Original Code and all software distributed under the License are
 15390  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15391  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15392  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15393  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15394  // Please see the License for the specific language governing rights and
 15395  // limitations under the License.
 15396  //
 15397  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15398  
 15399  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
 15400  //
 15401  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15402  //
 15403  // This file contains Original Code and/or Modifications of Original Code
 15404  // as defined in and that are subject to the Apple Public Source License
 15405  // Version 2.0 (the 'License'). You may not use this file except in
 15406  // compliance with the License. The rights granted to you under the License
 15407  // may not be used to create, or enable the creation or redistribution of,
 15408  // unlawful or unlicensed copies of an Apple operating system, or to
 15409  // circumvent, violate, or enable the circumvention or violation of, any
 15410  // terms of an Apple operating system software license agreement.
 15411  //
 15412  // Please obtain a copy of the License at
 15413  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15414  //
 15415  // The Original Code and all software distributed under the License are
 15416  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15417  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15418  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15419  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15420  // Please see the License for the specific language governing rights and
 15421  // limitations under the License.
 15422  //
 15423  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15424  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
 15425  // Copyright (c) 1991, 1993
 15426  //	The Regents of the University of California.  All rights reserved.
 15427  //
 15428  // This code is derived from software contributed to Berkeley by
 15429  // Berkeley Software Design, Inc.
 15430  //
 15431  // Redistribution and use in source and binary forms, with or without
 15432  // modification, are permitted provided that the following conditions
 15433  // are met:
 15434  // 1. Redistributions of source code must retain the above copyright
 15435  //    notice, this list of conditions and the following disclaimer.
 15436  // 2. Redistributions in binary form must reproduce the above copyright
 15437  //    notice, this list of conditions and the following disclaimer in the
 15438  //    documentation and/or other materials provided with the distribution.
 15439  // 3. All advertising materials mentioning features or use of this software
 15440  //    must display the following acknowledgement:
 15441  //	This product includes software developed by the University of
 15442  //	California, Berkeley and its contributors.
 15443  // 4. Neither the name of the University nor the names of its contributors
 15444  //    may be used to endorse or promote products derived from this software
 15445  //    without specific prior written permission.
 15446  //
 15447  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 15448  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 15449  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 15450  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 15451  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 15452  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 15453  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 15454  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 15455  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 15456  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 15457  // SUCH DAMAGE.
 15458  //
 15459  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
 15460  
 15461  // whence values for lseek(2)
 15462  
 15463  // [XSI] The symbolic names for file modes for use as values of mode_t
 15464  // shall be defined as described in <sys/stat.h>
 15465  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 15466  //
 15467  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15468  //
 15469  // This file contains Original Code and/or Modifications of Original Code
 15470  // as defined in and that are subject to the Apple Public Source License
 15471  // Version 2.0 (the 'License'). You may not use this file except in
 15472  // compliance with the License. The rights granted to you under the License
 15473  // may not be used to create, or enable the creation or redistribution of,
 15474  // unlawful or unlicensed copies of an Apple operating system, or to
 15475  // circumvent, violate, or enable the circumvention or violation of, any
 15476  // terms of an Apple operating system software license agreement.
 15477  //
 15478  // Please obtain a copy of the License at
 15479  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15480  //
 15481  // The Original Code and all software distributed under the License are
 15482  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15483  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15484  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15485  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15486  // Please see the License for the specific language governing rights and
 15487  // limitations under the License.
 15488  //
 15489  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15490  
 15491  // [XSI] The symbolic names for file modes for use as values of mode_t
 15492  // shall be defined as described in <sys/stat.h>
 15493  // File type
 15494  
 15495  // File mode
 15496  // Read, write, execute/search by owner
 15497  // Read, write, execute/search by group
 15498  // Read, write, execute/search by others
 15499  
 15500  // allocate flags (F_PREALLOCATE)
 15501  
 15502  // Position Modes (fst_posmode) for F_PREALLOCATE
 15503  
 15504  // we can keep them in sync should we desire
 15505  
 15506  // Advisory file segment locking data type -
 15507  // information passed to system by user
 15508  type Flock = struct {
 15509  	Fl_start  Off_t
 15510  	Fl_len    Off_t
 15511  	Fl_pid    Pid_t
 15512  	Fl_type   int16
 15513  	Fl_whence int16
 15514  } /* fcntl.h:359:1 */
 15515  
 15516  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
 15517  //
 15518  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
 15519  //
 15520  // This file contains Original Code and/or Modifications of Original Code
 15521  // as defined in and that are subject to the Apple Public Source License
 15522  // Version 2.0 (the 'License'). You may not use this file except in
 15523  // compliance with the License. The rights granted to you under the License
 15524  // may not be used to create, or enable the creation or redistribution of,
 15525  // unlawful or unlicensed copies of an Apple operating system, or to
 15526  // circumvent, violate, or enable the circumvention or violation of, any
 15527  // terms of an Apple operating system software license agreement.
 15528  //
 15529  // Please obtain a copy of the License at
 15530  // http://www.opensource.apple.com/apsl/ and read it before using this file.
 15531  //
 15532  // The Original Code and all software distributed under the License are
 15533  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 15534  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 15535  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 15536  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 15537  // Please see the License for the specific language governing rights and
 15538  // limitations under the License.
 15539  //
 15540  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
 15541  
 15542  // Advisory file segment locking with time out -
 15543  // Information passed to system by user for F_SETLKWTIMEOUT
 15544  type Flocktimeout = struct {
 15545  	Ffl struct {
 15546  		Fl_start  Off_t
 15547  		Fl_len    Off_t
 15548  		Fl_pid    Pid_t
 15549  		Fl_type   int16
 15550  		Fl_whence int16
 15551  	}
 15552  	Ftimeout struct {
 15553  		Ftv_sec  X__darwin_time_t
 15554  		Ftv_nsec int64
 15555  	}
 15556  } /* fcntl.h:374:1 */
 15557  
 15558  // advisory file read data type -
 15559  // information passed by user to system
 15560  
 15561  type Radvisory = struct {
 15562  	Fra_offset   Off_t
 15563  	Fra_count    int32
 15564  	F__ccgo_pad1 [4]byte
 15565  } /* fcntl.h:387:1 */
 15566  
 15567  // detached code signatures data type -
 15568  // information passed by user to system used by F_ADDSIGS and F_ADDFILESIGS.
 15569  // F_ADDFILESIGS is a shortcut for files that contain their own signature and
 15570  // doesn't require mapping of the file in order to load the signature.
 15571  type Fsignatures = struct {
 15572  	Ffs_file_start       Off_t
 15573  	Ffs_blob_start       uintptr
 15574  	Ffs_blob_size        Size_t
 15575  	Ffs_fsignatures_size Size_t
 15576  	Ffs_cdhash           [20]int8
 15577  	Ffs_hash_type        int32
 15578  } /* fcntl.h:400:9 */
 15579  
 15580  // detached code signatures data type -
 15581  // information passed by user to system used by F_ADDSIGS and F_ADDFILESIGS.
 15582  // F_ADDFILESIGS is a shortcut for files that contain their own signature and
 15583  // doesn't require mapping of the file in order to load the signature.
 15584  type Fsignatures_t = Fsignatures /* fcntl.h:410:3 */
 15585  
 15586  type Fsupplement = struct {
 15587  	Ffs_file_start Off_t
 15588  	Ffs_blob_start Off_t
 15589  	Ffs_blob_size  Size_t
 15590  	Ffs_orig_fd    int32
 15591  	F__ccgo_pad1   [4]byte
 15592  } /* fcntl.h:412:9 */
 15593  
 15594  type Fsupplement_t = Fsupplement /* fcntl.h:417:3 */
 15595  
 15596  // DYLD needs to check if the object is allowed to be combined
 15597  // into the main binary. This is done between the code signature
 15598  // is loaded and dyld is doing all the work to process the LOAD commands.
 15599  //
 15600  // While this could be done in F_ADDFILESIGS.* family the hook into
 15601  // the MAC module doesn't say no when LV isn't enabled and then that
 15602  // is cached on the vnode, and the MAC module never gets change once
 15603  // a process that library validation enabled.
 15604  type Fchecklv = struct {
 15605  	Flv_file_start         Off_t
 15606  	Flv_error_message_size Size_t
 15607  	Flv_error_message      uintptr
 15608  } /* fcntl.h:431:9 */
 15609  
 15610  // DYLD needs to check if the object is allowed to be combined
 15611  // into the main binary. This is done between the code signature
 15612  // is loaded and dyld is doing all the work to process the LOAD commands.
 15613  //
 15614  // While this could be done in F_ADDFILESIGS.* family the hook into
 15615  // the MAC module doesn't say no when LV isn't enabled and then that
 15616  // is cached on the vnode, and the MAC module never gets change once
 15617  // a process that library validation enabled.
 15618  type Fchecklv_t = Fchecklv /* fcntl.h:435:3 */
 15619  
 15620  // At this time F_GETSIGSINFO can only indicate platformness.
 15621  //  As additional requestable information is defined, new keys will be added and the
 15622  //  fgetsigsinfo_t structure will be lengthened to add space for the additional information
 15623  
 15624  // fgetsigsinfo_t used by F_GETSIGSINFO command
 15625  type Fgetsigsinfo = struct {
 15626  	Ffg_file_start      Off_t
 15627  	Ffg_info_request    int32
 15628  	Ffg_sig_is_platform int32
 15629  } /* fcntl.h:445:9 */
 15630  
 15631  // At this time F_GETSIGSINFO can only indicate platformness.
 15632  //  As additional requestable information is defined, new keys will be added and the
 15633  //  fgetsigsinfo_t structure will be lengthened to add space for the additional information
 15634  
 15635  // fgetsigsinfo_t used by F_GETSIGSINFO command
 15636  type Fgetsigsinfo_t = Fgetsigsinfo /* fcntl.h:449:3 */
 15637  
 15638  // lock operations for flock(2)
 15639  
 15640  // fstore_t type used by F_PREALLOCATE command
 15641  
 15642  type Fstore = struct {
 15643  	Ffst_flags      uint32
 15644  	Ffst_posmode    int32
 15645  	Ffst_offset     Off_t
 15646  	Ffst_length     Off_t
 15647  	Ffst_bytesalloc Off_t
 15648  } /* fcntl.h:460:9 */
 15649  
 15650  // lock operations for flock(2)
 15651  
 15652  // fstore_t type used by F_PREALLOCATE command
 15653  
 15654  type Fstore_t = Fstore /* fcntl.h:466:3 */
 15655  
 15656  // fpunchhole_t used by F_PUNCHHOLE
 15657  type Fpunchhole = struct {
 15658  	Ffp_flags  uint32
 15659  	Freserved  uint32
 15660  	Ffp_offset Off_t
 15661  	Ffp_length Off_t
 15662  } /* fcntl.h:469:9 */
 15663  
 15664  // fpunchhole_t used by F_PUNCHHOLE
 15665  type Fpunchhole_t = Fpunchhole /* fcntl.h:474:3 */
 15666  
 15667  // factive_file_trim_t used by F_TRIM_ACTIVE_FILE
 15668  type Ftrimactivefile = struct {
 15669  	Ffta_offset Off_t
 15670  	Ffta_length Off_t
 15671  } /* fcntl.h:477:9 */
 15672  
 15673  // factive_file_trim_t used by F_TRIM_ACTIVE_FILE
 15674  type Ftrimactivefile_t = Ftrimactivefile /* fcntl.h:480:3 */
 15675  
 15676  // fspecread_t used by F_SPECULATIVE_READ
 15677  type Fspecread = struct {
 15678  	Ffsr_flags  uint32
 15679  	Freserved   uint32
 15680  	Ffsr_offset Off_t
 15681  	Ffsr_length Off_t
 15682  } /* fcntl.h:483:9 */
 15683  
 15684  // fspecread_t used by F_SPECULATIVE_READ
 15685  type Fspecread_t = Fspecread /* fcntl.h:488:3 */
 15686  
 15687  // fbootstraptransfer_t used by F_READBOOTSTRAP and F_WRITEBOOTSTRAP commands
 15688  
 15689  type Fbootstraptransfer = struct {
 15690  	Ffbt_offset Off_t
 15691  	Ffbt_length Size_t
 15692  	Ffbt_buffer uintptr
 15693  } /* fcntl.h:492:9 */
 15694  
 15695  // fbootstraptransfer_t used by F_READBOOTSTRAP and F_WRITEBOOTSTRAP commands
 15696  
 15697  type Fbootstraptransfer_t = Fbootstraptransfer /* fcntl.h:496:3 */
 15698  
 15699  // For F_LOG2PHYS this information is passed back to user
 15700  // Currently only devoffset is returned - that is the VOP_BMAP
 15701  // result - the disk device address corresponding to the
 15702  // current file offset (likely set with an lseek).
 15703  //
 15704  // The flags could hold an indication of whether the # of
 15705  // contiguous bytes reflects the true extent length on disk,
 15706  // or is an advisory value that indicates there is at least that
 15707  // many bytes contiguous.  For some filesystems it might be too
 15708  // inefficient to provide anything beyond the advisory value.
 15709  // Flags and contiguous bytes return values are not yet implemented.
 15710  // For them the fcntl will nedd to switch from using BMAP to CMAP
 15711  // and a per filesystem type flag will be needed to interpret the
 15712  // contiguous bytes count result from CMAP.
 15713  //
 15714  // F_LOG2PHYS_EXT is a variant of F_LOG2PHYS that uses a passed in
 15715  // file offset and length instead of the current file offset.
 15716  // F_LOG2PHYS_EXT operates on the same structure as F_LOG2PHYS, but
 15717  // treats it as an in/out.
 15718  
 15719  type Log2phys = struct {
 15720  	Fl2p_flags       uint32
 15721  	F__ccgo_pad1     [4]byte
 15722  	Fl2p_contigbytes Off_t
 15723  	Fl2p_devoffset   Off_t
 15724  } /* fcntl.h:522:1 */
 15725  
 15726  type Filesec_t = uintptr /* _filesec_t.h:31:25 */
 15727  
 15728  type Filesec_property_t = uint32 /* fcntl.h:556:3 */
 15729  
 15730  // default memLevel
 15731  
 15732  // default i/o buffer size -- double this for output when reading (this and
 15733  //    twice this must be able to fit in an unsigned type)
 15734  
 15735  // gzip modes, also provide a little integrity check on the passed structure
 15736  
 15737  // values for gz_state how
 15738  
 15739  // internal gzip file state data structure
 15740  type Gz_state = struct {
 15741  	Fx        GzFile_s
 15742  	Fmode     int32
 15743  	Ffd       int32
 15744  	Fpath     uintptr
 15745  	Fsize     uint32
 15746  	Fwant     uint32
 15747  	Fin       uintptr
 15748  	Fout      uintptr
 15749  	Fdirect   int32
 15750  	Fhow      int32
 15751  	Fstart    Off_t
 15752  	Feof      int32
 15753  	Fpast     int32
 15754  	Flevel    int32
 15755  	Fstrategy int32
 15756  	Fskip     Off_t
 15757  	Fseek     int32
 15758  	Ferr      int32
 15759  	Fmsg      uintptr
 15760  	Fstrm     Z_stream
 15761  }                        /* gzguts.h:201:3 */
 15762  type Gz_statep = uintptr /* gzguts.h:202:22 */
 15763  
 15764  // GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t
 15765  //    value -- needed when comparing unsigned to z_off64_t, which is signed
 15766  //    (possible z_off64_t types off_t, off64_t, and long are all signed)
 15767  
 15768  // gzclose() is in a separate file so that it is linked in only if it is used.
 15769  //    That way the other gzclose functions can be used instead to avoid linking in
 15770  //    unneeded compression or decompression routines.
 15771  func Xgzclose(tls *libc.TLS, file GzFile) int32 { /* gzclose.c:11:13: */
 15772  	var state Gz_statep
 15773  
 15774  	if file == uintptr(0) {
 15775  		return -2
 15776  	}
 15777  	state = file
 15778  
 15779  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ {
 15780  		return Xgzclose_r(tls, file)
 15781  	}
 15782  	return Xgzclose_w(tls, file)
 15783  }
 15784  
 15785  // Reset gzip file state
 15786  func gz_reset(tls *libc.TLS, state Gz_statep) { /* gzlib.c:75:12: */
 15787  	(*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)  // no output data available
 15788  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ { // for reading ...
 15789  		(*Gz_state)(unsafe.Pointer(state)).Feof = 0    // not at end of file
 15790  		(*Gz_state)(unsafe.Pointer(state)).Fpast = 0   // have not read past end yet
 15791  		(*Gz_state)(unsafe.Pointer(state)).Fhow = LOOK // look for gzip header
 15792  	}
 15793  	(*Gz_state)(unsafe.Pointer(state)).Fseek = 0                 // no seek request pending
 15794  	Xgz_error(tls, state, Z_OK, uintptr(0))                      // clear error
 15795  	(*Gz_state)(unsafe.Pointer(state)).Fx.Fpos = int64(0)        // no uncompressed data yet
 15796  	(*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = UInt(0) // no input data yet
 15797  }
 15798  
 15799  // Open a gzip file either by name or file descriptor.
 15800  func gz_open(tls *libc.TLS, path uintptr, fd int32, mode uintptr) GzFile { /* gzlib.c:91:14: */
 15801  	bp := tls.Alloc(16)
 15802  	defer tls.Free(16)
 15803  
 15804  	var state Gz_statep
 15805  	var len Z_size_t
 15806  	var oflag int32
 15807  	var cloexec int32 = 0
 15808  	var exclusive int32 = 0
 15809  
 15810  	// check input
 15811  	if path == uintptr(0) {
 15812  		return uintptr(0)
 15813  	}
 15814  
 15815  	// allocate gzFile structure to return
 15816  	state = libc.Xmalloc(tls, uint64(unsafe.Sizeof(Gz_state{})))
 15817  	if state == uintptr(0) {
 15818  		return uintptr(0)
 15819  	}
 15820  	(*Gz_state)(unsafe.Pointer(state)).Fsize = uint32(0)         // no buffers allocated yet
 15821  	(*Gz_state)(unsafe.Pointer(state)).Fwant = uint32(GZBUFSIZE) // requested buffer size
 15822  	(*Gz_state)(unsafe.Pointer(state)).Fmsg = uintptr(0)         // no error message yet
 15823  
 15824  	// interpret mode
 15825  	(*Gz_state)(unsafe.Pointer(state)).Fmode = GZ_NONE
 15826  	(*Gz_state)(unsafe.Pointer(state)).Flevel = -1
 15827  	(*Gz_state)(unsafe.Pointer(state)).Fstrategy = Z_DEFAULT_STRATEGY
 15828  	(*Gz_state)(unsafe.Pointer(state)).Fdirect = 0
 15829  	for *(*int8)(unsafe.Pointer(mode)) != 0 {
 15830  		if int32(*(*int8)(unsafe.Pointer(mode))) >= '0' && int32(*(*int8)(unsafe.Pointer(mode))) <= '9' {
 15831  			(*Gz_state)(unsafe.Pointer(state)).Flevel = int32(*(*int8)(unsafe.Pointer(mode))) - '0'
 15832  		} else {
 15833  			switch int32(*(*int8)(unsafe.Pointer(mode))) {
 15834  			case 'r':
 15835  				(*Gz_state)(unsafe.Pointer(state)).Fmode = GZ_READ
 15836  				break
 15837  				fallthrough
 15838  			case 'w':
 15839  				(*Gz_state)(unsafe.Pointer(state)).Fmode = GZ_WRITE
 15840  				break
 15841  				fallthrough
 15842  			case 'a':
 15843  				(*Gz_state)(unsafe.Pointer(state)).Fmode = GZ_APPEND
 15844  				break
 15845  				fallthrough
 15846  			case '+': // can't read and write at the same time
 15847  				libc.Xfree(tls, state)
 15848  				return uintptr(0)
 15849  				fallthrough
 15850  			case 'b': // ignore -- will request binary anyway
 15851  				break
 15852  				fallthrough
 15853  			case 'e':
 15854  				cloexec = 1
 15855  				break
 15856  				fallthrough
 15857  			case 'x':
 15858  				exclusive = 1
 15859  				break
 15860  				fallthrough
 15861  			case 'f':
 15862  				(*Gz_state)(unsafe.Pointer(state)).Fstrategy = Z_FILTERED
 15863  				break
 15864  				fallthrough
 15865  			case 'h':
 15866  				(*Gz_state)(unsafe.Pointer(state)).Fstrategy = Z_HUFFMAN_ONLY
 15867  				break
 15868  				fallthrough
 15869  			case 'R':
 15870  				(*Gz_state)(unsafe.Pointer(state)).Fstrategy = Z_RLE
 15871  				break
 15872  				fallthrough
 15873  			case 'F':
 15874  				(*Gz_state)(unsafe.Pointer(state)).Fstrategy = Z_FIXED
 15875  				break
 15876  				fallthrough
 15877  			case 'T':
 15878  				(*Gz_state)(unsafe.Pointer(state)).Fdirect = 1
 15879  				break
 15880  				fallthrough
 15881  			default: // could consider as an error, but just ignore
 15882  
 15883  			}
 15884  		}
 15885  		mode++
 15886  	}
 15887  
 15888  	// must provide an "r", "w", or "a"
 15889  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_NONE {
 15890  		libc.Xfree(tls, state)
 15891  		return uintptr(0)
 15892  	}
 15893  
 15894  	// can't force transparent read
 15895  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ {
 15896  		if (*Gz_state)(unsafe.Pointer(state)).Fdirect != 0 {
 15897  			libc.Xfree(tls, state)
 15898  			return uintptr(0)
 15899  		}
 15900  		(*Gz_state)(unsafe.Pointer(state)).Fdirect = 1 // for empty file
 15901  	}
 15902  
 15903  	// save the path name for error messages
 15904  	len = libc.Xstrlen(tls, path)
 15905  	(*Gz_state)(unsafe.Pointer(state)).Fpath = libc.Xmalloc(tls, len+uint64(1))
 15906  	if (*Gz_state)(unsafe.Pointer(state)).Fpath == uintptr(0) {
 15907  		libc.Xfree(tls, state)
 15908  		return uintptr(0)
 15909  	}
 15910  	libc.X__builtin___snprintf_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath, len+uint64(1), 0, libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath, func() int32 {
 15911  		if X_USE_FORTIFY_LEVEL > 1 {
 15912  			return 1
 15913  		}
 15914  		return 0
 15915  	}()), ts+76 /* "%s" */, libc.VaList(bp, path))
 15916  
 15917  	// compute the flags for open()
 15918  	oflag = func() int32 {
 15919  		if cloexec != 0 {
 15920  			return O_CLOEXEC
 15921  		}
 15922  		return 0
 15923  	}() | func() int32 {
 15924  		if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ {
 15925  			return O_RDONLY
 15926  		}
 15927  		return O_WRONLY | O_CREAT | func() int32 {
 15928  			if exclusive != 0 {
 15929  				return O_EXCL
 15930  			}
 15931  			return 0
 15932  		}() | func() int32 {
 15933  			if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_WRITE {
 15934  				return O_TRUNC
 15935  			}
 15936  			return O_APPEND
 15937  		}()
 15938  	}()
 15939  
 15940  	// open the file with the appropriate flags (or just use fd)
 15941  	(*Gz_state)(unsafe.Pointer(state)).Ffd = func() int32 {
 15942  		if fd > -1 {
 15943  			return fd
 15944  		}
 15945  		return libc.Xopen(tls, path, oflag, libc.VaList(bp+8, 0666))
 15946  	}()
 15947  	if (*Gz_state)(unsafe.Pointer(state)).Ffd == -1 {
 15948  		libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath)
 15949  		libc.Xfree(tls, state)
 15950  		return uintptr(0)
 15951  	}
 15952  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_APPEND {
 15953  		libc.Xlseek(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, int64(0), SEEK_END) // so gzoffset() is correct
 15954  		(*Gz_state)(unsafe.Pointer(state)).Fmode = GZ_WRITE                          // simplify later checks
 15955  	}
 15956  
 15957  	// save the current position for rewinding (only if reading)
 15958  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ {
 15959  		(*Gz_state)(unsafe.Pointer(state)).Fstart = libc.Xlseek(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, int64(0), SEEK_CUR)
 15960  		if (*Gz_state)(unsafe.Pointer(state)).Fstart == int64(-1) {
 15961  			(*Gz_state)(unsafe.Pointer(state)).Fstart = int64(0)
 15962  		}
 15963  	}
 15964  
 15965  	// initialize stream
 15966  	gz_reset(tls, state)
 15967  
 15968  	// return stream
 15969  	return state
 15970  }
 15971  
 15972  // -- see zlib.h --
 15973  func Xgzopen(tls *libc.TLS, path uintptr, mode uintptr) GzFile { /* gzlib.c:270:16: */
 15974  	return gz_open(tls, path, -1, mode)
 15975  }
 15976  
 15977  // -- see zlib.h --
 15978  func Xgzopen64(tls *libc.TLS, path uintptr, mode uintptr) GzFile { /* gzlib.c:278:16: */
 15979  	return gz_open(tls, path, -1, mode)
 15980  }
 15981  
 15982  // -- see zlib.h --
 15983  func Xgzdopen(tls *libc.TLS, fd int32, mode uintptr) GzFile { /* gzlib.c:286:16: */
 15984  	bp := tls.Alloc(8)
 15985  	defer tls.Free(8)
 15986  
 15987  	var path uintptr // identifier for error messages
 15988  	var gz GzFile
 15989  
 15990  	if fd == -1 || libc.AssignUintptr(&path, libc.Xmalloc(tls, uint64(7)+uint64(3)*uint64(unsafe.Sizeof(int32(0))))) == uintptr(0) {
 15991  		return uintptr(0)
 15992  	}
 15993  	libc.X__builtin___snprintf_chk(tls, path, uint64(7)+uint64(3)*uint64(unsafe.Sizeof(int32(0))), 0, libc.X__builtin_object_size(tls, path, func() int32 {
 15994  		if X_USE_FORTIFY_LEVEL > 1 {
 15995  			return 1
 15996  		}
 15997  		return 0
 15998  	}()), ts+79 /* "<fd:%d>" */, libc.VaList(bp, fd))
 15999  	gz = gz_open(tls, path, fd, mode)
 16000  	libc.Xfree(tls, path)
 16001  	return gz
 16002  }
 16003  
 16004  // -- see zlib.h --
 16005  
 16006  // -- see zlib.h --
 16007  func Xgzbuffer(tls *libc.TLS, file GzFile, size uint32) int32 { /* gzlib.c:316:13: */
 16008  	var state Gz_statep
 16009  
 16010  	// get internal structure and check integrity
 16011  	if file == uintptr(0) {
 16012  		return -1
 16013  	}
 16014  	state = file
 16015  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE {
 16016  		return -1
 16017  	}
 16018  
 16019  	// make sure we haven't already allocated memory
 16020  	if (*Gz_state)(unsafe.Pointer(state)).Fsize != uint32(0) {
 16021  		return -1
 16022  	}
 16023  
 16024  	// check and set requested size
 16025  	if size<<1 < size {
 16026  		return -1
 16027  	} // need to be able to double it
 16028  	if size < uint32(2) {
 16029  		size = uint32(2)
 16030  	} // need two bytes to check magic header
 16031  	(*Gz_state)(unsafe.Pointer(state)).Fwant = size
 16032  	return 0
 16033  }
 16034  
 16035  // -- see zlib.h --
 16036  func Xgzrewind(tls *libc.TLS, file GzFile) int32 { /* gzlib.c:343:13: */
 16037  	var state Gz_statep
 16038  
 16039  	// get internal structure
 16040  	if file == uintptr(0) {
 16041  		return -1
 16042  	}
 16043  	state = file
 16044  
 16045  	// check that we're reading and that there's no error
 16046  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 {
 16047  		return -1
 16048  	}
 16049  
 16050  	// back up and start over
 16051  	if libc.Xlseek(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, (*Gz_state)(unsafe.Pointer(state)).Fstart, SEEK_SET) == int64(-1) {
 16052  		return -1
 16053  	}
 16054  	gz_reset(tls, state)
 16055  	return 0
 16056  }
 16057  
 16058  // -- see zlib.h --
 16059  func Xgzseek64(tls *libc.TLS, file GzFile, offset Off_t, whence int32) Off_t { /* gzlib.c:366:19: */
 16060  	var n uint32
 16061  	var ret Off_t
 16062  	var state Gz_statep
 16063  
 16064  	// get internal structure and check integrity
 16065  	if file == uintptr(0) {
 16066  		return int64(-1)
 16067  	}
 16068  	state = file
 16069  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE {
 16070  		return int64(-1)
 16071  	}
 16072  
 16073  	// check that there's no error
 16074  	if (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 {
 16075  		return int64(-1)
 16076  	}
 16077  
 16078  	// can only seek from start or relative to current position
 16079  	if whence != SEEK_SET && whence != SEEK_CUR {
 16080  		return int64(-1)
 16081  	}
 16082  
 16083  	// normalize offset to a SEEK_CUR specification
 16084  	if whence == SEEK_SET {
 16085  		offset = offset - (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos
 16086  	} else if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 {
 16087  		offset = offset + (*Gz_state)(unsafe.Pointer(state)).Fskip
 16088  	}
 16089  	(*Gz_state)(unsafe.Pointer(state)).Fseek = 0
 16090  
 16091  	// if within raw area while reading, just go there
 16092  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fhow == COPY1 && (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos+offset >= int64(0) {
 16093  		ret = libc.Xlseek(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, offset-Off_t((*Gz_state)(unsafe.Pointer(state)).Fx.Fhave), SEEK_CUR)
 16094  		if ret == int64(-1) {
 16095  			return int64(-1)
 16096  		}
 16097  		(*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
 16098  		(*Gz_state)(unsafe.Pointer(state)).Feof = 0
 16099  		(*Gz_state)(unsafe.Pointer(state)).Fpast = 0
 16100  		(*Gz_state)(unsafe.Pointer(state)).Fseek = 0
 16101  		Xgz_error(tls, state, Z_OK, uintptr(0))
 16102  		(*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = UInt(0)
 16103  		*(*Off_t)(unsafe.Pointer(state + 16)) += offset
 16104  		return (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos
 16105  	}
 16106  
 16107  	// calculate skip amount, rewinding if needed for back seek when reading
 16108  	if offset < int64(0) {
 16109  		if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ { // writing -- can't go backwards
 16110  			return int64(-1)
 16111  		}
 16112  		offset = offset + (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos
 16113  		if offset < int64(0) { // before start of file!
 16114  			return int64(-1)
 16115  		}
 16116  		if Xgzrewind(tls, file) == -1 { // rewind, then skip to offset
 16117  			return int64(-1)
 16118  		}
 16119  	}
 16120  
 16121  	// if reading, skip what's in output buffer (one less gzgetc() check)
 16122  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ {
 16123  		if uint64(unsafe.Sizeof(int32(0))) == uint64(unsafe.Sizeof(Off_t(0))) && (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave > uint32(0x7fffffff) || Off_t((*Gz_state)(unsafe.Pointer(state)).Fx.Fhave) > offset {
 16124  			n = uint32(offset)
 16125  		} else {
 16126  			n = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave
 16127  		}
 16128  		*(*uint32)(unsafe.Pointer(state)) -= n
 16129  		*(*uintptr)(unsafe.Pointer(state + 8)) += uintptr(n)
 16130  		*(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(n)
 16131  		offset = offset - Off_t(n)
 16132  	}
 16133  
 16134  	// request skip (if not zero)
 16135  	if offset != 0 {
 16136  		(*Gz_state)(unsafe.Pointer(state)).Fseek = 1
 16137  		(*Gz_state)(unsafe.Pointer(state)).Fskip = offset
 16138  	}
 16139  	return (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos + offset
 16140  }
 16141  
 16142  // -- see zlib.h --
 16143  func Xgzseek(tls *libc.TLS, file GzFile, offset Off_t, whence int32) Off_t { /* gzlib.c:443:17: */
 16144  	var ret Off_t
 16145  
 16146  	ret = Xgzseek64(tls, file, offset, whence)
 16147  	if ret == ret {
 16148  		return ret
 16149  	}
 16150  	return int64(-1)
 16151  }
 16152  
 16153  // -- see zlib.h --
 16154  func Xgztell64(tls *libc.TLS, file GzFile) Off_t { /* gzlib.c:455:19: */
 16155  	var state Gz_statep
 16156  
 16157  	// get internal structure and check integrity
 16158  	if file == uintptr(0) {
 16159  		return int64(-1)
 16160  	}
 16161  	state = file
 16162  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE {
 16163  		return int64(-1)
 16164  	}
 16165  
 16166  	// return position
 16167  	return (*Gz_state)(unsafe.Pointer(state)).Fx.Fpos + func() int64 {
 16168  		if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 {
 16169  			return (*Gz_state)(unsafe.Pointer(state)).Fskip
 16170  		}
 16171  		return int64(0)
 16172  	}()
 16173  }
 16174  
 16175  // -- see zlib.h --
 16176  func Xgztell(tls *libc.TLS, file GzFile) Off_t { /* gzlib.c:472:17: */
 16177  	var ret Off_t
 16178  
 16179  	ret = Xgztell64(tls, file)
 16180  	if ret == ret {
 16181  		return ret
 16182  	}
 16183  	return int64(-1)
 16184  }
 16185  
 16186  // -- see zlib.h --
 16187  func Xgzoffset64(tls *libc.TLS, file GzFile) Off_t { /* gzlib.c:482:19: */
 16188  	var offset Off_t
 16189  	var state Gz_statep
 16190  
 16191  	// get internal structure and check integrity
 16192  	if file == uintptr(0) {
 16193  		return int64(-1)
 16194  	}
 16195  	state = file
 16196  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE {
 16197  		return int64(-1)
 16198  	}
 16199  
 16200  	// compute and return effective offset in file
 16201  	offset = libc.Xlseek(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, int64(0), SEEK_CUR)
 16202  	if offset == int64(-1) {
 16203  		return int64(-1)
 16204  	}
 16205  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ { // reading
 16206  		offset = offset - Off_t((*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)
 16207  	} // don't count buffered input
 16208  	return offset
 16209  }
 16210  
 16211  // -- see zlib.h --
 16212  func Xgzoffset(tls *libc.TLS, file GzFile) Off_t { /* gzlib.c:505:17: */
 16213  	var ret Off_t
 16214  
 16215  	ret = Xgzoffset64(tls, file)
 16216  	if ret == ret {
 16217  		return ret
 16218  	}
 16219  	return int64(-1)
 16220  }
 16221  
 16222  // -- see zlib.h --
 16223  func Xgzeof(tls *libc.TLS, file GzFile) int32 { /* gzlib.c:515:13: */
 16224  	var state Gz_statep
 16225  
 16226  	// get internal structure and check integrity
 16227  	if file == uintptr(0) {
 16228  		return 0
 16229  	}
 16230  	state = file
 16231  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE {
 16232  		return 0
 16233  	}
 16234  
 16235  	// return end-of-file state
 16236  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ {
 16237  		return (*Gz_state)(unsafe.Pointer(state)).Fpast
 16238  	}
 16239  	return 0
 16240  }
 16241  
 16242  // -- see zlib.h --
 16243  func Xgzerror(tls *libc.TLS, file GzFile, errnum uintptr) uintptr { /* gzlib.c:532:12: */
 16244  	var state Gz_statep
 16245  
 16246  	// get internal structure and check integrity
 16247  	if file == uintptr(0) {
 16248  		return uintptr(0)
 16249  	}
 16250  	state = file
 16251  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE {
 16252  		return uintptr(0)
 16253  	}
 16254  
 16255  	// return error information
 16256  	if errnum != uintptr(0) {
 16257  		*(*int32)(unsafe.Pointer(errnum)) = (*Gz_state)(unsafe.Pointer(state)).Ferr
 16258  	}
 16259  	if (*Gz_state)(unsafe.Pointer(state)).Ferr == -4 {
 16260  		return ts + 87 /* "out of memory" */
 16261  	}
 16262  	return func() uintptr {
 16263  		if (*Gz_state)(unsafe.Pointer(state)).Fmsg == uintptr(0) {
 16264  			return ts + 101
 16265  		}
 16266  		return (*Gz_state)(unsafe.Pointer(state)).Fmsg
 16267  	}()
 16268  }
 16269  
 16270  // -- see zlib.h --
 16271  func Xgzclearerr(tls *libc.TLS, file GzFile) { /* gzlib.c:553:14: */
 16272  	var state Gz_statep
 16273  
 16274  	// get internal structure and check integrity
 16275  	if file == uintptr(0) {
 16276  		return
 16277  	}
 16278  	state = file
 16279  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE {
 16280  		return
 16281  	}
 16282  
 16283  	// clear error and end-of-file
 16284  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ {
 16285  		(*Gz_state)(unsafe.Pointer(state)).Feof = 0
 16286  		(*Gz_state)(unsafe.Pointer(state)).Fpast = 0
 16287  	}
 16288  	Xgz_error(tls, state, Z_OK, uintptr(0))
 16289  }
 16290  
 16291  // Create an error message in allocated memory and set state->err and
 16292  //    state->msg accordingly.  Free any previous error message already there.  Do
 16293  //    not try to free or allocate space if the error is Z_MEM_ERROR (out of
 16294  //    memory).  Simply save the error message as a static string.  If there is an
 16295  //    allocation failure constructing the error message, then convert the error to
 16296  //    out of memory.
 16297  func Xgz_error(tls *libc.TLS, state Gz_statep, err int32, msg uintptr) { /* gzlib.c:579:20: */
 16298  	bp := tls.Alloc(24)
 16299  	defer tls.Free(24)
 16300  
 16301  	// free previously allocated message and clear
 16302  	if (*Gz_state)(unsafe.Pointer(state)).Fmsg != uintptr(0) {
 16303  		if (*Gz_state)(unsafe.Pointer(state)).Ferr != -4 {
 16304  			libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fmsg)
 16305  		}
 16306  		(*Gz_state)(unsafe.Pointer(state)).Fmsg = uintptr(0)
 16307  	}
 16308  
 16309  	// if fatal, set state->x.have to 0 so that the gzgetc() macro fails
 16310  	if err != Z_OK && err != -5 {
 16311  		(*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
 16312  	}
 16313  
 16314  	// set error code, and if no message, then done
 16315  	(*Gz_state)(unsafe.Pointer(state)).Ferr = err
 16316  	if msg == uintptr(0) {
 16317  		return
 16318  	}
 16319  
 16320  	// for an out of memory error, return literal string when requested
 16321  	if err == -4 {
 16322  		return
 16323  	}
 16324  
 16325  	// construct error message with path
 16326  	if libc.AssignPtrUintptr(state+112, libc.Xmalloc(tls, libc.Xstrlen(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3))) == uintptr(0) {
 16327  		(*Gz_state)(unsafe.Pointer(state)).Ferr = -4
 16328  		return
 16329  	}
 16330  	libc.X__builtin___snprintf_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fmsg, libc.Xstrlen(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3), 0, libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fmsg, func() int32 {
 16331  		if X_USE_FORTIFY_LEVEL > 1 {
 16332  			return 1
 16333  		}
 16334  		return 0
 16335  	}()), ts+102 /* "%s%s%s" */, libc.VaList(bp, (*Gz_state)(unsafe.Pointer(state)).Fpath, ts+109 /* ": " */, msg))
 16336  }
 16337  
 16338  // Use read() to load a buffer -- return -1 on error, otherwise 0.  Read from
 16339  //    state->fd, and update state->eof, state->err, and state->msg as appropriate.
 16340  //    This function needs to loop on read(), since read() is not guaranteed to
 16341  //    read the number of bytes requested, depending on the type of descriptor.
 16342  func gz_load(tls *libc.TLS, state Gz_statep, buf uintptr, len uint32, have uintptr) int32 { /* gzread.c:21:11: */
 16343  	var ret int32
 16344  	var get uint32
 16345  	var max uint32 = uint32(libc.Uint32(libc.Uint32FromInt32(-1)))>>2 + uint32(1)
 16346  
 16347  	*(*uint32)(unsafe.Pointer(have)) = uint32(0)
 16348  	for ok := true; ok; ok = *(*uint32)(unsafe.Pointer(have)) < len {
 16349  		get = len - *(*uint32)(unsafe.Pointer(have))
 16350  		if get > max {
 16351  			get = max
 16352  		}
 16353  		ret = int32(libc.Xread(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, buf+uintptr(*(*uint32)(unsafe.Pointer(have))), uint64(get)))
 16354  		if ret <= 0 {
 16355  			break
 16356  		}
 16357  		*(*uint32)(unsafe.Pointer(have)) += uint32(ret)
 16358  	}
 16359  	if ret < 0 {
 16360  		Xgz_error(tls, state, -1, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
 16361  		return -1
 16362  	}
 16363  	if ret == 0 {
 16364  		(*Gz_state)(unsafe.Pointer(state)).Feof = 1
 16365  	}
 16366  	return 0
 16367  }
 16368  
 16369  // Load up input buffer and set eof flag if last data loaded -- return -1 on
 16370  //    error, 0 otherwise.  Note that the eof flag is set when the end of the input
 16371  //    file is reached, even though there may be unused data in the buffer.  Once
 16372  //    that data has been used, no more attempts will be made to read the file.
 16373  //    If strm->avail_in != 0, then the current data is moved to the beginning of
 16374  //    the input buffer, and then the remainder of the buffer is loaded with the
 16375  //    available data from the input file.
 16376  func gz_avail(tls *libc.TLS, state Gz_statep) int32 { /* gzread.c:56:11: */
 16377  	bp := tls.Alloc(4)
 16378  	defer tls.Free(4)
 16379  
 16380  	// var got uint32 at bp, 4
 16381  
 16382  	var strm Z_streamp = state + 120
 16383  
 16384  	if (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 {
 16385  		return -1
 16386  	}
 16387  	if (*Gz_state)(unsafe.Pointer(state)).Feof == 0 {
 16388  		if (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0 { // copy what's there to the start
 16389  			var p uintptr = (*Gz_state)(unsafe.Pointer(state)).Fin
 16390  			var q uintptr = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in
 16391  			var n uint32 = (*Z_stream)(unsafe.Pointer(strm)).Favail_in
 16392  			for ok := true; ok; ok = libc.PreDecUint32(&n, 1) != 0 {
 16393  				*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&q, 1)))
 16394  			}
 16395  		}
 16396  		if gz_load(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fin+uintptr((*Z_stream)(unsafe.Pointer(strm)).Favail_in),
 16397  			(*Gz_state)(unsafe.Pointer(state)).Fsize-(*Z_stream)(unsafe.Pointer(strm)).Favail_in, bp) == -1 {
 16398  			return -1
 16399  		}
 16400  		*(*UInt)(unsafe.Pointer(strm + 8)) += *(*uint32)(unsafe.Pointer(bp))
 16401  		(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin
 16402  	}
 16403  	return 0
 16404  }
 16405  
 16406  // Look for gzip header, set up for inflate or copy.  state->x.have must be 0.
 16407  //    If this is the first time in, allocate required memory.  state->how will be
 16408  //    left unchanged if there is no more input data available, will be set to COPY
 16409  //    if there is no gzip header and direct copying will be performed, or it will
 16410  //    be set to GZIP for decompression.  If direct copying, then leftover input
 16411  //    data from the input buffer will be copied to the output buffer.  In that
 16412  //    case, all further file reads will be directly to either the output buffer or
 16413  //    a user buffer.  If decompressing, the inflate state will be initialized.
 16414  //    gz_look() will return 0 on success or -1 on failure.
 16415  func gz_look(tls *libc.TLS, state Gz_statep) int32 { /* gzread.c:91:11: */
 16416  	var strm Z_streamp = state + 120
 16417  
 16418  	// allocate read buffers and inflate memory
 16419  	if (*Gz_state)(unsafe.Pointer(state)).Fsize == uint32(0) {
 16420  		// allocate buffers
 16421  		(*Gz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Gz_state)(unsafe.Pointer(state)).Fwant))
 16422  		(*Gz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Gz_state)(unsafe.Pointer(state)).Fwant<<1))
 16423  		if (*Gz_state)(unsafe.Pointer(state)).Fin == uintptr(0) || (*Gz_state)(unsafe.Pointer(state)).Fout == uintptr(0) {
 16424  			libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fout)
 16425  			libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin)
 16426  			Xgz_error(tls, state, -4, ts+87)
 16427  			return -1
 16428  		}
 16429  		(*Gz_state)(unsafe.Pointer(state)).Fsize = (*Gz_state)(unsafe.Pointer(state)).Fwant
 16430  
 16431  		// allocate inflate memory
 16432  		(*Gz_state)(unsafe.Pointer(state)).Fstrm.Fzalloc = Alloc_func(Z_NULL)
 16433  		(*Gz_state)(unsafe.Pointer(state)).Fstrm.Fzfree = Free_func(Z_NULL)
 16434  		(*Gz_state)(unsafe.Pointer(state)).Fstrm.Fopaque = Voidpf(Z_NULL)
 16435  		(*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = UInt(0)
 16436  		(*Gz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = uintptr(Z_NULL)
 16437  		if XinflateInit2_(tls, state+120, 15+16, ts, int32(unsafe.Sizeof(Z_stream{}))) != Z_OK { // gunzip
 16438  			libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fout)
 16439  			libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin)
 16440  			(*Gz_state)(unsafe.Pointer(state)).Fsize = uint32(0)
 16441  			Xgz_error(tls, state, -4, ts+87)
 16442  			return -1
 16443  		}
 16444  	}
 16445  
 16446  	// get at least the magic bytes in the input buffer
 16447  	if (*Z_stream)(unsafe.Pointer(strm)).Favail_in < UInt(2) {
 16448  		if gz_avail(tls, state) == -1 {
 16449  			return -1
 16450  		}
 16451  		if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) {
 16452  			return 0
 16453  		}
 16454  	}
 16455  
 16456  	// look for gzip magic bytes -- if there, do gzip decoding (note: there is
 16457  	//        a logical dilemma here when considering the case of a partially written
 16458  	//        gzip file, to wit, if a single 31 byte is written, then we cannot tell
 16459  	//        whether this is a single-byte file, or just a partially written gzip
 16460  	//        file -- for here we assume that if a gzip file is being written, then
 16461  	//        the header will be written in a single operation, so that reading a
 16462  	//        single byte is sufficient indication that it is not a gzip file)
 16463  	if (*Z_stream)(unsafe.Pointer(strm)).Favail_in > UInt(1) && int32(*(*Bytef)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fnext_in))) == 31 && int32(*(*Bytef)(unsafe.Pointer((*Z_stream)(unsafe.Pointer(strm)).Fnext_in + 1))) == 139 {
 16464  		XinflateReset(tls, strm)
 16465  		(*Gz_state)(unsafe.Pointer(state)).Fhow = /* GZIP */ 2
 16466  		(*Gz_state)(unsafe.Pointer(state)).Fdirect = 0
 16467  		return 0
 16468  	}
 16469  
 16470  	// no gzip header -- if we were decoding gzip before, then this is trailing
 16471  	//        garbage.  Ignore the trailing garbage and finish.
 16472  	if (*Gz_state)(unsafe.Pointer(state)).Fdirect == 0 {
 16473  		(*Z_stream)(unsafe.Pointer(strm)).Favail_in = UInt(0)
 16474  		(*Gz_state)(unsafe.Pointer(state)).Feof = 1
 16475  		(*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
 16476  		return 0
 16477  	}
 16478  
 16479  	// doing raw i/o, copy any leftover input to output -- this assumes that
 16480  	//        the output buffer is larger than the input buffer, which also assures
 16481  	//        space for gzungetc()
 16482  	(*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Gz_state)(unsafe.Pointer(state)).Fout
 16483  	if (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0 {
 16484  		libc.X__builtin___memcpy_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, (*Z_stream)(unsafe.Pointer(strm)).Fnext_in, uint64((*Z_stream)(unsafe.Pointer(strm)).Favail_in), libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, 0))
 16485  		(*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = (*Z_stream)(unsafe.Pointer(strm)).Favail_in
 16486  		(*Z_stream)(unsafe.Pointer(strm)).Favail_in = UInt(0)
 16487  	}
 16488  	(*Gz_state)(unsafe.Pointer(state)).Fhow = COPY1
 16489  	(*Gz_state)(unsafe.Pointer(state)).Fdirect = 1
 16490  	return 0
 16491  }
 16492  
 16493  // Decompress from input to the provided next_out and avail_out in the state.
 16494  //    On return, state->x.have and state->x.next point to the just decompressed
 16495  //    data.  If the gzip stream completes, state->how is reset to LOOK to look for
 16496  //    the next gzip stream or raw data, once state->x.have is depleted.  Returns 0
 16497  //    on success, -1 on failure.
 16498  func gz_decomp(tls *libc.TLS, state Gz_statep) int32 { /* gzread.c:175:11: */
 16499  	var ret int32 = Z_OK
 16500  	var had uint32
 16501  	var strm Z_streamp = state + 120
 16502  
 16503  	// fill output buffer up to end of deflate stream
 16504  	had = (*Z_stream)(unsafe.Pointer(strm)).Favail_out
 16505  	for ok := true; ok; ok = (*Z_stream)(unsafe.Pointer(strm)).Favail_out != 0 && ret != Z_STREAM_END {
 16506  		// get more input for inflate()
 16507  		if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) && gz_avail(tls, state) == -1 {
 16508  			return -1
 16509  		}
 16510  		if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) {
 16511  			Xgz_error(tls, state, -5, ts+112)
 16512  			break
 16513  		}
 16514  
 16515  		// decompress and handle errors
 16516  		ret = Xinflate(tls, strm, Z_NO_FLUSH)
 16517  		if ret == -2 || ret == Z_NEED_DICT {
 16518  			Xgz_error(tls, state, -2,
 16519  				ts+135)
 16520  			return -1
 16521  		}
 16522  		if ret == -4 {
 16523  			Xgz_error(tls, state, -4, ts+87)
 16524  			return -1
 16525  		}
 16526  		if ret == -3 { // deflate stream invalid
 16527  			Xgz_error(tls, state, -3,
 16528  				func() uintptr {
 16529  					if (*Z_stream)(unsafe.Pointer(strm)).Fmsg == uintptr(0) {
 16530  						return ts + 174 /* "compressed data ..." */
 16531  					}
 16532  					return (*Z_stream)(unsafe.Pointer(strm)).Fmsg
 16533  				}())
 16534  			return -1
 16535  		}
 16536  	}
 16537  
 16538  	// update available output
 16539  	(*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = had - (*Z_stream)(unsafe.Pointer(strm)).Favail_out
 16540  	(*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out - uintptr((*Gz_state)(unsafe.Pointer(state)).Fx.Fhave)
 16541  
 16542  	// if the gzip stream completed successfully, look for another
 16543  	if ret == Z_STREAM_END {
 16544  		(*Gz_state)(unsafe.Pointer(state)).Fhow = LOOK
 16545  	}
 16546  
 16547  	// good decompression
 16548  	return 0
 16549  }
 16550  
 16551  // Fetch data and put it in the output buffer.  Assumes state->x.have is 0.
 16552  //    Data is either copied from the input file or decompressed from the input
 16553  //    file depending on state->how.  If state->how is LOOK, then a gzip header is
 16554  //    looked for to determine whether to copy or decompress.  Returns -1 on error,
 16555  //    otherwise 0.  gz_fetch() will leave state->how as COPY or GZIP unless the
 16556  //    end of the input file has been reached and all data has been processed.
 16557  func gz_fetch(tls *libc.TLS, state Gz_statep) int32 { /* gzread.c:229:11: */
 16558  	var strm Z_streamp = state + 120
 16559  
 16560  	for ok := true; ok; ok = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && (!((*Gz_state)(unsafe.Pointer(state)).Feof != 0) || (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0) {
 16561  		switch (*Gz_state)(unsafe.Pointer(state)).Fhow {
 16562  		case LOOK: // -> LOOK, COPY (only if never GZIP), or GZIP
 16563  			if gz_look(tls, state) == -1 {
 16564  				return -1
 16565  			}
 16566  			if (*Gz_state)(unsafe.Pointer(state)).Fhow == LOOK {
 16567  				return 0
 16568  			}
 16569  			break
 16570  		case COPY1: // -> COPY
 16571  			if gz_load(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fout, (*Gz_state)(unsafe.Pointer(state)).Fsize<<1, state) ==
 16572  				-1 {
 16573  				return -1
 16574  			}
 16575  			(*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Gz_state)(unsafe.Pointer(state)).Fout
 16576  			return 0
 16577  		case /* GZIP */ 2: // -> GZIP or LOOK (if end of gzip stream)
 16578  			(*Z_stream)(unsafe.Pointer(strm)).Favail_out = (*Gz_state)(unsafe.Pointer(state)).Fsize << 1
 16579  			(*Z_stream)(unsafe.Pointer(strm)).Fnext_out = (*Gz_state)(unsafe.Pointer(state)).Fout
 16580  			if gz_decomp(tls, state) == -1 {
 16581  				return -1
 16582  			}
 16583  		}
 16584  	}
 16585  	return 0
 16586  }
 16587  
 16588  // Skip len uncompressed bytes of output.  Return -1 on error, 0 on success.
 16589  func gz_skip(tls *libc.TLS, state Gz_statep, len Off_t) int32 { /* gzread.c:259:11: */
 16590  	var n uint32
 16591  
 16592  	// skip over len bytes or reach end-of-file, whichever comes first
 16593  	for len != 0 {
 16594  		// skip over whatever is in output buffer
 16595  		if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
 16596  			if uint64(unsafe.Sizeof(int32(0))) == uint64(unsafe.Sizeof(Off_t(0))) && (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave > uint32(0x7fffffff) || Off_t((*Gz_state)(unsafe.Pointer(state)).Fx.Fhave) > len {
 16597  				n = uint32(len)
 16598  			} else {
 16599  				n = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave
 16600  			}
 16601  			*(*uint32)(unsafe.Pointer(state)) -= n
 16602  			*(*uintptr)(unsafe.Pointer(state + 8)) += uintptr(n)
 16603  			*(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(n)
 16604  			len = len - Off_t(n)
 16605  		} else if (*Gz_state)(unsafe.Pointer(state)).Feof != 0 && (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == UInt(0) {
 16606  			break
 16607  		} else {
 16608  			// get more output, looking for header if required
 16609  			if gz_fetch(tls, state) == -1 {
 16610  				return -1
 16611  			}
 16612  		}
 16613  	}
 16614  	return 0
 16615  }
 16616  
 16617  // Read len bytes into buf from file, or less than len up to the end of the
 16618  //    input.  Return the number of bytes read.  If zero is returned, either the
 16619  //    end of file was reached, or there was an error.  state->err must be
 16620  //    consulted in that case to determine which.
 16621  func gz_read(tls *libc.TLS, state Gz_statep, buf Voidp, len Z_size_t) Z_size_t { /* gzread.c:294:16: */
 16622  	bp := tls.Alloc(4)
 16623  	defer tls.Free(4)
 16624  
 16625  	var got Z_size_t
 16626  	// var n uint32 at bp, 4
 16627  
 16628  	// if len is zero, avoid unnecessary operations
 16629  	if len == uint64(0) {
 16630  		return uint64(0)
 16631  	}
 16632  
 16633  	// process a skip request
 16634  	if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 {
 16635  		(*Gz_state)(unsafe.Pointer(state)).Fseek = 0
 16636  		if gz_skip(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 {
 16637  			return uint64(0)
 16638  		}
 16639  	}
 16640  
 16641  	// get len bytes to buf, or less than len if at the end
 16642  	got = uint64(0)
 16643  	for ok := true; ok; ok = len != 0 {
 16644  		// set n to the maximum amount of len that fits in an unsigned int
 16645  		*(*uint32)(unsafe.Pointer(bp /* n */)) = libc.Uint32FromInt32(-1)
 16646  		if Z_size_t(*(*uint32)(unsafe.Pointer(bp))) > len {
 16647  			*(*uint32)(unsafe.Pointer(bp /* n */)) = uint32(len)
 16648  		}
 16649  
 16650  		// first just try copying data from the output buffer
 16651  		if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
 16652  			if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave < *(*uint32)(unsafe.Pointer(bp)) {
 16653  				*(*uint32)(unsafe.Pointer(bp /* n */)) = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave
 16654  			}
 16655  			libc.X__builtin___memcpy_chk(tls, buf, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(*(*uint32)(unsafe.Pointer(bp /* n */))), libc.X__builtin_object_size(tls, buf, 0))
 16656  			*(*uintptr)(unsafe.Pointer(state + 8)) += uintptr(*(*uint32)(unsafe.Pointer(bp)))
 16657  			*(*uint32)(unsafe.Pointer(state)) -= *(*uint32)(unsafe.Pointer(bp))
 16658  		} else if (*Gz_state)(unsafe.Pointer(state)).Feof != 0 && (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == UInt(0) {
 16659  			(*Gz_state)(unsafe.Pointer(state)).Fpast = 1 // tried to read past end
 16660  			break
 16661  		} else if (*Gz_state)(unsafe.Pointer(state)).Fhow == LOOK || *(*uint32)(unsafe.Pointer(bp)) < (*Gz_state)(unsafe.Pointer(state)).Fsize<<1 {
 16662  			// get more output, looking for header if required
 16663  			if gz_fetch(tls, state) == -1 {
 16664  				return uint64(0)
 16665  			}
 16666  			continue // no progress yet -- go back to copy above
 16667  			// the copy above assures that we will leave with space in the
 16668  			//                output buffer, allowing at least one gzungetc() to succeed
 16669  		} else if (*Gz_state)(unsafe.Pointer(state)).Fhow == COPY1 { // read directly
 16670  			if gz_load(tls, state, buf, *(*uint32)(unsafe.Pointer(bp)), bp) == -1 {
 16671  				return uint64(0)
 16672  			}
 16673  		} else { // state->how == GZIP
 16674  			(*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_out = *(*uint32)(unsafe.Pointer(bp /* n */))
 16675  			(*Gz_state)(unsafe.Pointer(state)).Fstrm.Fnext_out = buf
 16676  			if gz_decomp(tls, state) == -1 {
 16677  				return uint64(0)
 16678  			}
 16679  			*(*uint32)(unsafe.Pointer(bp /* n */)) = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave
 16680  			(*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
 16681  		}
 16682  
 16683  		// update progress
 16684  		len = len - Z_size_t(*(*uint32)(unsafe.Pointer(bp)))
 16685  		buf = buf + uintptr(*(*uint32)(unsafe.Pointer(bp)))
 16686  		got = got + Z_size_t(*(*uint32)(unsafe.Pointer(bp)))
 16687  		*(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(*(*uint32)(unsafe.Pointer(bp)))
 16688  	}
 16689  
 16690  	// return number of bytes read into user buffer
 16691  	return got
 16692  }
 16693  
 16694  // -- see zlib.h --
 16695  func Xgzread(tls *libc.TLS, file GzFile, buf Voidp, len uint32) int32 { /* gzread.c:375:13: */
 16696  	var state Gz_statep
 16697  
 16698  	// get internal structure
 16699  	if file == uintptr(0) {
 16700  		return -1
 16701  	}
 16702  	state = file
 16703  
 16704  	// check that we're reading and that there's no (serious) error
 16705  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 {
 16706  		return -1
 16707  	}
 16708  
 16709  	// since an int is returned, make sure len fits in one, otherwise return
 16710  	//        with an error (this avoids a flaw in the interface)
 16711  	if int32(len) < 0 {
 16712  		Xgz_error(tls, state, -2, ts+196)
 16713  		return -1
 16714  	}
 16715  
 16716  	// read len or fewer bytes to buf
 16717  	len = uint32(gz_read(tls, state, buf, uint64(len)))
 16718  
 16719  	// check for an error
 16720  	if len == uint32(0) && (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 {
 16721  		return -1
 16722  	}
 16723  
 16724  	// return the number of bytes read (this is assured to fit in an int)
 16725  	return int32(len)
 16726  }
 16727  
 16728  // -- see zlib.h --
 16729  func Xgzfread(tls *libc.TLS, buf Voidp, size Z_size_t, nitems Z_size_t, file GzFile) Z_size_t { /* gzread.c:411:18: */
 16730  	var len Z_size_t
 16731  	var state Gz_statep
 16732  
 16733  	// get internal structure
 16734  	if file == uintptr(0) {
 16735  		return uint64(0)
 16736  	}
 16737  	state = file
 16738  
 16739  	// check that we're reading and that there's no (serious) error
 16740  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 {
 16741  		return uint64(0)
 16742  	}
 16743  
 16744  	// compute bytes to read -- error on overflow
 16745  	len = nitems * size
 16746  	if size != 0 && len/size != nitems {
 16747  		Xgz_error(tls, state, -2, ts+227)
 16748  		return uint64(0)
 16749  	}
 16750  
 16751  	// read len or fewer bytes to buf, return the number of full items read
 16752  	if len != 0 {
 16753  		return gz_read(tls, state, buf, len) / size
 16754  	}
 16755  	return uint64(0)
 16756  }
 16757  
 16758  // -- see zlib.h --
 16759  func Xgzgetc(tls *libc.TLS, file GzFile) int32 { /* gzread.c:447:13: */
 16760  	bp := tls.Alloc(1)
 16761  	defer tls.Free(1)
 16762  
 16763  	var ret int32
 16764  	// var buf [1]uint8 at bp, 1
 16765  
 16766  	var state Gz_statep
 16767  
 16768  	// get internal structure
 16769  	if file == uintptr(0) {
 16770  		return -1
 16771  	}
 16772  	state = file
 16773  
 16774  	// check that we're reading and that there's no (serious) error
 16775  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 {
 16776  		return -1
 16777  	}
 16778  
 16779  	// try output buffer (no need to check for skip request)
 16780  	if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
 16781  		(*Gz_state)(unsafe.Pointer(state)).Fx.Fhave--
 16782  		(*Gz_state)(unsafe.Pointer(state)).Fx.Fpos++
 16783  		return int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&(*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, 1))))
 16784  	}
 16785  
 16786  	// nothing there -- try gz_read()
 16787  	ret = int32(gz_read(tls, state, bp, uint64(1)))
 16788  	if ret < 1 {
 16789  		return -1
 16790  	}
 16791  	return int32(*(*uint8)(unsafe.Pointer(bp)))
 16792  }
 16793  
 16794  func Xgzgetc_(tls *libc.TLS, file GzFile) int32 { /* gzread.c:476:13: */
 16795  	return Xgzgetc(tls, file)
 16796  }
 16797  
 16798  // -- see zlib.h --
 16799  func Xgzungetc(tls *libc.TLS, c int32, file GzFile) int32 { /* gzread.c:483:13: */
 16800  	var state Gz_statep
 16801  
 16802  	// get internal structure
 16803  	if file == uintptr(0) {
 16804  		return -1
 16805  	}
 16806  	state = file
 16807  
 16808  	// check that we're reading and that there's no (serious) error
 16809  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 {
 16810  		return -1
 16811  	}
 16812  
 16813  	// process a skip request
 16814  	if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 {
 16815  		(*Gz_state)(unsafe.Pointer(state)).Fseek = 0
 16816  		if gz_skip(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 {
 16817  			return -1
 16818  		}
 16819  	}
 16820  
 16821  	// can't push EOF
 16822  	if c < 0 {
 16823  		return -1
 16824  	}
 16825  
 16826  	// if output buffer empty, put byte at end (allows more pushing)
 16827  	if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
 16828  		(*Gz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(1)
 16829  		(*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Gz_state)(unsafe.Pointer(state)).Fout + uintptr((*Gz_state)(unsafe.Pointer(state)).Fsize<<1) - uintptr(1)
 16830  		*(*uint8)(unsafe.Pointer((*Gz_state)(unsafe.Pointer(state)).Fx.Fnext)) = uint8(c)
 16831  		(*Gz_state)(unsafe.Pointer(state)).Fx.Fpos--
 16832  		(*Gz_state)(unsafe.Pointer(state)).Fpast = 0
 16833  		return c
 16834  	}
 16835  
 16836  	// if no room, give up (must have already done a gzungetc())
 16837  	if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == (*Gz_state)(unsafe.Pointer(state)).Fsize<<1 {
 16838  		Xgz_error(tls, state, -3, ts+260)
 16839  		return -1
 16840  	}
 16841  
 16842  	// slide output data if needed and insert byte before existing data
 16843  	if (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext == (*Gz_state)(unsafe.Pointer(state)).Fout {
 16844  		var src uintptr = (*Gz_state)(unsafe.Pointer(state)).Fout + uintptr((*Gz_state)(unsafe.Pointer(state)).Fx.Fhave)
 16845  		var dest uintptr = (*Gz_state)(unsafe.Pointer(state)).Fout + uintptr((*Gz_state)(unsafe.Pointer(state)).Fsize<<1)
 16846  		for src > (*Gz_state)(unsafe.Pointer(state)).Fout {
 16847  			*(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&dest, 1))) = *(*uint8)(unsafe.Pointer(libc.PreDecUintptr(&src, 1)))
 16848  		}
 16849  		(*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = dest
 16850  	}
 16851  	(*Gz_state)(unsafe.Pointer(state)).Fx.Fhave++
 16852  	(*Gz_state)(unsafe.Pointer(state)).Fx.Fnext--
 16853  	*(*uint8)(unsafe.Pointer((*Gz_state)(unsafe.Pointer(state)).Fx.Fnext)) = uint8(c)
 16854  	(*Gz_state)(unsafe.Pointer(state)).Fx.Fpos--
 16855  	(*Gz_state)(unsafe.Pointer(state)).Fpast = 0
 16856  	return c
 16857  }
 16858  
 16859  // -- see zlib.h --
 16860  func Xgzgets(tls *libc.TLS, file GzFile, buf uintptr, len int32) uintptr { /* gzread.c:543:6: */
 16861  	var left uint32
 16862  	var n uint32
 16863  	var str uintptr
 16864  	var eol uintptr
 16865  	var state Gz_statep
 16866  
 16867  	// check parameters and get internal structure
 16868  	if file == uintptr(0) || buf == uintptr(0) || len < 1 {
 16869  		return uintptr(0)
 16870  	}
 16871  	state = file
 16872  
 16873  	// check that we're reading and that there's no (serious) error
 16874  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK && (*Gz_state)(unsafe.Pointer(state)).Ferr != -5 {
 16875  		return uintptr(0)
 16876  	}
 16877  
 16878  	// process a skip request
 16879  	if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 {
 16880  		(*Gz_state)(unsafe.Pointer(state)).Fseek = 0
 16881  		if gz_skip(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 {
 16882  			return uintptr(0)
 16883  		}
 16884  	}
 16885  
 16886  	// copy output bytes up to new line or len - 1, whichever comes first --
 16887  	//        append a terminating zero to the string (we don't check for a zero in
 16888  	//        the contents, let the user worry about that)
 16889  	str = buf
 16890  	left = uint32(len) - uint32(1)
 16891  	if left != 0 {
 16892  		for ok := true; ok; ok = left != 0 && eol == uintptr(0) {
 16893  			// assure that something is in the output buffer
 16894  			if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && gz_fetch(tls, state) == -1 {
 16895  				return uintptr(0)
 16896  			} // error
 16897  			if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) { // end of file
 16898  				(*Gz_state)(unsafe.Pointer(state)).Fpast = 1 // read past end
 16899  				break                                        // return what we have
 16900  			}
 16901  
 16902  			// look for end-of-line in current output buffer
 16903  			if (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave > left {
 16904  				n = left
 16905  			} else {
 16906  				n = (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave
 16907  			}
 16908  			eol = libc.Xmemchr(tls, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, '\n', uint64(n))
 16909  			if eol != uintptr(0) {
 16910  				n = uint32((int64(eol)-int64((*Gz_state)(unsafe.Pointer(state)).Fx.Fnext))/1) + uint32(1)
 16911  			}
 16912  
 16913  			// copy through end-of-line, or remainder if not found
 16914  			libc.X__builtin___memcpy_chk(tls, buf, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(n), libc.X__builtin_object_size(tls, buf, 0))
 16915  			*(*uint32)(unsafe.Pointer(state)) -= n
 16916  			*(*uintptr)(unsafe.Pointer(state + 8)) += uintptr(n)
 16917  			*(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(n)
 16918  			left = left - n
 16919  			buf += uintptr(n)
 16920  		}
 16921  	}
 16922  
 16923  	// return terminated string, or if nothing, end of file
 16924  	if buf == str {
 16925  		return uintptr(0)
 16926  	}
 16927  	*(*int8)(unsafe.Pointer(buf)) = int8(0)
 16928  	return str
 16929  }
 16930  
 16931  // -- see zlib.h --
 16932  func Xgzdirect(tls *libc.TLS, file GzFile) int32 { /* gzread.c:607:13: */
 16933  	var state Gz_statep
 16934  
 16935  	// get internal structure
 16936  	if file == uintptr(0) {
 16937  		return 0
 16938  	}
 16939  	state = file
 16940  
 16941  	// if the state is not known, but we can find out, then do so (this is
 16942  	//        mainly for right after a gzopen() or gzdopen())
 16943  	if (*Gz_state)(unsafe.Pointer(state)).Fmode == GZ_READ && (*Gz_state)(unsafe.Pointer(state)).Fhow == LOOK && (*Gz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
 16944  		gz_look(tls, state)
 16945  	}
 16946  
 16947  	// return 1 if transparent, 0 if processing a gzip stream
 16948  	return (*Gz_state)(unsafe.Pointer(state)).Fdirect
 16949  }
 16950  
 16951  // -- see zlib.h --
 16952  func Xgzclose_r(tls *libc.TLS, file GzFile) int32 { /* gzread.c:627:13: */
 16953  	var ret int32
 16954  	var err int32
 16955  	var state Gz_statep
 16956  
 16957  	// get internal structure
 16958  	if file == uintptr(0) {
 16959  		return -2
 16960  	}
 16961  	state = file
 16962  
 16963  	// check that we're reading
 16964  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_READ {
 16965  		return -2
 16966  	}
 16967  
 16968  	// free memory and close file
 16969  	if (*Gz_state)(unsafe.Pointer(state)).Fsize != 0 {
 16970  		XinflateEnd(tls, state+120)
 16971  		libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fout)
 16972  		libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin)
 16973  	}
 16974  	if (*Gz_state)(unsafe.Pointer(state)).Ferr == -5 {
 16975  		err = -5
 16976  	} else {
 16977  		err = Z_OK
 16978  	}
 16979  	Xgz_error(tls, state, Z_OK, uintptr(0))
 16980  	libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath)
 16981  	ret = libc.Xclose(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd)
 16982  	libc.Xfree(tls, state)
 16983  	if ret != 0 {
 16984  		return -1
 16985  	}
 16986  	return err
 16987  }
 16988  
 16989  // Initialize state for writing a gzip file.  Mark initialization by setting
 16990  //    state->size to non-zero.  Return -1 on a memory allocation failure, or 0 on
 16991  //    success.
 16992  func gz_init(tls *libc.TLS, state Gz_statep) int32 { /* gzwrite.c:17:11: */
 16993  	var ret int32
 16994  	var strm Z_streamp = state + 120
 16995  
 16996  	// allocate input buffer (double size for gzprintf)
 16997  	(*Gz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Gz_state)(unsafe.Pointer(state)).Fwant<<1))
 16998  	if (*Gz_state)(unsafe.Pointer(state)).Fin == uintptr(0) {
 16999  		Xgz_error(tls, state, -4, ts+87)
 17000  		return -1
 17001  	}
 17002  
 17003  	// only need output buffer and deflate state if compressing
 17004  	if !((*Gz_state)(unsafe.Pointer(state)).Fdirect != 0) {
 17005  		// allocate output buffer
 17006  		(*Gz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Gz_state)(unsafe.Pointer(state)).Fwant))
 17007  		if (*Gz_state)(unsafe.Pointer(state)).Fout == uintptr(0) {
 17008  			libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin)
 17009  			Xgz_error(tls, state, -4, ts+87)
 17010  			return -1
 17011  		}
 17012  
 17013  		// allocate deflate memory, set up for gzip compression
 17014  		(*Z_stream)(unsafe.Pointer(strm)).Fzalloc = Alloc_func(Z_NULL)
 17015  		(*Z_stream)(unsafe.Pointer(strm)).Fzfree = Free_func(Z_NULL)
 17016  		(*Z_stream)(unsafe.Pointer(strm)).Fopaque = Voidpf(Z_NULL)
 17017  		ret = XdeflateInit2_(tls, strm, (*Gz_state)(unsafe.Pointer(state)).Flevel, Z_DEFLATED, MAX_WBITS+16, DEF_MEM_LEVEL, (*Gz_state)(unsafe.Pointer(state)).Fstrategy, ts, int32(unsafe.Sizeof(Z_stream{})))
 17018  		if ret != Z_OK {
 17019  			libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fout)
 17020  			libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin)
 17021  			Xgz_error(tls, state, -4, ts+87)
 17022  			return -1
 17023  		}
 17024  		(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = uintptr(0)
 17025  	}
 17026  
 17027  	// mark state as initialized
 17028  	(*Gz_state)(unsafe.Pointer(state)).Fsize = (*Gz_state)(unsafe.Pointer(state)).Fwant
 17029  
 17030  	// initialize write buffer if compressing
 17031  	if !((*Gz_state)(unsafe.Pointer(state)).Fdirect != 0) {
 17032  		(*Z_stream)(unsafe.Pointer(strm)).Favail_out = (*Gz_state)(unsafe.Pointer(state)).Fsize
 17033  		(*Z_stream)(unsafe.Pointer(strm)).Fnext_out = (*Gz_state)(unsafe.Pointer(state)).Fout
 17034  		(*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out
 17035  	}
 17036  	return 0
 17037  }
 17038  
 17039  // Compress whatever is at avail_in and next_in and write to the output file.
 17040  //    Return -1 if there is an error writing to the output file or if gz_init()
 17041  //    fails to allocate memory, otherwise 0.  flush is assumed to be a valid
 17042  //    deflate() flush value.  If flush is Z_FINISH, then the deflate() state is
 17043  //    reset to start a new gzip stream.  If gz->direct is true, then simply write
 17044  //    to the output file without compressing, and ignore flush.
 17045  func gz_comp(tls *libc.TLS, state Gz_statep, flush int32) int32 { /* gzwrite.c:73:11: */
 17046  	var ret int32
 17047  	var writ int32
 17048  	var have uint32
 17049  	var put uint32
 17050  	var max uint32 = uint32(libc.Uint32(libc.Uint32FromInt32(-1)))>>2 + uint32(1)
 17051  	var strm Z_streamp = state + 120
 17052  
 17053  	// allocate memory if this is the first time through
 17054  	if (*Gz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && gz_init(tls, state) == -1 {
 17055  		return -1
 17056  	}
 17057  
 17058  	// write directly if requested
 17059  	if (*Gz_state)(unsafe.Pointer(state)).Fdirect != 0 {
 17060  		for (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0 {
 17061  			if (*Z_stream)(unsafe.Pointer(strm)).Favail_in > max {
 17062  				put = max
 17063  			} else {
 17064  				put = (*Z_stream)(unsafe.Pointer(strm)).Favail_in
 17065  			}
 17066  			writ = int32(libc.Xwrite(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, (*Z_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(put)))
 17067  			if writ < 0 {
 17068  				Xgz_error(tls, state, -1, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
 17069  				return -1
 17070  			}
 17071  			*(*UInt)(unsafe.Pointer(strm + 8)) -= uint32(writ)
 17072  			*(*uintptr)(unsafe.Pointer(strm)) += uintptr(writ)
 17073  		}
 17074  		return 0
 17075  	}
 17076  
 17077  	// run deflate() on provided input until it produces no more output
 17078  	ret = Z_OK
 17079  	for ok := true; ok; ok = have != 0 {
 17080  		// write out current buffer contents if full, or if flushing, but if
 17081  		//            doing Z_FINISH then don't write until we get to Z_STREAM_END
 17082  		if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) || flush != Z_NO_FLUSH && (flush != Z_FINISH || ret == Z_STREAM_END) {
 17083  			for (*Z_stream)(unsafe.Pointer(strm)).Fnext_out > (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext {
 17084  				if (int64((*Z_stream)(unsafe.Pointer(strm)).Fnext_out)-int64((*Gz_state)(unsafe.Pointer(state)).Fx.Fnext))/1 > int64(int32(max)) {
 17085  					put = max
 17086  				} else {
 17087  					put = uint32((int64((*Z_stream)(unsafe.Pointer(strm)).Fnext_out) - int64((*Gz_state)(unsafe.Pointer(state)).Fx.Fnext)) / 1)
 17088  				}
 17089  				writ = int32(libc.Xwrite(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd, (*Gz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(put)))
 17090  				if writ < 0 {
 17091  					Xgz_error(tls, state, -1, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
 17092  					return -1
 17093  				}
 17094  				*(*uintptr)(unsafe.Pointer(state + 8)) += uintptr(writ)
 17095  			}
 17096  			if (*Z_stream)(unsafe.Pointer(strm)).Favail_out == UInt(0) {
 17097  				(*Z_stream)(unsafe.Pointer(strm)).Favail_out = (*Gz_state)(unsafe.Pointer(state)).Fsize
 17098  				(*Z_stream)(unsafe.Pointer(strm)).Fnext_out = (*Gz_state)(unsafe.Pointer(state)).Fout
 17099  				(*Gz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Gz_state)(unsafe.Pointer(state)).Fout
 17100  			}
 17101  		}
 17102  
 17103  		// compress
 17104  		have = (*Z_stream)(unsafe.Pointer(strm)).Favail_out
 17105  		ret = Xdeflate(tls, strm, flush)
 17106  		if ret == -2 {
 17107  			Xgz_error(tls, state, -2,
 17108  				ts+291)
 17109  			return -1
 17110  		}
 17111  		have = have - (*Z_stream)(unsafe.Pointer(strm)).Favail_out
 17112  	}
 17113  
 17114  	// if that completed a deflate stream, allow another to start
 17115  	if flush == Z_FINISH {
 17116  		XdeflateReset(tls, strm)
 17117  	}
 17118  
 17119  	// all done, no errors
 17120  	return 0
 17121  }
 17122  
 17123  // Compress len zeros to output.  Return -1 on a write error or memory
 17124  //    allocation failure by gz_comp(), or 0 on success.
 17125  func gz_zero(tls *libc.TLS, state Gz_statep, len Off_t) int32 { /* gzwrite.c:145:11: */
 17126  	var first int32
 17127  	var n uint32
 17128  	var strm Z_streamp = state + 120
 17129  
 17130  	// consume whatever's left in the input buffer
 17131  	if (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0 && gz_comp(tls, state, Z_NO_FLUSH) == -1 {
 17132  		return -1
 17133  	}
 17134  
 17135  	// compress len zeros (len guaranteed > 0)
 17136  	first = 1
 17137  	for len != 0 {
 17138  		if uint64(unsafe.Sizeof(int32(0))) == uint64(unsafe.Sizeof(Off_t(0))) && (*Gz_state)(unsafe.Pointer(state)).Fsize > uint32(0x7fffffff) || Off_t((*Gz_state)(unsafe.Pointer(state)).Fsize) > len {
 17139  			n = uint32(len)
 17140  		} else {
 17141  			n = (*Gz_state)(unsafe.Pointer(state)).Fsize
 17142  		}
 17143  		if first != 0 {
 17144  			libc.X__builtin___memset_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fin, 0, uint64(n), libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fin, 0))
 17145  			first = 0
 17146  		}
 17147  		(*Z_stream)(unsafe.Pointer(strm)).Favail_in = n
 17148  		(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin
 17149  		*(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(n)
 17150  		if gz_comp(tls, state, Z_NO_FLUSH) == -1 {
 17151  			return -1
 17152  		}
 17153  		len = len - Off_t(n)
 17154  	}
 17155  	return 0
 17156  }
 17157  
 17158  // Write len bytes from buf to file.  Return the number of bytes written.  If
 17159  //    the returned value is less than len, then there was an error.
 17160  func gz_write(tls *libc.TLS, state Gz_statep, buf Voidpc, len Z_size_t) Z_size_t { /* gzwrite.c:178:16: */
 17161  	var put Z_size_t = len
 17162  
 17163  	// if len is zero, avoid unnecessary operations
 17164  	if len == uint64(0) {
 17165  		return uint64(0)
 17166  	}
 17167  
 17168  	// allocate memory if this is the first time through
 17169  	if (*Gz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && gz_init(tls, state) == -1 {
 17170  		return uint64(0)
 17171  	}
 17172  
 17173  	// check for seek request
 17174  	if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 {
 17175  		(*Gz_state)(unsafe.Pointer(state)).Fseek = 0
 17176  		if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 {
 17177  			return uint64(0)
 17178  		}
 17179  	}
 17180  
 17181  	// for small len, copy to input buffer, otherwise compress directly
 17182  	if len < Z_size_t((*Gz_state)(unsafe.Pointer(state)).Fsize) {
 17183  		// copy to input buffer, compress when full
 17184  		for ok := true; ok; ok = len != 0 {
 17185  			var have uint32
 17186  			var copy uint32
 17187  
 17188  			if (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == UInt(0) {
 17189  				(*Gz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin
 17190  			}
 17191  			have = uint32((int64((*Gz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in+uintptr((*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)) - int64((*Gz_state)(unsafe.Pointer(state)).Fin)) / 1)
 17192  			copy = (*Gz_state)(unsafe.Pointer(state)).Fsize - have
 17193  			if Z_size_t(copy) > len {
 17194  				copy = uint32(len)
 17195  			}
 17196  			libc.X__builtin___memcpy_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fin+uintptr(have), buf, uint64(copy), libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fin+uintptr(have), 0))
 17197  			*(*UInt)(unsafe.Pointer(state + 120 + 8)) += copy
 17198  			*(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(copy)
 17199  			buf = buf + uintptr(copy)
 17200  			len = len - Z_size_t(copy)
 17201  			if len != 0 && gz_comp(tls, state, Z_NO_FLUSH) == -1 {
 17202  				return uint64(0)
 17203  			}
 17204  		}
 17205  	} else {
 17206  		// consume whatever's left in the input buffer
 17207  		if (*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in != 0 && gz_comp(tls, state, Z_NO_FLUSH) == -1 {
 17208  			return uint64(0)
 17209  		}
 17210  
 17211  		// directly compress user buffer to file
 17212  		(*Gz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = buf
 17213  		for ok1 := true; ok1; ok1 = len != 0 {
 17214  			var n uint32 = libc.Uint32(libc.Uint32FromInt32(-1))
 17215  			if Z_size_t(n) > len {
 17216  				n = uint32(len)
 17217  			}
 17218  			(*Gz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = n
 17219  			*(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(n)
 17220  			if gz_comp(tls, state, Z_NO_FLUSH) == -1 {
 17221  				return uint64(0)
 17222  			}
 17223  			len = len - Z_size_t(n)
 17224  		}
 17225  	}
 17226  
 17227  	// input was all buffered or compressed
 17228  	return put
 17229  }
 17230  
 17231  // -- see zlib.h --
 17232  func Xgzwrite(tls *libc.TLS, file GzFile, buf Voidpc, len uint32) int32 { /* gzwrite.c:246:13: */
 17233  	var state Gz_statep
 17234  
 17235  	// get internal structure
 17236  	if file == uintptr(0) {
 17237  		return 0
 17238  	}
 17239  	state = file
 17240  
 17241  	// check that we're writing and that there's no error
 17242  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK {
 17243  		return 0
 17244  	}
 17245  
 17246  	// since an int is returned, make sure len fits in one, otherwise return
 17247  	//        with an error (this avoids a flaw in the interface)
 17248  	if int32(len) < 0 {
 17249  		Xgz_error(tls, state, -3, ts+330)
 17250  		return 0
 17251  	}
 17252  
 17253  	// write len bytes from buf (the return value will fit in an int)
 17254  	return int32(gz_write(tls, state, buf, uint64(len)))
 17255  }
 17256  
 17257  // -- see zlib.h --
 17258  func Xgzfwrite(tls *libc.TLS, buf Voidpc, size Z_size_t, nitems Z_size_t, file GzFile) Z_size_t { /* gzwrite.c:274:18: */
 17259  	var len Z_size_t
 17260  	var state Gz_statep
 17261  
 17262  	// get internal structure
 17263  	if file == uintptr(0) {
 17264  		return uint64(0)
 17265  	}
 17266  	state = file
 17267  
 17268  	// check that we're writing and that there's no error
 17269  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK {
 17270  		return uint64(0)
 17271  	}
 17272  
 17273  	// compute bytes to read -- error on overflow
 17274  	len = nitems * size
 17275  	if size != 0 && len/size != nitems {
 17276  		Xgz_error(tls, state, -2, ts+227)
 17277  		return uint64(0)
 17278  	}
 17279  
 17280  	// write len bytes to buf, return the number of full items written
 17281  	if len != 0 {
 17282  		return gz_write(tls, state, buf, len) / size
 17283  	}
 17284  	return uint64(0)
 17285  }
 17286  
 17287  // -- see zlib.h --
 17288  func Xgzputc(tls *libc.TLS, file GzFile, c int32) int32 { /* gzwrite.c:304:13: */
 17289  	bp := tls.Alloc(1)
 17290  	defer tls.Free(1)
 17291  
 17292  	var have uint32
 17293  	// var buf [1]uint8 at bp, 1
 17294  
 17295  	var state Gz_statep
 17296  	var strm Z_streamp
 17297  
 17298  	// get internal structure
 17299  	if file == uintptr(0) {
 17300  		return -1
 17301  	}
 17302  	state = file
 17303  	strm = state + 120
 17304  
 17305  	// check that we're writing and that there's no error
 17306  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK {
 17307  		return -1
 17308  	}
 17309  
 17310  	// check for seek request
 17311  	if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 {
 17312  		(*Gz_state)(unsafe.Pointer(state)).Fseek = 0
 17313  		if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 {
 17314  			return -1
 17315  		}
 17316  	}
 17317  
 17318  	// try writing to input buffer for speed (state->size == 0 if buffer not
 17319  	//        initialized)
 17320  	if (*Gz_state)(unsafe.Pointer(state)).Fsize != 0 {
 17321  		if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) {
 17322  			(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin
 17323  		}
 17324  		have = uint32((int64((*Z_stream)(unsafe.Pointer(strm)).Fnext_in+uintptr((*Z_stream)(unsafe.Pointer(strm)).Favail_in)) - int64((*Gz_state)(unsafe.Pointer(state)).Fin)) / 1)
 17325  		if have < (*Gz_state)(unsafe.Pointer(state)).Fsize {
 17326  			*(*uint8)(unsafe.Pointer((*Gz_state)(unsafe.Pointer(state)).Fin + uintptr(have))) = uint8(c)
 17327  			(*Z_stream)(unsafe.Pointer(strm)).Favail_in++
 17328  			(*Gz_state)(unsafe.Pointer(state)).Fx.Fpos++
 17329  			return c & 0xff
 17330  		}
 17331  	}
 17332  
 17333  	// no room in buffer or not initialized, use gz_write()
 17334  	*(*uint8)(unsafe.Pointer(bp)) = uint8(c)
 17335  	if gz_write(tls, state, bp, uint64(1)) != uint64(1) {
 17336  		return -1
 17337  	}
 17338  	return c & 0xff
 17339  }
 17340  
 17341  // -- see zlib.h --
 17342  func Xgzputs(tls *libc.TLS, file GzFile, str uintptr) int32 { /* gzwrite.c:352:13: */
 17343  	var ret int32
 17344  	var len Z_size_t
 17345  	var state Gz_statep
 17346  
 17347  	// get internal structure
 17348  	if file == uintptr(0) {
 17349  		return -1
 17350  	}
 17351  	state = file
 17352  
 17353  	// check that we're writing and that there's no error
 17354  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK {
 17355  		return -1
 17356  	}
 17357  
 17358  	// write string
 17359  	len = libc.Xstrlen(tls, str)
 17360  	ret = int32(gz_write(tls, state, str, len))
 17361  	if ret == 0 && len != uint64(0) {
 17362  		return -1
 17363  	}
 17364  	return ret
 17365  }
 17366  
 17367  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
 17368  //
 17369  // This file is part of GCC.
 17370  //
 17371  // GCC is free software; you can redistribute it and/or modify
 17372  // it under the terms of the GNU General Public License as published by
 17373  // the Free Software Foundation; either version 3, or (at your option)
 17374  // any later version.
 17375  //
 17376  // GCC is distributed in the hope that it will be useful,
 17377  // but WITHOUT ANY WARRANTY; without even the implied warranty of
 17378  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 17379  // GNU General Public License for more details.
 17380  //
 17381  // Under Section 7 of GPL version 3, you are granted additional
 17382  // permissions described in the GCC Runtime Library Exception, version
 17383  // 3.1, as published by the Free Software Foundation.
 17384  //
 17385  // You should have received a copy of the GNU General Public License and
 17386  // a copy of the GCC Runtime Library Exception along with this program;
 17387  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 17388  // <http://www.gnu.org/licenses/>.
 17389  
 17390  // ISO C Standard:  7.15  Variable arguments  <stdarg.h>
 17391  
 17392  // -- see zlib.h --
 17393  func Xgzvprintf(tls *libc.TLS, file GzFile, format uintptr, va Va_list) int32 { /* gzwrite.c:379:15: */
 17394  	var len int32
 17395  	var left uint32
 17396  	var next uintptr
 17397  	var state Gz_statep
 17398  	var strm Z_streamp
 17399  
 17400  	// get internal structure
 17401  	if file == uintptr(0) {
 17402  		return -2
 17403  	}
 17404  	state = file
 17405  	strm = state + 120
 17406  
 17407  	// check that we're writing and that there's no error
 17408  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK {
 17409  		return -2
 17410  	}
 17411  
 17412  	// make sure we have some buffer space
 17413  	if (*Gz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && gz_init(tls, state) == -1 {
 17414  		return (*Gz_state)(unsafe.Pointer(state)).Ferr
 17415  	}
 17416  
 17417  	// check for seek request
 17418  	if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 {
 17419  		(*Gz_state)(unsafe.Pointer(state)).Fseek = 0
 17420  		if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 {
 17421  			return (*Gz_state)(unsafe.Pointer(state)).Ferr
 17422  		}
 17423  	}
 17424  
 17425  	// do the printf() into the input buffer, put length in len -- the input
 17426  	//        buffer is double-sized just for this function, so there is guaranteed to
 17427  	//        be state->size bytes available after the current contents
 17428  	if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) {
 17429  		(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin
 17430  	}
 17431  	next = (*Gz_state)(unsafe.Pointer(state)).Fin + uintptr((int64((*Z_stream)(unsafe.Pointer(strm)).Fnext_in)-int64((*Gz_state)(unsafe.Pointer(state)).Fin))/1) + uintptr((*Z_stream)(unsafe.Pointer(strm)).Favail_in)
 17432  	*(*int8)(unsafe.Pointer(next + uintptr((*Gz_state)(unsafe.Pointer(state)).Fsize-uint32(1)))) = int8(0)
 17433  	len = libc.X__builtin___vsnprintf_chk(tls, next, uint64((*Gz_state)(unsafe.Pointer(state)).Fsize), 0, libc.X__builtin_object_size(tls, next, func() int32 {
 17434  		if X_USE_FORTIFY_LEVEL > 1 {
 17435  			return 1
 17436  		}
 17437  		return 0
 17438  	}()), format, va)
 17439  
 17440  	// check that printf() results fit in buffer
 17441  	if len == 0 || uint32(len) >= (*Gz_state)(unsafe.Pointer(state)).Fsize || int32(*(*int8)(unsafe.Pointer(next + uintptr((*Gz_state)(unsafe.Pointer(state)).Fsize-uint32(1))))) != 0 {
 17442  		return 0
 17443  	}
 17444  
 17445  	// update buffer and position, compress first half if past that
 17446  	*(*UInt)(unsafe.Pointer(strm + 8)) += uint32(len)
 17447  	*(*Off_t)(unsafe.Pointer(state + 16)) += Off_t(len)
 17448  	if (*Z_stream)(unsafe.Pointer(strm)).Favail_in >= (*Gz_state)(unsafe.Pointer(state)).Fsize {
 17449  		left = (*Z_stream)(unsafe.Pointer(strm)).Favail_in - (*Gz_state)(unsafe.Pointer(state)).Fsize
 17450  		(*Z_stream)(unsafe.Pointer(strm)).Favail_in = (*Gz_state)(unsafe.Pointer(state)).Fsize
 17451  		if gz_comp(tls, state, Z_NO_FLUSH) == -1 {
 17452  			return (*Gz_state)(unsafe.Pointer(state)).Ferr
 17453  		}
 17454  		libc.X__builtin___memcpy_chk(tls, (*Gz_state)(unsafe.Pointer(state)).Fin, (*Gz_state)(unsafe.Pointer(state)).Fin+uintptr((*Gz_state)(unsafe.Pointer(state)).Fsize), uint64(left), libc.X__builtin_object_size(tls, (*Gz_state)(unsafe.Pointer(state)).Fin, 0))
 17455  		(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = (*Gz_state)(unsafe.Pointer(state)).Fin
 17456  		(*Z_stream)(unsafe.Pointer(strm)).Favail_in = left
 17457  	}
 17458  	return len
 17459  }
 17460  
 17461  func Xgzprintf(tls *libc.TLS, file GzFile, format uintptr, va uintptr) int32 { /* gzwrite.c:451:15: */
 17462  	var va1 Va_list
 17463  	_ = va1
 17464  	var ret int32
 17465  
 17466  	va1 = va
 17467  	ret = Xgzvprintf(tls, file, format, va1)
 17468  	_ = va1
 17469  	return ret
 17470  }
 17471  
 17472  // -- see zlib.h --
 17473  func Xgzflush(tls *libc.TLS, file GzFile, flush int32) int32 { /* gzwrite.c:553:13: */
 17474  	var state Gz_statep
 17475  
 17476  	// get internal structure
 17477  	if file == uintptr(0) {
 17478  		return -2
 17479  	}
 17480  	state = file
 17481  
 17482  	// check that we're writing and that there's no error
 17483  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK {
 17484  		return -2
 17485  	}
 17486  
 17487  	// check flush parameter
 17488  	if flush < 0 || flush > Z_FINISH {
 17489  		return -2
 17490  	}
 17491  
 17492  	// check for seek request
 17493  	if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 {
 17494  		(*Gz_state)(unsafe.Pointer(state)).Fseek = 0
 17495  		if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 {
 17496  			return (*Gz_state)(unsafe.Pointer(state)).Ferr
 17497  		}
 17498  	}
 17499  
 17500  	// compress remaining data with requested flush
 17501  	gz_comp(tls, state, flush)
 17502  	return (*Gz_state)(unsafe.Pointer(state)).Ferr
 17503  }
 17504  
 17505  // -- see zlib.h --
 17506  func Xgzsetparams(tls *libc.TLS, file GzFile, level int32, strategy int32) int32 { /* gzwrite.c:585:13: */
 17507  	var state Gz_statep
 17508  	var strm Z_streamp
 17509  
 17510  	// get internal structure
 17511  	if file == uintptr(0) {
 17512  		return -2
 17513  	}
 17514  	state = file
 17515  	strm = state + 120
 17516  
 17517  	// check that we're writing and that there's no error
 17518  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE || (*Gz_state)(unsafe.Pointer(state)).Ferr != Z_OK {
 17519  		return -2
 17520  	}
 17521  
 17522  	// if no change is requested, then do nothing
 17523  	if level == (*Gz_state)(unsafe.Pointer(state)).Flevel && strategy == (*Gz_state)(unsafe.Pointer(state)).Fstrategy {
 17524  		return Z_OK
 17525  	}
 17526  
 17527  	// check for seek request
 17528  	if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 {
 17529  		(*Gz_state)(unsafe.Pointer(state)).Fseek = 0
 17530  		if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 {
 17531  			return (*Gz_state)(unsafe.Pointer(state)).Ferr
 17532  		}
 17533  	}
 17534  
 17535  	// change compression parameters for subsequent input
 17536  	if (*Gz_state)(unsafe.Pointer(state)).Fsize != 0 {
 17537  		// flush previous input with previous parameters before changing
 17538  		if (*Z_stream)(unsafe.Pointer(strm)).Favail_in != 0 && gz_comp(tls, state, Z_BLOCK) == -1 {
 17539  			return (*Gz_state)(unsafe.Pointer(state)).Ferr
 17540  		}
 17541  		XdeflateParams(tls, strm, level, strategy)
 17542  	}
 17543  	(*Gz_state)(unsafe.Pointer(state)).Flevel = level
 17544  	(*Gz_state)(unsafe.Pointer(state)).Fstrategy = strategy
 17545  	return Z_OK
 17546  }
 17547  
 17548  // -- see zlib.h --
 17549  func Xgzclose_w(tls *libc.TLS, file GzFile) int32 { /* gzwrite.c:627:13: */
 17550  	var ret int32 = Z_OK
 17551  	var state Gz_statep
 17552  
 17553  	// get internal structure
 17554  	if file == uintptr(0) {
 17555  		return -2
 17556  	}
 17557  	state = file
 17558  
 17559  	// check that we're writing
 17560  	if (*Gz_state)(unsafe.Pointer(state)).Fmode != GZ_WRITE {
 17561  		return -2
 17562  	}
 17563  
 17564  	// check for seek request
 17565  	if (*Gz_state)(unsafe.Pointer(state)).Fseek != 0 {
 17566  		(*Gz_state)(unsafe.Pointer(state)).Fseek = 0
 17567  		if gz_zero(tls, state, (*Gz_state)(unsafe.Pointer(state)).Fskip) == -1 {
 17568  			ret = (*Gz_state)(unsafe.Pointer(state)).Ferr
 17569  		}
 17570  	}
 17571  
 17572  	// flush, free memory, and close file
 17573  	if gz_comp(tls, state, Z_FINISH) == -1 {
 17574  		ret = (*Gz_state)(unsafe.Pointer(state)).Ferr
 17575  	}
 17576  	if (*Gz_state)(unsafe.Pointer(state)).Fsize != 0 {
 17577  		if !((*Gz_state)(unsafe.Pointer(state)).Fdirect != 0) {
 17578  			XdeflateEnd(tls, state+120)
 17579  			libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fout)
 17580  		}
 17581  		libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fin)
 17582  	}
 17583  	Xgz_error(tls, state, Z_OK, uintptr(0))
 17584  	libc.Xfree(tls, (*Gz_state)(unsafe.Pointer(state)).Fpath)
 17585  	if libc.Xclose(tls, (*Gz_state)(unsafe.Pointer(state)).Ffd) == -1 {
 17586  		ret = -1
 17587  	}
 17588  	libc.Xfree(tls, state)
 17589  	return ret
 17590  }
 17591  
 17592  // Reverse the bytes in a 32-bit value
 17593  
 17594  // inftrees.h -- header to use inftrees.c
 17595  // Copyright (C) 1995-2005, 2010 Mark Adler
 17596  // For conditions of distribution and use, see copyright notice in zlib.h
 17597  
 17598  // WARNING: this file should *not* be used by applications. It is
 17599  //    part of the implementation of the compression library and is
 17600  //    subject to change. Applications should only use zlib.h.
 17601  //
 17602  
 17603  // Structure for decoding tables.  Each entry provides either the
 17604  //    information needed to do the operation requested by the code that
 17605  //    indexed that table entry, or it provides a pointer to another
 17606  //    table that indexes more bits of the code.  op indicates whether
 17607  //    the entry is a pointer to another table, a literal, a length or
 17608  //    distance, an end-of-block, or an invalid code.  For a table
 17609  //    pointer, the low four bits of op is the number of index bits of
 17610  //    that table.  For a length or distance, the low four bits of op
 17611  //    is the number of extra bits to get after the code.  bits is
 17612  //    the number of bits in this code or part of the code to drop off
 17613  //    of the bit buffer.  val is the actual byte to output in the case
 17614  //    of a literal, the base length or distance, or the offset from
 17615  //    the current table to the next table.  Each entry is four bytes.
 17616  type Code = struct {
 17617  	Fop   uint8
 17618  	Fbits uint8
 17619  	Fval  uint16
 17620  } /* inftrees.h:28:3 */
 17621  
 17622  // op values as set by inflate_table():
 17623  //     00000000 - literal
 17624  //     0000tttt - table link, tttt != 0 is the number of table index bits
 17625  //     0001eeee - length or distance, eeee is the number of extra bits
 17626  //     01100000 - end of block
 17627  //     01000000 - invalid code
 17628  //
 17629  
 17630  // Maximum size of the dynamic table.  The maximum number of code structures is
 17631  //    1444, which is the sum of 852 for literal/length codes and 592 for distance
 17632  //    codes.  These values were found by exhaustive searches using the program
 17633  //    examples/enough.c found in the zlib distribtution.  The arguments to that
 17634  //    program are the number of symbols, the initial root table size, and the
 17635  //    maximum bit length of a code.  "enough 286 9 15" for literal/length codes
 17636  //    returns returns 852, and "enough 30 6 15" for distance codes returns 592.
 17637  //    The initial root table size (9 or 6) is found in the fifth argument of the
 17638  //    inflate_table() calls in inflate.c and infback.c.  If the root table size is
 17639  //    changed, then these maximum sizes would be need to be recalculated and
 17640  //    updated.
 17641  
 17642  // Type of code to build for inflate_table()
 17643  type Codetype = uint32 /* inftrees.h:58:3 */
 17644  // inflate.h -- internal inflate state definition
 17645  // Copyright (C) 1995-2016 Mark Adler
 17646  // For conditions of distribution and use, see copyright notice in zlib.h
 17647  
 17648  // WARNING: this file should *not* be used by applications. It is
 17649  //    part of the implementation of the compression library and is
 17650  //    subject to change. Applications should only use zlib.h.
 17651  //
 17652  
 17653  // define NO_GZIP when compiling if you want to disable gzip header and
 17654  //    trailer decoding by inflate().  NO_GZIP would be used to avoid linking in
 17655  //    the crc code when it is not needed.  For shared libraries, gzip decoding
 17656  //    should be left enabled.
 17657  
 17658  // Possible inflate modes between inflate() calls
 17659  type Inflate_mode = uint32 /* inflate.h:53:3 */
 17660  
 17661  //
 17662  //     State transitions between above modes -
 17663  //
 17664  //     (most modes can go to BAD or MEM on error -- not shown for clarity)
 17665  //
 17666  //     Process header:
 17667  //         HEAD -> (gzip) or (zlib) or (raw)
 17668  //         (gzip) -> FLAGS -> TIME -> OS -> EXLEN -> EXTRA -> NAME -> COMMENT ->
 17669  //                   HCRC -> TYPE
 17670  //         (zlib) -> DICTID or TYPE
 17671  //         DICTID -> DICT -> TYPE
 17672  //         (raw) -> TYPEDO
 17673  //     Read deflate blocks:
 17674  //             TYPE -> TYPEDO -> STORED or TABLE or LEN_ or CHECK
 17675  //             STORED -> COPY_ -> COPY -> TYPE
 17676  //             TABLE -> LENLENS -> CODELENS -> LEN_
 17677  //             LEN_ -> LEN
 17678  //     Read deflate codes in fixed or dynamic block:
 17679  //                 LEN -> LENEXT or LIT or TYPE
 17680  //                 LENEXT -> DIST -> DISTEXT -> MATCH -> LEN
 17681  //                 LIT -> LEN
 17682  //     Process trailer:
 17683  //         CHECK -> LENGTH -> DONE
 17684  //
 17685  
 17686  // State maintained between inflate() calls -- approximately 7K bytes, not
 17687  //    including the allocated sliding window, which is up to 32K bytes.
 17688  type Inflate_state = struct {
 17689  	Fstrm        Z_streamp
 17690  	Fmode        Inflate_mode
 17691  	Flast        int32
 17692  	Fwrap        int32
 17693  	Fhavedict    int32
 17694  	Fflags       int32
 17695  	Fdmax        uint32
 17696  	Fcheck       uint64
 17697  	Ftotal       uint64
 17698  	Fhead        Gz_headerp
 17699  	Fwbits       uint32
 17700  	Fwsize       uint32
 17701  	Fwhave       uint32
 17702  	Fwnext       uint32
 17703  	Fwindow      uintptr
 17704  	Fhold        uint64
 17705  	Fbits        uint32
 17706  	Flength      uint32
 17707  	Foffset      uint32
 17708  	Fextra       uint32
 17709  	Flencode     uintptr
 17710  	Fdistcode    uintptr
 17711  	Flenbits     uint32
 17712  	Fdistbits    uint32
 17713  	Fncode       uint32
 17714  	Fnlen        uint32
 17715  	Fndist       uint32
 17716  	Fhave        uint32
 17717  	Fnext        uintptr
 17718  	Flens        [320]uint16
 17719  	Fwork        [288]uint16
 17720  	Fcodes       [1444]Code
 17721  	Fsane        int32
 17722  	Fback        int32
 17723  	Fwas         uint32
 17724  	F__ccgo_pad1 [4]byte
 17725  } /* inflate.h:82:1 */
 17726  
 17727  //
 17728  //    strm provides memory allocation functions in zalloc and zfree, or
 17729  //    Z_NULL to use the library memory allocation functions.
 17730  //
 17731  //    windowBits is in the range 8..15, and window is a user-supplied
 17732  //    window and output buffer that is 2**windowBits bytes.
 17733  //
 17734  func XinflateBackInit_(tls *libc.TLS, strm Z_streamp, windowBits int32, window uintptr, version uintptr, stream_size int32) int32 { /* infback.c:28:13: */
 17735  	var state uintptr
 17736  
 17737  	if version == uintptr(Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(ts))) || stream_size != int32(unsafe.Sizeof(Z_stream{})) {
 17738  		return -6
 17739  	}
 17740  	if strm == uintptr(Z_NULL) || window == uintptr(Z_NULL) || windowBits < 8 || windowBits > 15 {
 17741  		return -2
 17742  	}
 17743  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL) // in case we return an error
 17744  	if (*Z_stream)(unsafe.Pointer(strm)).Fzalloc == uintptr(0) {
 17745  		(*Z_stream)(unsafe.Pointer(strm)).Fzalloc = *(*uintptr)(unsafe.Pointer(&struct {
 17746  			f func(*libc.TLS, Voidpf, uint32, uint32) Voidpf
 17747  		}{Xzcalloc}))
 17748  		(*Z_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(0)
 17749  	}
 17750  	if (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) {
 17751  		(*Z_stream)(unsafe.Pointer(strm)).Fzfree = *(*uintptr)(unsafe.Pointer(&struct {
 17752  			f func(*libc.TLS, Voidpf, Voidpf)
 17753  		}{Xzcfree}))
 17754  	}
 17755  	state = (*struct {
 17756  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 17757  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, uint32(1), uint32(unsafe.Sizeof(Inflate_state{})))
 17758  	if state == uintptr(Z_NULL) {
 17759  		return -4
 17760  	}
 17761  
 17762  	(*Z_stream)(unsafe.Pointer(strm)).Fstate = state
 17763  	(*Inflate_state)(unsafe.Pointer(state)).Fdmax = 32768
 17764  	(*Inflate_state)(unsafe.Pointer(state)).Fwbits = UInt(windowBits)
 17765  	(*Inflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << windowBits
 17766  	(*Inflate_state)(unsafe.Pointer(state)).Fwindow = window
 17767  	(*Inflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
 17768  	(*Inflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
 17769  	return Z_OK
 17770  }
 17771  
 17772  //
 17773  //    Return state with length and distance decoding tables and index sizes set to
 17774  //    fixed code decoding.  Normally this returns fixed tables from inffixed.h.
 17775  //    If BUILDFIXED is defined, then instead this routine builds the tables the
 17776  //    first time it's called, and returns those tables the first time and
 17777  //    thereafter.  This reduces the size of the code by about 2K bytes, in
 17778  //    exchange for a little execution time.  However, BUILDFIXED should not be
 17779  //    used for threaded applications, since the rewriting of the tables and virgin
 17780  //    may not be thread-safe.
 17781  //
 17782  func fixedtables(tls *libc.TLS, state uintptr) { /* infback.c:82:12: */
 17783  	(*Inflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&lenfix))
 17784  	(*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
 17785  	(*Inflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&distfix))
 17786  	(*Inflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
 17787  }
 17788  
 17789  var lenfix = [512]Code{
 17790  	{Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(80)}, {Fbits: uint8(8), Fval: uint16(16)}, {Fop: uint8(20), Fbits: uint8(8), Fval: uint16(115)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(112)}, {Fbits: uint8(8), Fval: uint16(48)},
 17791  	{Fbits: uint8(9), Fval: uint16(192)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(96)}, {Fbits: uint8(8), Fval: uint16(32)}, {Fbits: uint8(9), Fval: uint16(160)}, {Fbits: uint8(8)}, {Fbits: uint8(8), Fval: uint16(128)},
 17792  	{Fbits: uint8(8), Fval: uint16(64)}, {Fbits: uint8(9), Fval: uint16(224)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(88)}, {Fbits: uint8(8), Fval: uint16(24)}, {Fbits: uint8(9), Fval: uint16(144)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)},
 17793  	{Fbits: uint8(8), Fval: uint16(120)}, {Fbits: uint8(8), Fval: uint16(56)}, {Fbits: uint8(9), Fval: uint16(208)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(104)}, {Fbits: uint8(8), Fval: uint16(40)}, {Fbits: uint8(9), Fval: uint16(176)},
 17794  	{Fbits: uint8(8), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(136)}, {Fbits: uint8(8), Fval: uint16(72)}, {Fbits: uint8(9), Fval: uint16(240)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(84)}, {Fbits: uint8(8), Fval: uint16(20)},
 17795  	{Fop: uint8(21), Fbits: uint8(8), Fval: uint16(227)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(116)}, {Fbits: uint8(8), Fval: uint16(52)}, {Fbits: uint8(9), Fval: uint16(200)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(100)},
 17796  	{Fbits: uint8(8), Fval: uint16(36)}, {Fbits: uint8(9), Fval: uint16(168)}, {Fbits: uint8(8), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(132)}, {Fbits: uint8(8), Fval: uint16(68)}, {Fbits: uint8(9), Fval: uint16(232)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)},
 17797  	{Fbits: uint8(8), Fval: uint16(92)}, {Fbits: uint8(8), Fval: uint16(28)}, {Fbits: uint8(9), Fval: uint16(152)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(124)}, {Fbits: uint8(8), Fval: uint16(60)}, {Fbits: uint8(9), Fval: uint16(216)},
 17798  	{Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(108)}, {Fbits: uint8(8), Fval: uint16(44)}, {Fbits: uint8(9), Fval: uint16(184)}, {Fbits: uint8(8), Fval: uint16(12)}, {Fbits: uint8(8), Fval: uint16(140)}, {Fbits: uint8(8), Fval: uint16(76)},
 17799  	{Fbits: uint8(9), Fval: uint16(248)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(82)}, {Fbits: uint8(8), Fval: uint16(18)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(163)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(114)},
 17800  	{Fbits: uint8(8), Fval: uint16(50)}, {Fbits: uint8(9), Fval: uint16(196)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(98)}, {Fbits: uint8(8), Fval: uint16(34)}, {Fbits: uint8(9), Fval: uint16(164)}, {Fbits: uint8(8), Fval: uint16(2)},
 17801  	{Fbits: uint8(8), Fval: uint16(130)}, {Fbits: uint8(8), Fval: uint16(66)}, {Fbits: uint8(9), Fval: uint16(228)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(90)}, {Fbits: uint8(8), Fval: uint16(26)}, {Fbits: uint8(9), Fval: uint16(148)},
 17802  	{Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(122)}, {Fbits: uint8(8), Fval: uint16(58)}, {Fbits: uint8(9), Fval: uint16(212)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(106)}, {Fbits: uint8(8), Fval: uint16(42)},
 17803  	{Fbits: uint8(9), Fval: uint16(180)}, {Fbits: uint8(8), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(138)}, {Fbits: uint8(8), Fval: uint16(74)}, {Fbits: uint8(9), Fval: uint16(244)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(86)},
 17804  	{Fbits: uint8(8), Fval: uint16(22)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(118)}, {Fbits: uint8(8), Fval: uint16(54)}, {Fbits: uint8(9), Fval: uint16(204)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)},
 17805  	{Fbits: uint8(8), Fval: uint16(102)}, {Fbits: uint8(8), Fval: uint16(38)}, {Fbits: uint8(9), Fval: uint16(172)}, {Fbits: uint8(8), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(134)}, {Fbits: uint8(8), Fval: uint16(70)}, {Fbits: uint8(9), Fval: uint16(236)},
 17806  	{Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(94)}, {Fbits: uint8(8), Fval: uint16(30)}, {Fbits: uint8(9), Fval: uint16(156)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(126)}, {Fbits: uint8(8), Fval: uint16(62)},
 17807  	{Fbits: uint8(9), Fval: uint16(220)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(110)}, {Fbits: uint8(8), Fval: uint16(46)}, {Fbits: uint8(9), Fval: uint16(188)}, {Fbits: uint8(8), Fval: uint16(14)}, {Fbits: uint8(8), Fval: uint16(142)},
 17808  	{Fbits: uint8(8), Fval: uint16(78)}, {Fbits: uint8(9), Fval: uint16(252)}, {Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(81)}, {Fbits: uint8(8), Fval: uint16(17)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(131)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)},
 17809  	{Fbits: uint8(8), Fval: uint16(113)}, {Fbits: uint8(8), Fval: uint16(49)}, {Fbits: uint8(9), Fval: uint16(194)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(97)}, {Fbits: uint8(8), Fval: uint16(33)}, {Fbits: uint8(9), Fval: uint16(162)},
 17810  	{Fbits: uint8(8), Fval: uint16(1)}, {Fbits: uint8(8), Fval: uint16(129)}, {Fbits: uint8(8), Fval: uint16(65)}, {Fbits: uint8(9), Fval: uint16(226)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(89)}, {Fbits: uint8(8), Fval: uint16(25)},
 17811  	{Fbits: uint8(9), Fval: uint16(146)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(121)}, {Fbits: uint8(8), Fval: uint16(57)}, {Fbits: uint8(9), Fval: uint16(210)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(105)},
 17812  	{Fbits: uint8(8), Fval: uint16(41)}, {Fbits: uint8(9), Fval: uint16(178)}, {Fbits: uint8(8), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(137)}, {Fbits: uint8(8), Fval: uint16(73)}, {Fbits: uint8(9), Fval: uint16(242)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)},
 17813  	{Fbits: uint8(8), Fval: uint16(85)}, {Fbits: uint8(8), Fval: uint16(21)}, {Fop: uint8(16), Fbits: uint8(8), Fval: uint16(258)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(117)}, {Fbits: uint8(8), Fval: uint16(53)}, {Fbits: uint8(9), Fval: uint16(202)},
 17814  	{Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(101)}, {Fbits: uint8(8), Fval: uint16(37)}, {Fbits: uint8(9), Fval: uint16(170)}, {Fbits: uint8(8), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(133)}, {Fbits: uint8(8), Fval: uint16(69)},
 17815  	{Fbits: uint8(9), Fval: uint16(234)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(93)}, {Fbits: uint8(8), Fval: uint16(29)}, {Fbits: uint8(9), Fval: uint16(154)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(125)},
 17816  	{Fbits: uint8(8), Fval: uint16(61)}, {Fbits: uint8(9), Fval: uint16(218)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(109)}, {Fbits: uint8(8), Fval: uint16(45)}, {Fbits: uint8(9), Fval: uint16(186)}, {Fbits: uint8(8), Fval: uint16(13)},
 17817  	{Fbits: uint8(8), Fval: uint16(141)}, {Fbits: uint8(8), Fval: uint16(77)}, {Fbits: uint8(9), Fval: uint16(250)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(19)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(195)},
 17818  	{Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(115)}, {Fbits: uint8(8), Fval: uint16(51)}, {Fbits: uint8(9), Fval: uint16(198)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(35)},
 17819  	{Fbits: uint8(9), Fval: uint16(166)}, {Fbits: uint8(8), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(131)}, {Fbits: uint8(8), Fval: uint16(67)}, {Fbits: uint8(9), Fval: uint16(230)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(91)},
 17820  	{Fbits: uint8(8), Fval: uint16(27)}, {Fbits: uint8(9), Fval: uint16(150)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(123)}, {Fbits: uint8(8), Fval: uint16(59)}, {Fbits: uint8(9), Fval: uint16(214)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)},
 17821  	{Fbits: uint8(8), Fval: uint16(107)}, {Fbits: uint8(8), Fval: uint16(43)}, {Fbits: uint8(9), Fval: uint16(182)}, {Fbits: uint8(8), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(139)}, {Fbits: uint8(8), Fval: uint16(75)}, {Fbits: uint8(9), Fval: uint16(246)},
 17822  	{Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(87)}, {Fbits: uint8(8), Fval: uint16(23)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(119)}, {Fbits: uint8(8), Fval: uint16(55)},
 17823  	{Fbits: uint8(9), Fval: uint16(206)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(103)}, {Fbits: uint8(8), Fval: uint16(39)}, {Fbits: uint8(9), Fval: uint16(174)}, {Fbits: uint8(8), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(135)},
 17824  	{Fbits: uint8(8), Fval: uint16(71)}, {Fbits: uint8(9), Fval: uint16(238)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(95)}, {Fbits: uint8(8), Fval: uint16(31)}, {Fbits: uint8(9), Fval: uint16(158)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)},
 17825  	{Fbits: uint8(8), Fval: uint16(127)}, {Fbits: uint8(8), Fval: uint16(63)}, {Fbits: uint8(9), Fval: uint16(222)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(111)}, {Fbits: uint8(8), Fval: uint16(47)}, {Fbits: uint8(9), Fval: uint16(190)},
 17826  	{Fbits: uint8(8), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(143)}, {Fbits: uint8(8), Fval: uint16(79)}, {Fbits: uint8(9), Fval: uint16(254)}, {Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(80)}, {Fbits: uint8(8), Fval: uint16(16)},
 17827  	{Fop: uint8(20), Fbits: uint8(8), Fval: uint16(115)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(112)}, {Fbits: uint8(8), Fval: uint16(48)}, {Fbits: uint8(9), Fval: uint16(193)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(96)},
 17828  	{Fbits: uint8(8), Fval: uint16(32)}, {Fbits: uint8(9), Fval: uint16(161)}, {Fbits: uint8(8)}, {Fbits: uint8(8), Fval: uint16(128)}, {Fbits: uint8(8), Fval: uint16(64)}, {Fbits: uint8(9), Fval: uint16(225)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)},
 17829  	{Fbits: uint8(8), Fval: uint16(88)}, {Fbits: uint8(8), Fval: uint16(24)}, {Fbits: uint8(9), Fval: uint16(145)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(120)}, {Fbits: uint8(8), Fval: uint16(56)}, {Fbits: uint8(9), Fval: uint16(209)},
 17830  	{Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(104)}, {Fbits: uint8(8), Fval: uint16(40)}, {Fbits: uint8(9), Fval: uint16(177)}, {Fbits: uint8(8), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(136)}, {Fbits: uint8(8), Fval: uint16(72)},
 17831  	{Fbits: uint8(9), Fval: uint16(241)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(84)}, {Fbits: uint8(8), Fval: uint16(20)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(227)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(116)},
 17832  	{Fbits: uint8(8), Fval: uint16(52)}, {Fbits: uint8(9), Fval: uint16(201)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(100)}, {Fbits: uint8(8), Fval: uint16(36)}, {Fbits: uint8(9), Fval: uint16(169)}, {Fbits: uint8(8), Fval: uint16(4)},
 17833  	{Fbits: uint8(8), Fval: uint16(132)}, {Fbits: uint8(8), Fval: uint16(68)}, {Fbits: uint8(9), Fval: uint16(233)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(92)}, {Fbits: uint8(8), Fval: uint16(28)}, {Fbits: uint8(9), Fval: uint16(153)},
 17834  	{Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(124)}, {Fbits: uint8(8), Fval: uint16(60)}, {Fbits: uint8(9), Fval: uint16(217)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(108)}, {Fbits: uint8(8), Fval: uint16(44)},
 17835  	{Fbits: uint8(9), Fval: uint16(185)}, {Fbits: uint8(8), Fval: uint16(12)}, {Fbits: uint8(8), Fval: uint16(140)}, {Fbits: uint8(8), Fval: uint16(76)}, {Fbits: uint8(9), Fval: uint16(249)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(82)},
 17836  	{Fbits: uint8(8), Fval: uint16(18)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(163)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(114)}, {Fbits: uint8(8), Fval: uint16(50)}, {Fbits: uint8(9), Fval: uint16(197)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)},
 17837  	{Fbits: uint8(8), Fval: uint16(98)}, {Fbits: uint8(8), Fval: uint16(34)}, {Fbits: uint8(9), Fval: uint16(165)}, {Fbits: uint8(8), Fval: uint16(2)}, {Fbits: uint8(8), Fval: uint16(130)}, {Fbits: uint8(8), Fval: uint16(66)}, {Fbits: uint8(9), Fval: uint16(229)},
 17838  	{Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(90)}, {Fbits: uint8(8), Fval: uint16(26)}, {Fbits: uint8(9), Fval: uint16(149)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(122)}, {Fbits: uint8(8), Fval: uint16(58)},
 17839  	{Fbits: uint8(9), Fval: uint16(213)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(106)}, {Fbits: uint8(8), Fval: uint16(42)}, {Fbits: uint8(9), Fval: uint16(181)}, {Fbits: uint8(8), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(138)},
 17840  	{Fbits: uint8(8), Fval: uint16(74)}, {Fbits: uint8(9), Fval: uint16(245)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(86)}, {Fbits: uint8(8), Fval: uint16(22)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)},
 17841  	{Fbits: uint8(8), Fval: uint16(118)}, {Fbits: uint8(8), Fval: uint16(54)}, {Fbits: uint8(9), Fval: uint16(205)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(102)}, {Fbits: uint8(8), Fval: uint16(38)}, {Fbits: uint8(9), Fval: uint16(173)},
 17842  	{Fbits: uint8(8), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(134)}, {Fbits: uint8(8), Fval: uint16(70)}, {Fbits: uint8(9), Fval: uint16(237)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(94)}, {Fbits: uint8(8), Fval: uint16(30)},
 17843  	{Fbits: uint8(9), Fval: uint16(157)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(126)}, {Fbits: uint8(8), Fval: uint16(62)}, {Fbits: uint8(9), Fval: uint16(221)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(110)},
 17844  	{Fbits: uint8(8), Fval: uint16(46)}, {Fbits: uint8(9), Fval: uint16(189)}, {Fbits: uint8(8), Fval: uint16(14)}, {Fbits: uint8(8), Fval: uint16(142)}, {Fbits: uint8(8), Fval: uint16(78)}, {Fbits: uint8(9), Fval: uint16(253)}, {Fop: uint8(96), Fbits: uint8(7)},
 17845  	{Fbits: uint8(8), Fval: uint16(81)}, {Fbits: uint8(8), Fval: uint16(17)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(131)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(113)}, {Fbits: uint8(8), Fval: uint16(49)}, {Fbits: uint8(9), Fval: uint16(195)},
 17846  	{Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(97)}, {Fbits: uint8(8), Fval: uint16(33)}, {Fbits: uint8(9), Fval: uint16(163)}, {Fbits: uint8(8), Fval: uint16(1)}, {Fbits: uint8(8), Fval: uint16(129)}, {Fbits: uint8(8), Fval: uint16(65)},
 17847  	{Fbits: uint8(9), Fval: uint16(227)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(89)}, {Fbits: uint8(8), Fval: uint16(25)}, {Fbits: uint8(9), Fval: uint16(147)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(121)},
 17848  	{Fbits: uint8(8), Fval: uint16(57)}, {Fbits: uint8(9), Fval: uint16(211)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(105)}, {Fbits: uint8(8), Fval: uint16(41)}, {Fbits: uint8(9), Fval: uint16(179)}, {Fbits: uint8(8), Fval: uint16(9)},
 17849  	{Fbits: uint8(8), Fval: uint16(137)}, {Fbits: uint8(8), Fval: uint16(73)}, {Fbits: uint8(9), Fval: uint16(243)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(85)}, {Fbits: uint8(8), Fval: uint16(21)}, {Fop: uint8(16), Fbits: uint8(8), Fval: uint16(258)},
 17850  	{Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(117)}, {Fbits: uint8(8), Fval: uint16(53)}, {Fbits: uint8(9), Fval: uint16(203)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(101)}, {Fbits: uint8(8), Fval: uint16(37)},
 17851  	{Fbits: uint8(9), Fval: uint16(171)}, {Fbits: uint8(8), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(133)}, {Fbits: uint8(8), Fval: uint16(69)}, {Fbits: uint8(9), Fval: uint16(235)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(93)},
 17852  	{Fbits: uint8(8), Fval: uint16(29)}, {Fbits: uint8(9), Fval: uint16(155)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(125)}, {Fbits: uint8(8), Fval: uint16(61)}, {Fbits: uint8(9), Fval: uint16(219)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)},
 17853  	{Fbits: uint8(8), Fval: uint16(109)}, {Fbits: uint8(8), Fval: uint16(45)}, {Fbits: uint8(9), Fval: uint16(187)}, {Fbits: uint8(8), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(141)}, {Fbits: uint8(8), Fval: uint16(77)}, {Fbits: uint8(9), Fval: uint16(251)},
 17854  	{Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(19)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(195)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(115)}, {Fbits: uint8(8), Fval: uint16(51)},
 17855  	{Fbits: uint8(9), Fval: uint16(199)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(35)}, {Fbits: uint8(9), Fval: uint16(167)}, {Fbits: uint8(8), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(131)},
 17856  	{Fbits: uint8(8), Fval: uint16(67)}, {Fbits: uint8(9), Fval: uint16(231)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(91)}, {Fbits: uint8(8), Fval: uint16(27)}, {Fbits: uint8(9), Fval: uint16(151)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)},
 17857  	{Fbits: uint8(8), Fval: uint16(123)}, {Fbits: uint8(8), Fval: uint16(59)}, {Fbits: uint8(9), Fval: uint16(215)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(107)}, {Fbits: uint8(8), Fval: uint16(43)}, {Fbits: uint8(9), Fval: uint16(183)},
 17858  	{Fbits: uint8(8), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(139)}, {Fbits: uint8(8), Fval: uint16(75)}, {Fbits: uint8(9), Fval: uint16(247)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(87)}, {Fbits: uint8(8), Fval: uint16(23)},
 17859  	{Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(119)}, {Fbits: uint8(8), Fval: uint16(55)}, {Fbits: uint8(9), Fval: uint16(207)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(103)},
 17860  	{Fbits: uint8(8), Fval: uint16(39)}, {Fbits: uint8(9), Fval: uint16(175)}, {Fbits: uint8(8), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(135)}, {Fbits: uint8(8), Fval: uint16(71)}, {Fbits: uint8(9), Fval: uint16(239)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)},
 17861  	{Fbits: uint8(8), Fval: uint16(95)}, {Fbits: uint8(8), Fval: uint16(31)}, {Fbits: uint8(9), Fval: uint16(159)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(127)}, {Fbits: uint8(8), Fval: uint16(63)}, {Fbits: uint8(9), Fval: uint16(223)},
 17862  	{Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(111)}, {Fbits: uint8(8), Fval: uint16(47)}, {Fbits: uint8(9), Fval: uint16(191)}, {Fbits: uint8(8), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(143)}, {Fbits: uint8(8), Fval: uint16(79)},
 17863  	{Fbits: uint8(9), Fval: uint16(255)},
 17864  } /* inffixed.h:10:23 */
 17865  var distfix = [32]Code{
 17866  	{Fop: uint8(16), Fbits: uint8(5), Fval: uint16(1)}, {Fop: uint8(23), Fbits: uint8(5), Fval: uint16(257)}, {Fop: uint8(19), Fbits: uint8(5), Fval: uint16(17)}, {Fop: uint8(27), Fbits: uint8(5), Fval: uint16(4097)}, {Fop: uint8(17), Fbits: uint8(5), Fval: uint16(5)}, {Fop: uint8(25), Fbits: uint8(5), Fval: uint16(1025)},
 17867  	{Fop: uint8(21), Fbits: uint8(5), Fval: uint16(65)}, {Fop: uint8(29), Fbits: uint8(5), Fval: uint16(16385)}, {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(3)}, {Fop: uint8(24), Fbits: uint8(5), Fval: uint16(513)}, {Fop: uint8(20), Fbits: uint8(5), Fval: uint16(33)}, {Fop: uint8(28), Fbits: uint8(5), Fval: uint16(8193)},
 17868  	{Fop: uint8(18), Fbits: uint8(5), Fval: uint16(9)}, {Fop: uint8(26), Fbits: uint8(5), Fval: uint16(2049)}, {Fop: uint8(22), Fbits: uint8(5), Fval: uint16(129)}, {Fop: uint8(64), Fbits: uint8(5)}, {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(2)}, {Fop: uint8(23), Fbits: uint8(5), Fval: uint16(385)},
 17869  	{Fop: uint8(19), Fbits: uint8(5), Fval: uint16(25)}, {Fop: uint8(27), Fbits: uint8(5), Fval: uint16(6145)}, {Fop: uint8(17), Fbits: uint8(5), Fval: uint16(7)}, {Fop: uint8(25), Fbits: uint8(5), Fval: uint16(1537)}, {Fop: uint8(21), Fbits: uint8(5), Fval: uint16(97)}, {Fop: uint8(29), Fbits: uint8(5), Fval: uint16(24577)},
 17870  	{Fop: uint8(16), Fbits: uint8(5), Fval: uint16(4)}, {Fop: uint8(24), Fbits: uint8(5), Fval: uint16(769)}, {Fop: uint8(20), Fbits: uint8(5), Fval: uint16(49)}, {Fop: uint8(28), Fbits: uint8(5), Fval: uint16(12289)}, {Fop: uint8(18), Fbits: uint8(5), Fval: uint16(13)}, {Fop: uint8(26), Fbits: uint8(5), Fval: uint16(3073)},
 17871  	{Fop: uint8(22), Fbits: uint8(5), Fval: uint16(193)}, {Fop: uint8(64), Fbits: uint8(5)},
 17872  } /* inffixed.h:87:23 */
 17873  
 17874  // Macros for inflateBack():
 17875  
 17876  // Load returned state from inflate_fast()
 17877  
 17878  // Set state from registers for inflate_fast()
 17879  
 17880  // Clear the input bit accumulator
 17881  
 17882  // Assure that some input is available.  If input is requested, but denied,
 17883  //    then return a Z_BUF_ERROR from inflateBack().
 17884  
 17885  // Get a byte of input into the bit accumulator, or return from inflateBack()
 17886  //    with an error if there is no input available.
 17887  
 17888  // Assure that there are at least n bits in the bit accumulator.  If there is
 17889  //    not enough available input to do that, then return from inflateBack() with
 17890  //    an error.
 17891  
 17892  // Return the low n bits of the bit accumulator (n < 16)
 17893  
 17894  // Remove n bits from the bit accumulator
 17895  
 17896  // Remove zero to seven bits as needed to go to a byte boundary
 17897  
 17898  // Assure that some output space is available, by writing out the window
 17899  //    if it's full.  If the write fails, return from inflateBack() with a
 17900  //    Z_BUF_ERROR.
 17901  
 17902  //
 17903  //    strm provides the memory allocation functions and window buffer on input,
 17904  //    and provides information on the unused input on return.  For Z_DATA_ERROR
 17905  //    returns, strm will also provide an error message.
 17906  //
 17907  //    in() and out() are the call-back input and output functions.  When
 17908  //    inflateBack() needs more input, it calls in().  When inflateBack() has
 17909  //    filled the window with output, or when it completes with data in the
 17910  //    window, it calls out() to write out the data.  The application must not
 17911  //    change the provided input until in() is called again or inflateBack()
 17912  //    returns.  The application must not change the window/output buffer until
 17913  //    inflateBack() returns.
 17914  //
 17915  //    in() and out() are called with a descriptor parameter provided in the
 17916  //    inflateBack() call.  This parameter can be a structure that provides the
 17917  //    information required to do the read or write, as well as accumulated
 17918  //    information on the input and output such as totals and check values.
 17919  //
 17920  //    in() should return zero on failure.  out() should return non-zero on
 17921  //    failure.  If either in() or out() fails, than inflateBack() returns a
 17922  //    Z_BUF_ERROR.  strm->next_in can be checked for Z_NULL to see whether it
 17923  //    was in() or out() that caused in the error.  Otherwise,  inflateBack()
 17924  //    returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
 17925  //    error, or Z_MEM_ERROR if it could not allocate memory for the state.
 17926  //    inflateBack() can also return Z_STREAM_ERROR if the input parameters
 17927  //    are not correct, i.e. strm is Z_NULL or the state was not initialized.
 17928  //
 17929  func XinflateBack(tls *libc.TLS, strm Z_streamp, in In_func, in_desc uintptr, out Out_func, out_desc uintptr) int32 { /* infback.c:250:13: */
 17930  	bp := tls.Alloc(8)
 17931  	defer tls.Free(8)
 17932  
 17933  	var state uintptr
 17934  	// var next uintptr at bp, 8
 17935  	// next input
 17936  	var put uintptr // next output
 17937  	var have uint32
 17938  	var left uint32  // available input and output
 17939  	var hold uint64  // bit buffer
 17940  	var bits uint32  // bits in bit buffer
 17941  	var copy uint32  // number of stored or match bytes to copy
 17942  	var from uintptr // where to copy match bytes from
 17943  	var here Code    // current decoding table entry
 17944  	var last Code    // parent table entry
 17945  	var len uint32   // length to copy for repeats, bits to drop
 17946  	var ret int32
 17947  
 17948  	// Check that the strm exists and that the state was initialized
 17949  	if !(strm == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fstate == uintptr(Z_NULL)) {
 17950  		goto __1
 17951  	}
 17952  	return -2
 17953  __1:
 17954  	;
 17955  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 17956  
 17957  	// Reset the state
 17958  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL)
 17959  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE
 17960  	(*Inflate_state)(unsafe.Pointer(state)).Flast = 0
 17961  	(*Inflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
 17962  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in
 17963  	if *(*uintptr)(unsafe.Pointer(bp)) != uintptr(Z_NULL) {
 17964  		have = (*Z_stream)(unsafe.Pointer(strm)).Favail_in
 17965  	} else {
 17966  		have = uint32(0)
 17967  	}
 17968  	hold = uint64(0)
 17969  	bits = uint32(0)
 17970  	put = (*Inflate_state)(unsafe.Pointer(state)).Fwindow
 17971  	left = (*Inflate_state)(unsafe.Pointer(state)).Fwsize
 17972  
 17973  	// Inflate until end of block marked as last
 17974  __2:
 17975  	switch (*Inflate_state)(unsafe.Pointer(state)).Fmode {
 17976  	case TYPE:
 17977  		goto __6
 17978  
 17979  	case STORED:
 17980  		goto __7
 17981  
 17982  	case TABLE:
 17983  		goto __8
 17984  
 17985  	case LEN:
 17986  		goto __9
 17987  
 17988  	case DONE:
 17989  		goto __10
 17990  
 17991  	case BAD:
 17992  		goto __11
 17993  
 17994  	default:
 17995  		goto __12
 17996  	}
 17997  	goto __5
 17998  __6:
 17999  	// determine and dispatch block type
 18000  	if !((*Inflate_state)(unsafe.Pointer(state)).Flast != 0) {
 18001  		goto __13
 18002  	}
 18003  __14:
 18004  	hold >>= bits & uint32(7)
 18005  	bits = bits - bits&uint32(7)
 18006  	goto __15
 18007  __15:
 18008  	if 0 != 0 {
 18009  		goto __14
 18010  	}
 18011  	goto __16
 18012  __16:
 18013  	;
 18014  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = DONE
 18015  	goto __5
 18016  __13:
 18017  	;
 18018  __17:
 18019  __20:
 18020  	if !(bits < uint32(3)) {
 18021  		goto __21
 18022  	}
 18023  __22:
 18024  __25:
 18025  	if !(have == uint32(0)) {
 18026  		goto __28
 18027  	}
 18028  	have = (*struct {
 18029  		f func(*libc.TLS, uintptr, uintptr) uint32
 18030  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 18031  	if !(have == uint32(0)) {
 18032  		goto __29
 18033  	}
 18034  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 18035  	ret = -5
 18036  	goto inf_leave
 18037  __29:
 18038  	;
 18039  __28:
 18040  	;
 18041  	goto __26
 18042  __26:
 18043  	if 0 != 0 {
 18044  		goto __25
 18045  	}
 18046  	goto __27
 18047  __27:
 18048  	;
 18049  	have--
 18050  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 18051  	bits = bits + uint32(8)
 18052  	goto __23
 18053  __23:
 18054  	if 0 != 0 {
 18055  		goto __22
 18056  	}
 18057  	goto __24
 18058  __24:
 18059  	;
 18060  	goto __20
 18061  __21:
 18062  	;
 18063  	goto __18
 18064  __18:
 18065  	if 0 != 0 {
 18066  		goto __17
 18067  	}
 18068  	goto __19
 18069  __19:
 18070  	;
 18071  	(*Inflate_state)(unsafe.Pointer(state)).Flast = int32(uint32(hold) & (uint32(1)<<1 - uint32(1)))
 18072  __30:
 18073  	hold >>= 1
 18074  	bits = bits - uint32(1)
 18075  	goto __31
 18076  __31:
 18077  	if 0 != 0 {
 18078  		goto __30
 18079  	}
 18080  	goto __32
 18081  __32:
 18082  	;
 18083  	switch uint32(hold) & (uint32(1)<<2 - uint32(1)) {
 18084  	case uint32(0):
 18085  		goto __34
 18086  	case uint32(1):
 18087  		goto __35
 18088  	case uint32(2):
 18089  		goto __36
 18090  	case uint32(3):
 18091  		goto __37
 18092  	}
 18093  	goto __33
 18094  __34: // stored block
 18095  	;
 18096  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = STORED
 18097  	goto __33
 18098  __35: // fixed block
 18099  	fixedtables(tls, state)
 18100  
 18101  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN // decode codes
 18102  	goto __33
 18103  __36: // dynamic block
 18104  	;
 18105  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TABLE
 18106  	goto __33
 18107  __37:
 18108  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 367 /* "invalid block ty..." */
 18109  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 18110  __33:
 18111  	;
 18112  __38:
 18113  	hold >>= 2
 18114  	bits = bits - uint32(2)
 18115  	goto __39
 18116  __39:
 18117  	if 0 != 0 {
 18118  		goto __38
 18119  	}
 18120  	goto __40
 18121  __40:
 18122  	;
 18123  	goto __5
 18124  
 18125  __7:
 18126  	// get and verify stored block length
 18127  __41:
 18128  	hold >>= bits & uint32(7)
 18129  	bits = bits - bits&uint32(7)
 18130  	goto __42
 18131  __42:
 18132  	if 0 != 0 {
 18133  		goto __41
 18134  	}
 18135  	goto __43
 18136  __43:
 18137  	; // go to byte boundary
 18138  __44:
 18139  __47:
 18140  	if !(bits < uint32(32)) {
 18141  		goto __48
 18142  	}
 18143  __49:
 18144  __52:
 18145  	if !(have == uint32(0)) {
 18146  		goto __55
 18147  	}
 18148  	have = (*struct {
 18149  		f func(*libc.TLS, uintptr, uintptr) uint32
 18150  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 18151  	if !(have == uint32(0)) {
 18152  		goto __56
 18153  	}
 18154  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 18155  	ret = -5
 18156  	goto inf_leave
 18157  __56:
 18158  	;
 18159  __55:
 18160  	;
 18161  	goto __53
 18162  __53:
 18163  	if 0 != 0 {
 18164  		goto __52
 18165  	}
 18166  	goto __54
 18167  __54:
 18168  	;
 18169  	have--
 18170  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 18171  	bits = bits + uint32(8)
 18172  	goto __50
 18173  __50:
 18174  	if 0 != 0 {
 18175  		goto __49
 18176  	}
 18177  	goto __51
 18178  __51:
 18179  	;
 18180  	goto __47
 18181  __48:
 18182  	;
 18183  	goto __45
 18184  __45:
 18185  	if 0 != 0 {
 18186  		goto __44
 18187  	}
 18188  	goto __46
 18189  __46:
 18190  	;
 18191  	if !(hold&uint64(0xffff) != hold>>16^uint64(0xffff)) {
 18192  		goto __57
 18193  	}
 18194  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 386 /* "invalid stored b..." */
 18195  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 18196  	goto __5
 18197  __57:
 18198  	;
 18199  	(*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
 18200  
 18201  __58:
 18202  	hold = uint64(0)
 18203  	bits = uint32(0)
 18204  	goto __59
 18205  __59:
 18206  	if 0 != 0 {
 18207  		goto __58
 18208  	}
 18209  	goto __60
 18210  __60:
 18211  	;
 18212  
 18213  	// copy stored block from input to output
 18214  __61:
 18215  	if !((*Inflate_state)(unsafe.Pointer(state)).Flength != uint32(0)) {
 18216  		goto __62
 18217  	}
 18218  	copy = (*Inflate_state)(unsafe.Pointer(state)).Flength
 18219  __63:
 18220  	if !(have == uint32(0)) {
 18221  		goto __66
 18222  	}
 18223  	have = (*struct {
 18224  		f func(*libc.TLS, uintptr, uintptr) uint32
 18225  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 18226  	if !(have == uint32(0)) {
 18227  		goto __67
 18228  	}
 18229  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 18230  	ret = -5
 18231  	goto inf_leave
 18232  __67:
 18233  	;
 18234  __66:
 18235  	;
 18236  	goto __64
 18237  __64:
 18238  	if 0 != 0 {
 18239  		goto __63
 18240  	}
 18241  	goto __65
 18242  __65:
 18243  	;
 18244  __68:
 18245  	if !(left == uint32(0)) {
 18246  		goto __71
 18247  	}
 18248  	put = (*Inflate_state)(unsafe.Pointer(state)).Fwindow
 18249  	left = (*Inflate_state)(unsafe.Pointer(state)).Fwsize
 18250  	(*Inflate_state)(unsafe.Pointer(state)).Fwhave = left
 18251  	if !((*struct {
 18252  		f func(*libc.TLS, uintptr, uintptr, uint32) int32
 18253  	})(unsafe.Pointer(&struct{ uintptr }{out})).f(tls, out_desc, put, left) != 0) {
 18254  		goto __72
 18255  	}
 18256  	ret = -5
 18257  	goto inf_leave
 18258  __72:
 18259  	;
 18260  __71:
 18261  	;
 18262  	goto __69
 18263  __69:
 18264  	if 0 != 0 {
 18265  		goto __68
 18266  	}
 18267  	goto __70
 18268  __70:
 18269  	;
 18270  	if !(copy > have) {
 18271  		goto __73
 18272  	}
 18273  	copy = have
 18274  __73:
 18275  	;
 18276  	if !(copy > left) {
 18277  		goto __74
 18278  	}
 18279  	copy = left
 18280  __74:
 18281  	;
 18282  	libc.X__builtin___memcpy_chk(tls, put, *(*uintptr)(unsafe.Pointer(bp /* next */)), uint64(copy), libc.X__builtin_object_size(tls, put, 0))
 18283  	have = have - copy
 18284  	*(*uintptr)(unsafe.Pointer(bp /* next */)) += uintptr(copy)
 18285  	left = left - copy
 18286  	put += uintptr(copy)
 18287  	*(*uint32)(unsafe.Pointer(state + 92)) -= copy
 18288  	goto __61
 18289  __62:
 18290  	;
 18291  
 18292  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE
 18293  	goto __5
 18294  
 18295  __8:
 18296  	// get dynamic table entries descriptor
 18297  __75:
 18298  __78:
 18299  	if !(bits < uint32(14)) {
 18300  		goto __79
 18301  	}
 18302  __80:
 18303  __83:
 18304  	if !(have == uint32(0)) {
 18305  		goto __86
 18306  	}
 18307  	have = (*struct {
 18308  		f func(*libc.TLS, uintptr, uintptr) uint32
 18309  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 18310  	if !(have == uint32(0)) {
 18311  		goto __87
 18312  	}
 18313  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 18314  	ret = -5
 18315  	goto inf_leave
 18316  __87:
 18317  	;
 18318  __86:
 18319  	;
 18320  	goto __84
 18321  __84:
 18322  	if 0 != 0 {
 18323  		goto __83
 18324  	}
 18325  	goto __85
 18326  __85:
 18327  	;
 18328  	have--
 18329  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 18330  	bits = bits + uint32(8)
 18331  	goto __81
 18332  __81:
 18333  	if 0 != 0 {
 18334  		goto __80
 18335  	}
 18336  	goto __82
 18337  __82:
 18338  	;
 18339  	goto __78
 18340  __79:
 18341  	;
 18342  	goto __76
 18343  __76:
 18344  	if 0 != 0 {
 18345  		goto __75
 18346  	}
 18347  	goto __77
 18348  __77:
 18349  	;
 18350  	(*Inflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(uint32(1)<<5-uint32(1)) + uint32(257)
 18351  __88:
 18352  	hold >>= 5
 18353  	bits = bits - uint32(5)
 18354  	goto __89
 18355  __89:
 18356  	if 0 != 0 {
 18357  		goto __88
 18358  	}
 18359  	goto __90
 18360  __90:
 18361  	;
 18362  	(*Inflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(uint32(1)<<5-uint32(1)) + uint32(1)
 18363  __91:
 18364  	hold >>= 5
 18365  	bits = bits - uint32(5)
 18366  	goto __92
 18367  __92:
 18368  	if 0 != 0 {
 18369  		goto __91
 18370  	}
 18371  	goto __93
 18372  __93:
 18373  	;
 18374  	(*Inflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(uint32(1)<<4-uint32(1)) + uint32(4)
 18375  __94:
 18376  	hold >>= 4
 18377  	bits = bits - uint32(4)
 18378  	goto __95
 18379  __95:
 18380  	if 0 != 0 {
 18381  		goto __94
 18382  	}
 18383  	goto __96
 18384  __96:
 18385  	;
 18386  	if !((*Inflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Inflate_state)(unsafe.Pointer(state)).Fndist > uint32(30)) {
 18387  		goto __97
 18388  	}
 18389  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 415 /* "too many length ..." */
 18390  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 18391  	goto __5
 18392  __97:
 18393  	;
 18394  
 18395  	// get code length code lengths (not a typo)
 18396  	(*Inflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
 18397  __98:
 18398  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < (*Inflate_state)(unsafe.Pointer(state)).Fncode) {
 18399  		goto __99
 18400  	}
 18401  __100:
 18402  __103:
 18403  	if !(bits < uint32(3)) {
 18404  		goto __104
 18405  	}
 18406  __105:
 18407  __108:
 18408  	if !(have == uint32(0)) {
 18409  		goto __111
 18410  	}
 18411  	have = (*struct {
 18412  		f func(*libc.TLS, uintptr, uintptr) uint32
 18413  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 18414  	if !(have == uint32(0)) {
 18415  		goto __112
 18416  	}
 18417  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 18418  	ret = -5
 18419  	goto inf_leave
 18420  __112:
 18421  	;
 18422  __111:
 18423  	;
 18424  	goto __109
 18425  __109:
 18426  	if 0 != 0 {
 18427  		goto __108
 18428  	}
 18429  	goto __110
 18430  __110:
 18431  	;
 18432  	have--
 18433  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 18434  	bits = bits + uint32(8)
 18435  	goto __106
 18436  __106:
 18437  	if 0 != 0 {
 18438  		goto __105
 18439  	}
 18440  	goto __107
 18441  __107:
 18442  	;
 18443  	goto __103
 18444  __104:
 18445  	;
 18446  	goto __101
 18447  __101:
 18448  	if 0 != 0 {
 18449  		goto __100
 18450  	}
 18451  	goto __102
 18452  __102:
 18453  	;
 18454  	*(*uint16)(unsafe.Pointer(state + 152 + uintptr(order[libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1)])*2)) = uint16(uint32(hold) & (uint32(1)<<3 - uint32(1)))
 18455  __113:
 18456  	hold >>= 3
 18457  	bits = bits - uint32(3)
 18458  	goto __114
 18459  __114:
 18460  	if 0 != 0 {
 18461  		goto __113
 18462  	}
 18463  	goto __115
 18464  __115:
 18465  	;
 18466  	goto __98
 18467  __99:
 18468  	;
 18469  __116:
 18470  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < uint32(19)) {
 18471  		goto __117
 18472  	}
 18473  	*(*uint16)(unsafe.Pointer(state + 152 + uintptr(order[libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1)])*2)) = uint16(0)
 18474  	goto __116
 18475  __117:
 18476  	;
 18477  	(*Inflate_state)(unsafe.Pointer(state)).Fnext = state + 1368 /* &.codes */
 18478  	(*Inflate_state)(unsafe.Pointer(state)).Flencode = (*Inflate_state)(unsafe.Pointer(state)).Fnext
 18479  	(*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
 18480  	ret = Xinflate_table(tls, CODES, state+152, uint32(19), state+144,
 18481  		state+120, state+792)
 18482  	if !(ret != 0) {
 18483  		goto __118
 18484  	}
 18485  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 451 /* "invalid code len..." */
 18486  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 18487  	goto __5
 18488  __118:
 18489  	;
 18490  
 18491  	// get length and distance code code lengths
 18492  	(*Inflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
 18493  __119:
 18494  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < (*Inflate_state)(unsafe.Pointer(state)).Fnlen+(*Inflate_state)(unsafe.Pointer(state)).Fndist) {
 18495  		goto __120
 18496  	}
 18497  __121:
 18498  	here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Flenbits-uint32(1)))*4))
 18499  	if !(uint32(here.Fbits) <= bits) {
 18500  		goto __124
 18501  	}
 18502  	goto __123
 18503  __124:
 18504  	;
 18505  __125:
 18506  __128:
 18507  	if !(have == uint32(0)) {
 18508  		goto __131
 18509  	}
 18510  	have = (*struct {
 18511  		f func(*libc.TLS, uintptr, uintptr) uint32
 18512  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 18513  	if !(have == uint32(0)) {
 18514  		goto __132
 18515  	}
 18516  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 18517  	ret = -5
 18518  	goto inf_leave
 18519  __132:
 18520  	;
 18521  __131:
 18522  	;
 18523  	goto __129
 18524  __129:
 18525  	if 0 != 0 {
 18526  		goto __128
 18527  	}
 18528  	goto __130
 18529  __130:
 18530  	;
 18531  	have--
 18532  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 18533  	bits = bits + uint32(8)
 18534  	goto __126
 18535  __126:
 18536  	if 0 != 0 {
 18537  		goto __125
 18538  	}
 18539  	goto __127
 18540  __127:
 18541  	;
 18542  	goto __122
 18543  __122:
 18544  	goto __121
 18545  	goto __123
 18546  __123:
 18547  	;
 18548  	if !(int32(here.Fval) < 16) {
 18549  		goto __133
 18550  	}
 18551  __135:
 18552  	hold >>= int32(here.Fbits)
 18553  	bits = bits - uint32(here.Fbits)
 18554  	goto __136
 18555  __136:
 18556  	if 0 != 0 {
 18557  		goto __135
 18558  	}
 18559  	goto __137
 18560  __137:
 18561  	;
 18562  	*(*uint16)(unsafe.Pointer(state + 152 + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1))*2)) = here.Fval
 18563  	goto __134
 18564  __133:
 18565  	if !(int32(here.Fval) == 16) {
 18566  		goto __138
 18567  	}
 18568  __140:
 18569  __143:
 18570  	if !(bits < uint32(int32(here.Fbits)+2)) {
 18571  		goto __144
 18572  	}
 18573  __145:
 18574  __148:
 18575  	if !(have == uint32(0)) {
 18576  		goto __151
 18577  	}
 18578  	have = (*struct {
 18579  		f func(*libc.TLS, uintptr, uintptr) uint32
 18580  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 18581  	if !(have == uint32(0)) {
 18582  		goto __152
 18583  	}
 18584  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 18585  	ret = -5
 18586  	goto inf_leave
 18587  __152:
 18588  	;
 18589  __151:
 18590  	;
 18591  	goto __149
 18592  __149:
 18593  	if 0 != 0 {
 18594  		goto __148
 18595  	}
 18596  	goto __150
 18597  __150:
 18598  	;
 18599  	have--
 18600  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 18601  	bits = bits + uint32(8)
 18602  	goto __146
 18603  __146:
 18604  	if 0 != 0 {
 18605  		goto __145
 18606  	}
 18607  	goto __147
 18608  __147:
 18609  	;
 18610  	goto __143
 18611  __144:
 18612  	;
 18613  	goto __141
 18614  __141:
 18615  	if 0 != 0 {
 18616  		goto __140
 18617  	}
 18618  	goto __142
 18619  __142:
 18620  	;
 18621  __153:
 18622  	hold >>= int32(here.Fbits)
 18623  	bits = bits - uint32(here.Fbits)
 18624  	goto __154
 18625  __154:
 18626  	if 0 != 0 {
 18627  		goto __153
 18628  	}
 18629  	goto __155
 18630  __155:
 18631  	;
 18632  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhave == uint32(0)) {
 18633  		goto __156
 18634  	}
 18635  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 476 /* "invalid bit leng..." */
 18636  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 18637  	goto __120
 18638  __156:
 18639  	;
 18640  	len = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Inflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
 18641  	copy = uint32(3) + uint32(hold)&(uint32(1)<<2-uint32(1))
 18642  __157:
 18643  	hold >>= 2
 18644  	bits = bits - uint32(2)
 18645  	goto __158
 18646  __158:
 18647  	if 0 != 0 {
 18648  		goto __157
 18649  	}
 18650  	goto __159
 18651  __159:
 18652  	;
 18653  	goto __139
 18654  __138:
 18655  	if !(int32(here.Fval) == 17) {
 18656  		goto __160
 18657  	}
 18658  __162:
 18659  __165:
 18660  	if !(bits < uint32(int32(here.Fbits)+3)) {
 18661  		goto __166
 18662  	}
 18663  __167:
 18664  __170:
 18665  	if !(have == uint32(0)) {
 18666  		goto __173
 18667  	}
 18668  	have = (*struct {
 18669  		f func(*libc.TLS, uintptr, uintptr) uint32
 18670  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 18671  	if !(have == uint32(0)) {
 18672  		goto __174
 18673  	}
 18674  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 18675  	ret = -5
 18676  	goto inf_leave
 18677  __174:
 18678  	;
 18679  __173:
 18680  	;
 18681  	goto __171
 18682  __171:
 18683  	if 0 != 0 {
 18684  		goto __170
 18685  	}
 18686  	goto __172
 18687  __172:
 18688  	;
 18689  	have--
 18690  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 18691  	bits = bits + uint32(8)
 18692  	goto __168
 18693  __168:
 18694  	if 0 != 0 {
 18695  		goto __167
 18696  	}
 18697  	goto __169
 18698  __169:
 18699  	;
 18700  	goto __165
 18701  __166:
 18702  	;
 18703  	goto __163
 18704  __163:
 18705  	if 0 != 0 {
 18706  		goto __162
 18707  	}
 18708  	goto __164
 18709  __164:
 18710  	;
 18711  __175:
 18712  	hold >>= int32(here.Fbits)
 18713  	bits = bits - uint32(here.Fbits)
 18714  	goto __176
 18715  __176:
 18716  	if 0 != 0 {
 18717  		goto __175
 18718  	}
 18719  	goto __177
 18720  __177:
 18721  	;
 18722  	len = uint32(0)
 18723  	copy = uint32(3) + uint32(hold)&(uint32(1)<<3-uint32(1))
 18724  __178:
 18725  	hold >>= 3
 18726  	bits = bits - uint32(3)
 18727  	goto __179
 18728  __179:
 18729  	if 0 != 0 {
 18730  		goto __178
 18731  	}
 18732  	goto __180
 18733  __180:
 18734  	;
 18735  	goto __161
 18736  __160:
 18737  __181:
 18738  __184:
 18739  	if !(bits < uint32(int32(here.Fbits)+7)) {
 18740  		goto __185
 18741  	}
 18742  __186:
 18743  __189:
 18744  	if !(have == uint32(0)) {
 18745  		goto __192
 18746  	}
 18747  	have = (*struct {
 18748  		f func(*libc.TLS, uintptr, uintptr) uint32
 18749  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 18750  	if !(have == uint32(0)) {
 18751  		goto __193
 18752  	}
 18753  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 18754  	ret = -5
 18755  	goto inf_leave
 18756  __193:
 18757  	;
 18758  __192:
 18759  	;
 18760  	goto __190
 18761  __190:
 18762  	if 0 != 0 {
 18763  		goto __189
 18764  	}
 18765  	goto __191
 18766  __191:
 18767  	;
 18768  	have--
 18769  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 18770  	bits = bits + uint32(8)
 18771  	goto __187
 18772  __187:
 18773  	if 0 != 0 {
 18774  		goto __186
 18775  	}
 18776  	goto __188
 18777  __188:
 18778  	;
 18779  	goto __184
 18780  __185:
 18781  	;
 18782  	goto __182
 18783  __182:
 18784  	if 0 != 0 {
 18785  		goto __181
 18786  	}
 18787  	goto __183
 18788  __183:
 18789  	;
 18790  __194:
 18791  	hold >>= int32(here.Fbits)
 18792  	bits = bits - uint32(here.Fbits)
 18793  	goto __195
 18794  __195:
 18795  	if 0 != 0 {
 18796  		goto __194
 18797  	}
 18798  	goto __196
 18799  __196:
 18800  	;
 18801  	len = uint32(0)
 18802  	copy = uint32(11) + uint32(hold)&(uint32(1)<<7-uint32(1))
 18803  __197:
 18804  	hold >>= 7
 18805  	bits = bits - uint32(7)
 18806  	goto __198
 18807  __198:
 18808  	if 0 != 0 {
 18809  		goto __197
 18810  	}
 18811  	goto __199
 18812  __199:
 18813  	;
 18814  __161:
 18815  	;
 18816  __139:
 18817  	;
 18818  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhave+copy > (*Inflate_state)(unsafe.Pointer(state)).Fnlen+(*Inflate_state)(unsafe.Pointer(state)).Fndist) {
 18819  		goto __200
 18820  	}
 18821  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 476 /* "invalid bit leng..." */
 18822  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 18823  	goto __120
 18824  __200:
 18825  	;
 18826  __201:
 18827  	if !(libc.PostDecUint32(&copy, 1) != 0) {
 18828  		goto __202
 18829  	}
 18830  	*(*uint16)(unsafe.Pointer(state + 152 + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1))*2)) = uint16(len)
 18831  	goto __201
 18832  __202:
 18833  	;
 18834  __134:
 18835  	;
 18836  	goto __119
 18837  __120:
 18838  	;
 18839  
 18840  	// handle error breaks in while
 18841  	if !((*Inflate_state)(unsafe.Pointer(state)).Fmode == BAD) {
 18842  		goto __203
 18843  	}
 18844  	goto __5
 18845  __203:
 18846  	;
 18847  
 18848  	// check for end-of-block code (better have one)
 18849  	if !(int32(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0) {
 18850  		goto __204
 18851  	}
 18852  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 502 /* "invalid code -- ..." */
 18853  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 18854  	goto __5
 18855  __204:
 18856  	;
 18857  
 18858  	// build code tables -- note: do not change the lenbits or distbits
 18859  	//                values here (9 and 6) without reading the comments in inftrees.h
 18860  	//                concerning the ENOUGH constants, which depend on those values
 18861  	(*Inflate_state)(unsafe.Pointer(state)).Fnext = state + 1368 /* &.codes */
 18862  	(*Inflate_state)(unsafe.Pointer(state)).Flencode = (*Inflate_state)(unsafe.Pointer(state)).Fnext
 18863  	(*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
 18864  	ret = Xinflate_table(tls, LENS, state+152, (*Inflate_state)(unsafe.Pointer(state)).Fnlen, state+144,
 18865  		state+120, state+792)
 18866  	if !(ret != 0) {
 18867  		goto __205
 18868  	}
 18869  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 539 /* "invalid literal/..." */
 18870  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 18871  	goto __5
 18872  __205:
 18873  	;
 18874  	(*Inflate_state)(unsafe.Pointer(state)).Fdistcode = (*Inflate_state)(unsafe.Pointer(state)).Fnext
 18875  	(*Inflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
 18876  	ret = Xinflate_table(tls, DISTS, state+152+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Inflate_state)(unsafe.Pointer(state)).Fndist,
 18877  		state+144, state+124, state+792)
 18878  	if !(ret != 0) {
 18879  		goto __206
 18880  	}
 18881  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 567 /* "invalid distance..." */
 18882  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 18883  	goto __5
 18884  __206:
 18885  	;
 18886  
 18887  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN
 18888  
 18889  __9:
 18890  	// use inflate_fast() if we have enough input and output
 18891  	if !(have >= uint32(6) && left >= uint32(258)) {
 18892  		goto __207
 18893  	}
 18894  __208:
 18895  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_out = put
 18896  	(*Z_stream)(unsafe.Pointer(strm)).Favail_out = left
 18897  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp /* next */))
 18898  	(*Z_stream)(unsafe.Pointer(strm)).Favail_in = have
 18899  	(*Inflate_state)(unsafe.Pointer(state)).Fhold = hold
 18900  	(*Inflate_state)(unsafe.Pointer(state)).Fbits = bits
 18901  	goto __209
 18902  __209:
 18903  	if 0 != 0 {
 18904  		goto __208
 18905  	}
 18906  	goto __210
 18907  __210:
 18908  	;
 18909  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwhave < (*Inflate_state)(unsafe.Pointer(state)).Fwsize) {
 18910  		goto __211
 18911  	}
 18912  	(*Inflate_state)(unsafe.Pointer(state)).Fwhave = (*Inflate_state)(unsafe.Pointer(state)).Fwsize - left
 18913  __211:
 18914  	;
 18915  	Xinflate_fast(tls, strm, (*Inflate_state)(unsafe.Pointer(state)).Fwsize)
 18916  __212:
 18917  	put = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out
 18918  	left = (*Z_stream)(unsafe.Pointer(strm)).Favail_out
 18919  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in
 18920  	have = (*Z_stream)(unsafe.Pointer(strm)).Favail_in
 18921  	hold = (*Inflate_state)(unsafe.Pointer(state)).Fhold
 18922  	bits = (*Inflate_state)(unsafe.Pointer(state)).Fbits
 18923  	goto __213
 18924  __213:
 18925  	if 0 != 0 {
 18926  		goto __212
 18927  	}
 18928  	goto __214
 18929  __214:
 18930  	;
 18931  	goto __5
 18932  __207:
 18933  	;
 18934  
 18935  	// get a literal, length, or end-of-block code
 18936  __215:
 18937  	here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Flenbits-uint32(1)))*4))
 18938  	if !(uint32(here.Fbits) <= bits) {
 18939  		goto __218
 18940  	}
 18941  	goto __217
 18942  __218:
 18943  	;
 18944  __219:
 18945  __222:
 18946  	if !(have == uint32(0)) {
 18947  		goto __225
 18948  	}
 18949  	have = (*struct {
 18950  		f func(*libc.TLS, uintptr, uintptr) uint32
 18951  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 18952  	if !(have == uint32(0)) {
 18953  		goto __226
 18954  	}
 18955  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 18956  	ret = -5
 18957  	goto inf_leave
 18958  __226:
 18959  	;
 18960  __225:
 18961  	;
 18962  	goto __223
 18963  __223:
 18964  	if 0 != 0 {
 18965  		goto __222
 18966  	}
 18967  	goto __224
 18968  __224:
 18969  	;
 18970  	have--
 18971  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 18972  	bits = bits + uint32(8)
 18973  	goto __220
 18974  __220:
 18975  	if 0 != 0 {
 18976  		goto __219
 18977  	}
 18978  	goto __221
 18979  __221:
 18980  	;
 18981  	goto __216
 18982  __216:
 18983  	goto __215
 18984  	goto __217
 18985  __217:
 18986  	;
 18987  	if !(here.Fop != 0 && int32(here.Fop)&0xf0 == 0) {
 18988  		goto __227
 18989  	}
 18990  	last = here
 18991  __228:
 18992  	here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(int32(last.Fbits)+int32(last.Fop))-uint32(1))>>int32(last.Fbits))*4))
 18993  	if !(uint32(int32(last.Fbits)+int32(here.Fbits)) <= bits) {
 18994  		goto __231
 18995  	}
 18996  	goto __230
 18997  __231:
 18998  	;
 18999  __232:
 19000  __235:
 19001  	if !(have == uint32(0)) {
 19002  		goto __238
 19003  	}
 19004  	have = (*struct {
 19005  		f func(*libc.TLS, uintptr, uintptr) uint32
 19006  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 19007  	if !(have == uint32(0)) {
 19008  		goto __239
 19009  	}
 19010  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 19011  	ret = -5
 19012  	goto inf_leave
 19013  __239:
 19014  	;
 19015  __238:
 19016  	;
 19017  	goto __236
 19018  __236:
 19019  	if 0 != 0 {
 19020  		goto __235
 19021  	}
 19022  	goto __237
 19023  __237:
 19024  	;
 19025  	have--
 19026  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 19027  	bits = bits + uint32(8)
 19028  	goto __233
 19029  __233:
 19030  	if 0 != 0 {
 19031  		goto __232
 19032  	}
 19033  	goto __234
 19034  __234:
 19035  	;
 19036  	goto __229
 19037  __229:
 19038  	goto __228
 19039  	goto __230
 19040  __230:
 19041  	;
 19042  __240:
 19043  	hold >>= int32(last.Fbits)
 19044  	bits = bits - uint32(last.Fbits)
 19045  	goto __241
 19046  __241:
 19047  	if 0 != 0 {
 19048  		goto __240
 19049  	}
 19050  	goto __242
 19051  __242:
 19052  	;
 19053  __227:
 19054  	;
 19055  __243:
 19056  	hold >>= int32(here.Fbits)
 19057  	bits = bits - uint32(here.Fbits)
 19058  	goto __244
 19059  __244:
 19060  	if 0 != 0 {
 19061  		goto __243
 19062  	}
 19063  	goto __245
 19064  __245:
 19065  	;
 19066  	(*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
 19067  
 19068  	// process literal
 19069  	if !(int32(here.Fop) == 0) {
 19070  		goto __246
 19071  	}
 19072  
 19073  __247:
 19074  	if !(left == uint32(0)) {
 19075  		goto __250
 19076  	}
 19077  	put = (*Inflate_state)(unsafe.Pointer(state)).Fwindow
 19078  	left = (*Inflate_state)(unsafe.Pointer(state)).Fwsize
 19079  	(*Inflate_state)(unsafe.Pointer(state)).Fwhave = left
 19080  	if !((*struct {
 19081  		f func(*libc.TLS, uintptr, uintptr, uint32) int32
 19082  	})(unsafe.Pointer(&struct{ uintptr }{out})).f(tls, out_desc, put, left) != 0) {
 19083  		goto __251
 19084  	}
 19085  	ret = -5
 19086  	goto inf_leave
 19087  __251:
 19088  	;
 19089  __250:
 19090  	;
 19091  	goto __248
 19092  __248:
 19093  	if 0 != 0 {
 19094  		goto __247
 19095  	}
 19096  	goto __249
 19097  __249:
 19098  	;
 19099  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&put, 1))) = uint8((*Inflate_state)(unsafe.Pointer(state)).Flength)
 19100  	left--
 19101  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN
 19102  	goto __5
 19103  __246:
 19104  	;
 19105  
 19106  	// process end of block
 19107  	if !(int32(here.Fop)&32 != 0) {
 19108  		goto __252
 19109  	}
 19110  
 19111  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE
 19112  	goto __5
 19113  __252:
 19114  	;
 19115  
 19116  	// invalid code
 19117  	if !(int32(here.Fop)&64 != 0) {
 19118  		goto __253
 19119  	}
 19120  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 589 /* "invalid literal/..." */
 19121  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 19122  	goto __5
 19123  __253:
 19124  	;
 19125  
 19126  	// length code -- get extra bits, if any
 19127  	(*Inflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
 19128  	if !((*Inflate_state)(unsafe.Pointer(state)).Fextra != uint32(0)) {
 19129  		goto __254
 19130  	}
 19131  __255:
 19132  __258:
 19133  	if !(bits < (*Inflate_state)(unsafe.Pointer(state)).Fextra) {
 19134  		goto __259
 19135  	}
 19136  __260:
 19137  __263:
 19138  	if !(have == uint32(0)) {
 19139  		goto __266
 19140  	}
 19141  	have = (*struct {
 19142  		f func(*libc.TLS, uintptr, uintptr) uint32
 19143  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 19144  	if !(have == uint32(0)) {
 19145  		goto __267
 19146  	}
 19147  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 19148  	ret = -5
 19149  	goto inf_leave
 19150  __267:
 19151  	;
 19152  __266:
 19153  	;
 19154  	goto __264
 19155  __264:
 19156  	if 0 != 0 {
 19157  		goto __263
 19158  	}
 19159  	goto __265
 19160  __265:
 19161  	;
 19162  	have--
 19163  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 19164  	bits = bits + uint32(8)
 19165  	goto __261
 19166  __261:
 19167  	if 0 != 0 {
 19168  		goto __260
 19169  	}
 19170  	goto __262
 19171  __262:
 19172  	;
 19173  	goto __258
 19174  __259:
 19175  	;
 19176  	goto __256
 19177  __256:
 19178  	if 0 != 0 {
 19179  		goto __255
 19180  	}
 19181  	goto __257
 19182  __257:
 19183  	;
 19184  	*(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
 19185  __268:
 19186  	hold >>= (*Inflate_state)(unsafe.Pointer(state)).Fextra
 19187  	bits = bits - (*Inflate_state)(unsafe.Pointer(state)).Fextra
 19188  	goto __269
 19189  __269:
 19190  	if 0 != 0 {
 19191  		goto __268
 19192  	}
 19193  	goto __270
 19194  __270:
 19195  	;
 19196  __254:
 19197  	;
 19198  
 19199  	// get distance code
 19200  __271:
 19201  	here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fdistbits-uint32(1)))*4))
 19202  	if !(uint32(here.Fbits) <= bits) {
 19203  		goto __274
 19204  	}
 19205  	goto __273
 19206  __274:
 19207  	;
 19208  __275:
 19209  __278:
 19210  	if !(have == uint32(0)) {
 19211  		goto __281
 19212  	}
 19213  	have = (*struct {
 19214  		f func(*libc.TLS, uintptr, uintptr) uint32
 19215  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 19216  	if !(have == uint32(0)) {
 19217  		goto __282
 19218  	}
 19219  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 19220  	ret = -5
 19221  	goto inf_leave
 19222  __282:
 19223  	;
 19224  __281:
 19225  	;
 19226  	goto __279
 19227  __279:
 19228  	if 0 != 0 {
 19229  		goto __278
 19230  	}
 19231  	goto __280
 19232  __280:
 19233  	;
 19234  	have--
 19235  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 19236  	bits = bits + uint32(8)
 19237  	goto __276
 19238  __276:
 19239  	if 0 != 0 {
 19240  		goto __275
 19241  	}
 19242  	goto __277
 19243  __277:
 19244  	;
 19245  	goto __272
 19246  __272:
 19247  	goto __271
 19248  	goto __273
 19249  __273:
 19250  	;
 19251  	if !(int32(here.Fop)&0xf0 == 0) {
 19252  		goto __283
 19253  	}
 19254  	last = here
 19255  __284:
 19256  	here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(int32(last.Fbits)+int32(last.Fop))-uint32(1))>>int32(last.Fbits))*4))
 19257  	if !(uint32(int32(last.Fbits)+int32(here.Fbits)) <= bits) {
 19258  		goto __287
 19259  	}
 19260  	goto __286
 19261  __287:
 19262  	;
 19263  __288:
 19264  __291:
 19265  	if !(have == uint32(0)) {
 19266  		goto __294
 19267  	}
 19268  	have = (*struct {
 19269  		f func(*libc.TLS, uintptr, uintptr) uint32
 19270  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 19271  	if !(have == uint32(0)) {
 19272  		goto __295
 19273  	}
 19274  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 19275  	ret = -5
 19276  	goto inf_leave
 19277  __295:
 19278  	;
 19279  __294:
 19280  	;
 19281  	goto __292
 19282  __292:
 19283  	if 0 != 0 {
 19284  		goto __291
 19285  	}
 19286  	goto __293
 19287  __293:
 19288  	;
 19289  	have--
 19290  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 19291  	bits = bits + uint32(8)
 19292  	goto __289
 19293  __289:
 19294  	if 0 != 0 {
 19295  		goto __288
 19296  	}
 19297  	goto __290
 19298  __290:
 19299  	;
 19300  	goto __285
 19301  __285:
 19302  	goto __284
 19303  	goto __286
 19304  __286:
 19305  	;
 19306  __296:
 19307  	hold >>= int32(last.Fbits)
 19308  	bits = bits - uint32(last.Fbits)
 19309  	goto __297
 19310  __297:
 19311  	if 0 != 0 {
 19312  		goto __296
 19313  	}
 19314  	goto __298
 19315  __298:
 19316  	;
 19317  __283:
 19318  	;
 19319  __299:
 19320  	hold >>= int32(here.Fbits)
 19321  	bits = bits - uint32(here.Fbits)
 19322  	goto __300
 19323  __300:
 19324  	if 0 != 0 {
 19325  		goto __299
 19326  	}
 19327  	goto __301
 19328  __301:
 19329  	;
 19330  	if !(int32(here.Fop)&64 != 0) {
 19331  		goto __302
 19332  	}
 19333  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 617 /* "invalid distance..." */
 19334  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 19335  	goto __5
 19336  __302:
 19337  	;
 19338  	(*Inflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
 19339  
 19340  	// get distance extra bits, if any
 19341  	(*Inflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
 19342  	if !((*Inflate_state)(unsafe.Pointer(state)).Fextra != uint32(0)) {
 19343  		goto __303
 19344  	}
 19345  __304:
 19346  __307:
 19347  	if !(bits < (*Inflate_state)(unsafe.Pointer(state)).Fextra) {
 19348  		goto __308
 19349  	}
 19350  __309:
 19351  __312:
 19352  	if !(have == uint32(0)) {
 19353  		goto __315
 19354  	}
 19355  	have = (*struct {
 19356  		f func(*libc.TLS, uintptr, uintptr) uint32
 19357  	})(unsafe.Pointer(&struct{ uintptr }{in})).f(tls, in_desc, bp /* &next */)
 19358  	if !(have == uint32(0)) {
 19359  		goto __316
 19360  	}
 19361  	*(*uintptr)(unsafe.Pointer(bp /* next */)) = uintptr(Z_NULL)
 19362  	ret = -5
 19363  	goto inf_leave
 19364  __316:
 19365  	;
 19366  __315:
 19367  	;
 19368  	goto __313
 19369  __313:
 19370  	if 0 != 0 {
 19371  		goto __312
 19372  	}
 19373  	goto __314
 19374  __314:
 19375  	;
 19376  	have--
 19377  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp /* next */)), 1))))<<bits
 19378  	bits = bits + uint32(8)
 19379  	goto __310
 19380  __310:
 19381  	if 0 != 0 {
 19382  		goto __309
 19383  	}
 19384  	goto __311
 19385  __311:
 19386  	;
 19387  	goto __307
 19388  __308:
 19389  	;
 19390  	goto __305
 19391  __305:
 19392  	if 0 != 0 {
 19393  		goto __304
 19394  	}
 19395  	goto __306
 19396  __306:
 19397  	;
 19398  	*(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
 19399  __317:
 19400  	hold >>= (*Inflate_state)(unsafe.Pointer(state)).Fextra
 19401  	bits = bits - (*Inflate_state)(unsafe.Pointer(state)).Fextra
 19402  	goto __318
 19403  __318:
 19404  	if 0 != 0 {
 19405  		goto __317
 19406  	}
 19407  	goto __319
 19408  __319:
 19409  	;
 19410  __303:
 19411  	;
 19412  	if !((*Inflate_state)(unsafe.Pointer(state)).Foffset > (*Inflate_state)(unsafe.Pointer(state)).Fwsize-func() uint32 {
 19413  		if (*Inflate_state)(unsafe.Pointer(state)).Fwhave < (*Inflate_state)(unsafe.Pointer(state)).Fwsize {
 19414  			return left
 19415  		}
 19416  		return uint32(0)
 19417  	}()) {
 19418  		goto __320
 19419  	}
 19420  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 639 /* "invalid distance..." */
 19421  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 19422  	goto __5
 19423  __320:
 19424  	;
 19425  
 19426  	// copy match from window to output
 19427  __321:
 19428  __324:
 19429  	if !(left == uint32(0)) {
 19430  		goto __327
 19431  	}
 19432  	put = (*Inflate_state)(unsafe.Pointer(state)).Fwindow
 19433  	left = (*Inflate_state)(unsafe.Pointer(state)).Fwsize
 19434  	(*Inflate_state)(unsafe.Pointer(state)).Fwhave = left
 19435  	if !((*struct {
 19436  		f func(*libc.TLS, uintptr, uintptr, uint32) int32
 19437  	})(unsafe.Pointer(&struct{ uintptr }{out})).f(tls, out_desc, put, left) != 0) {
 19438  		goto __328
 19439  	}
 19440  	ret = -5
 19441  	goto inf_leave
 19442  __328:
 19443  	;
 19444  __327:
 19445  	;
 19446  	goto __325
 19447  __325:
 19448  	if 0 != 0 {
 19449  		goto __324
 19450  	}
 19451  	goto __326
 19452  __326:
 19453  	;
 19454  	copy = (*Inflate_state)(unsafe.Pointer(state)).Fwsize - (*Inflate_state)(unsafe.Pointer(state)).Foffset
 19455  	if !(copy < left) {
 19456  		goto __329
 19457  	}
 19458  	from = put + uintptr(copy)
 19459  	copy = left - copy
 19460  	goto __330
 19461  __329:
 19462  	from = put - uintptr((*Inflate_state)(unsafe.Pointer(state)).Foffset)
 19463  	copy = left
 19464  __330:
 19465  	;
 19466  	if !(copy > (*Inflate_state)(unsafe.Pointer(state)).Flength) {
 19467  		goto __331
 19468  	}
 19469  	copy = (*Inflate_state)(unsafe.Pointer(state)).Flength
 19470  __331:
 19471  	;
 19472  	*(*uint32)(unsafe.Pointer(state + 92)) -= copy
 19473  	left = left - copy
 19474  __332:
 19475  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&put, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19476  	goto __333
 19477  __333:
 19478  	if libc.PreDecUint32(&copy, 1) != 0 {
 19479  		goto __332
 19480  	}
 19481  	goto __334
 19482  __334:
 19483  	;
 19484  	goto __322
 19485  __322:
 19486  	if (*Inflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
 19487  		goto __321
 19488  	}
 19489  	goto __323
 19490  __323:
 19491  	;
 19492  	goto __5
 19493  
 19494  __10:
 19495  	// inflate stream terminated properly -- write leftover output
 19496  	ret = Z_STREAM_END
 19497  	if !(left < (*Inflate_state)(unsafe.Pointer(state)).Fwsize) {
 19498  		goto __335
 19499  	}
 19500  	if !((*struct {
 19501  		f func(*libc.TLS, uintptr, uintptr, uint32) int32
 19502  	})(unsafe.Pointer(&struct{ uintptr }{out})).f(tls, out_desc, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, (*Inflate_state)(unsafe.Pointer(state)).Fwsize-left) != 0) {
 19503  		goto __336
 19504  	}
 19505  	ret = -5
 19506  __336:
 19507  	;
 19508  __335:
 19509  	;
 19510  	goto inf_leave
 19511  
 19512  __11:
 19513  	ret = -3
 19514  	goto inf_leave
 19515  
 19516  __12: // can't happen, but makes compilers happy
 19517  	ret = -2
 19518  	goto inf_leave
 19519  __5:
 19520  	;
 19521  	goto __3
 19522  __3:
 19523  	goto __2
 19524  	goto __4
 19525  __4:
 19526  	;
 19527  
 19528  	// Return unused input
 19529  inf_leave:
 19530  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp /* next */))
 19531  	(*Z_stream)(unsafe.Pointer(strm)).Favail_in = have
 19532  	return ret
 19533  }
 19534  
 19535  var order =                                                                                                                                                                                                                          // permutation of code lengths
 19536  [19]uint16{uint16(16), uint16(17), uint16(18), uint16(0), uint16(8), uint16(7), uint16(9), uint16(6), uint16(10), uint16(5), uint16(11), uint16(4), uint16(12), uint16(3), uint16(13), uint16(2), uint16(14), uint16(1), uint16(15)} /* infback.c:269:33 */
 19537  
 19538  func XinflateBackEnd(tls *libc.TLS, strm Z_streamp) int32 { /* infback.c:631:13: */
 19539  	if strm == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fstate == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) {
 19540  		return -2
 19541  	}
 19542  	(*struct {
 19543  		f func(*libc.TLS, Voidpf, Voidpf)
 19544  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Z_stream)(unsafe.Pointer(strm)).Fstate)
 19545  	(*Z_stream)(unsafe.Pointer(strm)).Fstate = uintptr(Z_NULL)
 19546  
 19547  	return Z_OK
 19548  }
 19549  
 19550  //
 19551  //    Decode literal, length, and distance codes and write out the resulting
 19552  //    literal and match bytes until either not enough input or output is
 19553  //    available, an end-of-block is encountered, or a data error is encountered.
 19554  //    When large enough input and output buffers are supplied to inflate(), for
 19555  //    example, a 16K input buffer and a 64K output buffer, more than 95% of the
 19556  //    inflate execution time is spent in this routine.
 19557  //
 19558  //    Entry assumptions:
 19559  //
 19560  //         state->mode == LEN
 19561  //         strm->avail_in >= 6
 19562  //         strm->avail_out >= 258
 19563  //         start >= strm->avail_out
 19564  //         state->bits < 8
 19565  //
 19566  //    On return, state->mode is one of:
 19567  //
 19568  //         LEN -- ran out of enough output space or enough available input
 19569  //         TYPE -- reached end of block code, inflate() to interpret next block
 19570  //         BAD -- error in block data
 19571  //
 19572  //    Notes:
 19573  //
 19574  //     - The maximum input bits used by a length/distance pair is 15 bits for the
 19575  //       length code, 5 bits for the length extra, 15 bits for the distance code,
 19576  //       and 13 bits for the distance extra.  This totals 48 bits, or six bytes.
 19577  //       Therefore if strm->avail_in >= 6, then there is enough input to avoid
 19578  //       checking for available input while decoding.
 19579  //
 19580  //     - The maximum bytes that a single length/distance pair can output is 258
 19581  //       bytes, which is the maximum length that can be coded.  inflate_fast()
 19582  //       requires strm->avail_out >= 258 for each loop to avoid checking for
 19583  //       output space.
 19584  //
 19585  func Xinflate_fast(tls *libc.TLS, strm Z_streamp, start uint32) { /* inffast.c:50:20: */
 19586  	var state uintptr
 19587  	var in uintptr     // local strm->next_in
 19588  	var last uintptr   // have enough input while in < last
 19589  	var out uintptr    // local strm->next_out
 19590  	var beg uintptr    // inflate()'s initial strm->next_out
 19591  	var end uintptr    // while out < end, enough space available
 19592  	var wsize uint32   // window size or zero if not using window
 19593  	var whave uint32   // valid bytes in the window
 19594  	var wnext uint32   // window write index
 19595  	var window uintptr // allocated sliding window, if wsize != 0
 19596  	var hold uint64    // local strm->hold
 19597  	var bits uint32    // local strm->bits
 19598  	var lcode uintptr  // local strm->lencode
 19599  	var dcode uintptr  // local strm->distcode
 19600  	var lmask uint32   // mask for first level of length codes
 19601  	var dmask uint32   // mask for first level of distance codes
 19602  	var here Code      // retrieved table entry
 19603  	var op uint32      // code bits, operation, extra bits, or
 19604  	//  window position, window bytes to copy
 19605  	var len uint32   // match length, unused bytes
 19606  	var dist uint32  // match distance
 19607  	var from uintptr // where to copy match from
 19608  
 19609  	// copy state to local variables
 19610  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 19611  	in = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in
 19612  	last = in + uintptr((*Z_stream)(unsafe.Pointer(strm)).Favail_in-UInt(5))
 19613  	out = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out
 19614  	beg = out - uintptr(start-(*Z_stream)(unsafe.Pointer(strm)).Favail_out)
 19615  	end = out + uintptr((*Z_stream)(unsafe.Pointer(strm)).Favail_out-UInt(257))
 19616  	wsize = (*Inflate_state)(unsafe.Pointer(state)).Fwsize
 19617  	whave = (*Inflate_state)(unsafe.Pointer(state)).Fwhave
 19618  	wnext = (*Inflate_state)(unsafe.Pointer(state)).Fwnext
 19619  	window = (*Inflate_state)(unsafe.Pointer(state)).Fwindow
 19620  	hold = (*Inflate_state)(unsafe.Pointer(state)).Fhold
 19621  	bits = (*Inflate_state)(unsafe.Pointer(state)).Fbits
 19622  	lcode = (*Inflate_state)(unsafe.Pointer(state)).Flencode
 19623  	dcode = (*Inflate_state)(unsafe.Pointer(state)).Fdistcode
 19624  	lmask = uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Flenbits - uint32(1)
 19625  	dmask = uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fdistbits - uint32(1)
 19626  
 19627  	// decode literals and length/distances until end-of-block or not enough
 19628  	//        input data or output space
 19629  __1:
 19630  	if !(bits < uint32(15)) {
 19631  		goto __4
 19632  	}
 19633  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits
 19634  	bits = bits + uint32(8)
 19635  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits
 19636  	bits = bits + uint32(8)
 19637  __4:
 19638  	;
 19639  	here = *(*Code)(unsafe.Pointer(lcode + uintptr(hold&uint64(lmask))*4))
 19640  dolen:
 19641  	op = uint32(here.Fbits)
 19642  	hold >>= op
 19643  	bits = bits - op
 19644  	op = uint32(here.Fop)
 19645  	if !(op == uint32(0)) {
 19646  		goto __5
 19647  	} // literal
 19648  
 19649  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = uint8(here.Fval)
 19650  	goto __6
 19651  __5:
 19652  	if !(op&uint32(16) != 0) {
 19653  		goto __7
 19654  	} // length base
 19655  	len = uint32(here.Fval)
 19656  	op = op & uint32(15) // number of extra bits
 19657  	if !(op != 0) {
 19658  		goto __9
 19659  	}
 19660  	if !(bits < op) {
 19661  		goto __10
 19662  	}
 19663  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits
 19664  	bits = bits + uint32(8)
 19665  __10:
 19666  	;
 19667  	len = len + uint32(hold)&(uint32(1)<<op-uint32(1))
 19668  	hold >>= op
 19669  	bits = bits - op
 19670  __9:
 19671  	;
 19672  
 19673  	if !(bits < uint32(15)) {
 19674  		goto __11
 19675  	}
 19676  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits
 19677  	bits = bits + uint32(8)
 19678  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits
 19679  	bits = bits + uint32(8)
 19680  __11:
 19681  	;
 19682  	here = *(*Code)(unsafe.Pointer(dcode + uintptr(hold&uint64(dmask))*4))
 19683  dodist:
 19684  	op = uint32(here.Fbits)
 19685  	hold >>= op
 19686  	bits = bits - op
 19687  	op = uint32(here.Fop)
 19688  	if !(op&uint32(16) != 0) {
 19689  		goto __12
 19690  	} // distance base
 19691  	dist = uint32(here.Fval)
 19692  	op = op & uint32(15) // number of extra bits
 19693  	if !(bits < op) {
 19694  		goto __14
 19695  	}
 19696  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits
 19697  	bits = bits + uint32(8)
 19698  	if !(bits < op) {
 19699  		goto __15
 19700  	}
 19701  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&in, 1))))<<bits
 19702  	bits = bits + uint32(8)
 19703  __15:
 19704  	;
 19705  __14:
 19706  	;
 19707  	dist = dist + uint32(hold)&(uint32(1)<<op-uint32(1))
 19708  	hold >>= op
 19709  	bits = bits - op
 19710  
 19711  	op = uint32((int64(out) - int64(beg)) / 1) // max distance in output
 19712  	if !(dist > op) {
 19713  		goto __16
 19714  	} // see if copy from window
 19715  	op = dist - op // distance back in window
 19716  	if !(op > whave) {
 19717  		goto __18
 19718  	}
 19719  	if !((*Inflate_state)(unsafe.Pointer(state)).Fsane != 0) {
 19720  		goto __19
 19721  	}
 19722  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 639 /* "invalid distance..." */
 19723  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 19724  	goto __3
 19725  __19:
 19726  	;
 19727  __18:
 19728  	;
 19729  	from = window
 19730  	if !(wnext == uint32(0)) {
 19731  		goto __20
 19732  	} // very common case
 19733  	from += uintptr(wsize - op)
 19734  	if !(op < len) {
 19735  		goto __22
 19736  	} // some from window
 19737  	len = len - op
 19738  __23:
 19739  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19740  	goto __24
 19741  __24:
 19742  	if libc.PreDecUint32(&op, 1) != 0 {
 19743  		goto __23
 19744  	}
 19745  	goto __25
 19746  __25:
 19747  	;
 19748  	from = out - uintptr(dist) // rest from output
 19749  __22:
 19750  	;
 19751  	goto __21
 19752  __20:
 19753  	if !(wnext < op) {
 19754  		goto __26
 19755  	} // wrap around window
 19756  	from += uintptr(wsize + wnext - op)
 19757  	op = op - wnext
 19758  	if !(op < len) {
 19759  		goto __28
 19760  	} // some from end of window
 19761  	len = len - op
 19762  __29:
 19763  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19764  	goto __30
 19765  __30:
 19766  	if libc.PreDecUint32(&op, 1) != 0 {
 19767  		goto __29
 19768  	}
 19769  	goto __31
 19770  __31:
 19771  	;
 19772  	from = window
 19773  	if !(wnext < len) {
 19774  		goto __32
 19775  	} // some from start of window
 19776  	op = wnext
 19777  	len = len - op
 19778  __33:
 19779  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19780  	goto __34
 19781  __34:
 19782  	if libc.PreDecUint32(&op, 1) != 0 {
 19783  		goto __33
 19784  	}
 19785  	goto __35
 19786  __35:
 19787  	;
 19788  	from = out - uintptr(dist) // rest from output
 19789  __32:
 19790  	;
 19791  __28:
 19792  	;
 19793  	goto __27
 19794  __26: // contiguous in window
 19795  	from += uintptr(wnext - op)
 19796  	if !(op < len) {
 19797  		goto __36
 19798  	} // some from window
 19799  	len = len - op
 19800  __37:
 19801  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19802  	goto __38
 19803  __38:
 19804  	if libc.PreDecUint32(&op, 1) != 0 {
 19805  		goto __37
 19806  	}
 19807  	goto __39
 19808  __39:
 19809  	;
 19810  	from = out - uintptr(dist) // rest from output
 19811  __36:
 19812  	;
 19813  __27:
 19814  	;
 19815  __21:
 19816  	;
 19817  __40:
 19818  	if !(len > uint32(2)) {
 19819  		goto __41
 19820  	}
 19821  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19822  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19823  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19824  	len = len - uint32(3)
 19825  	goto __40
 19826  __41:
 19827  	;
 19828  	if !(len != 0) {
 19829  		goto __42
 19830  	}
 19831  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19832  	if !(len > uint32(1)) {
 19833  		goto __43
 19834  	}
 19835  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19836  __43:
 19837  	;
 19838  __42:
 19839  	;
 19840  	goto __17
 19841  __16:
 19842  	from = out - uintptr(dist) // copy direct from output
 19843  __44: // minimum length is three
 19844  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19845  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19846  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19847  	len = len - uint32(3)
 19848  	goto __45
 19849  __45:
 19850  	if len > uint32(2) {
 19851  		goto __44
 19852  	}
 19853  	goto __46
 19854  __46:
 19855  	;
 19856  	if !(len != 0) {
 19857  		goto __47
 19858  	}
 19859  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19860  	if !(len > uint32(1)) {
 19861  		goto __48
 19862  	}
 19863  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&out, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 19864  __48:
 19865  	;
 19866  __47:
 19867  	;
 19868  __17:
 19869  	;
 19870  	goto __13
 19871  __12:
 19872  	if !(op&uint32(64) == uint32(0)) {
 19873  		goto __49
 19874  	} // 2nd level distance code
 19875  	here = *(*Code)(unsafe.Pointer(dcode + uintptr(uint64(here.Fval)+hold&uint64(uint32(1)<<op-uint32(1)))*4))
 19876  	goto dodist
 19877  	goto __50
 19878  __49:
 19879  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 617 /* "invalid distance..." */
 19880  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 19881  	goto __3
 19882  __50:
 19883  	;
 19884  __13:
 19885  	;
 19886  	goto __8
 19887  __7:
 19888  	if !(op&uint32(64) == uint32(0)) {
 19889  		goto __51
 19890  	} // 2nd level length code
 19891  	here = *(*Code)(unsafe.Pointer(lcode + uintptr(uint64(here.Fval)+hold&uint64(uint32(1)<<op-uint32(1)))*4))
 19892  	goto dolen
 19893  	goto __52
 19894  __51:
 19895  	if !(op&uint32(32) != 0) {
 19896  		goto __53
 19897  	} // end-of-block
 19898  
 19899  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE
 19900  	goto __3
 19901  	goto __54
 19902  __53:
 19903  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 589 /* "invalid literal/..." */
 19904  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 19905  	goto __3
 19906  __54:
 19907  	;
 19908  __52:
 19909  	;
 19910  __8:
 19911  	;
 19912  __6:
 19913  	;
 19914  	goto __2
 19915  __2:
 19916  	if in < last && out < end {
 19917  		goto __1
 19918  	}
 19919  	goto __3
 19920  __3:
 19921  	;
 19922  
 19923  	// return unused bytes (on entry, bits < 8, so in won't go too far back)
 19924  	len = bits >> 3
 19925  	in -= uintptr(len)
 19926  	bits = bits - len<<3
 19927  	hold = hold & uint64(uint32(1)<<bits-uint32(1))
 19928  
 19929  	// update state and return
 19930  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = in
 19931  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_out = out
 19932  	(*Z_stream)(unsafe.Pointer(strm)).Favail_in = func() uint32 {
 19933  		if in < last {
 19934  			return uint32(int64(5) + (int64(last)-int64(in))/1)
 19935  		}
 19936  		return uint32(int64(5) - (int64(in)-int64(last))/1)
 19937  	}()
 19938  	(*Z_stream)(unsafe.Pointer(strm)).Favail_out = func() uint32 {
 19939  		if out < end {
 19940  			return uint32(int64(257) + (int64(end)-int64(out))/1)
 19941  		}
 19942  		return uint32(int64(257) - (int64(out)-int64(end))/1)
 19943  	}()
 19944  	(*Inflate_state)(unsafe.Pointer(state)).Fhold = hold
 19945  	(*Inflate_state)(unsafe.Pointer(state)).Fbits = bits
 19946  	return
 19947  }
 19948  
 19949  //
 19950  //    inflate_fast() speedups that turned out slower (on a PowerPC G3 750CXe):
 19951  //    - Using bit fields for code structure
 19952  //    - Different op definition to avoid & for extra bits (do & for table bits)
 19953  //    - Three separate decoding do-loops for direct, window, and wnext == 0
 19954  //    - Special case for distance > 1 copies to do overlapped load and store copy
 19955  //    - Explicit branch predictions (based on measured branch probabilities)
 19956  //    - Deferring match copy and interspersed it with decoding subsequent codes
 19957  //    - Swapping literal/length else
 19958  //    - Swapping window/direct else
 19959  //    - Larger unrolled copy loops (three is about right)
 19960  //    - Moving len -= 3 statement into middle of loop
 19961  //
 19962  
 19963  func inflateStateCheck(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:105:11: */
 19964  	var state uintptr
 19965  	if strm == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fzalloc == uintptr(0) || (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) {
 19966  		return 1
 19967  	}
 19968  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 19969  	if state == uintptr(Z_NULL) || (*Inflate_state)(unsafe.Pointer(state)).Fstrm != strm || (*Inflate_state)(unsafe.Pointer(state)).Fmode < HEAD || (*Inflate_state)(unsafe.Pointer(state)).Fmode > SYNC {
 19970  		return 1
 19971  	}
 19972  	return 0
 19973  }
 19974  
 19975  func XinflateResetKeep(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:119:13: */
 19976  	var state uintptr
 19977  
 19978  	if inflateStateCheck(tls, strm) != 0 {
 19979  		return -2
 19980  	}
 19981  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 19982  	(*Z_stream)(unsafe.Pointer(strm)).Ftotal_in = libc.AssignPtrUint64(strm+40, libc.AssignPtrUint64(state+40, uint64(0)))
 19983  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL)
 19984  	if (*Inflate_state)(unsafe.Pointer(state)).Fwrap != 0 { // to support ill-conceived Java test suite
 19985  		(*Z_stream)(unsafe.Pointer(strm)).Fadler = ULong((*Inflate_state)(unsafe.Pointer(state)).Fwrap & 1)
 19986  	}
 19987  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = HEAD
 19988  	(*Inflate_state)(unsafe.Pointer(state)).Flast = 0
 19989  	(*Inflate_state)(unsafe.Pointer(state)).Fhavedict = 0
 19990  	(*Inflate_state)(unsafe.Pointer(state)).Fdmax = 32768
 19991  	(*Inflate_state)(unsafe.Pointer(state)).Fhead = Gz_headerp(Z_NULL)
 19992  	(*Inflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
 19993  	(*Inflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
 19994  	(*Inflate_state)(unsafe.Pointer(state)).Flencode = libc.AssignPtrUintptr(state+112, libc.AssignPtrUintptr(state+144, state+1368 /* &.codes */))
 19995  	(*Inflate_state)(unsafe.Pointer(state)).Fsane = 1
 19996  	(*Inflate_state)(unsafe.Pointer(state)).Fback = -1
 19997  
 19998  	return Z_OK
 19999  }
 20000  
 20001  func XinflateReset(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:144:13: */
 20002  	var state uintptr
 20003  
 20004  	if inflateStateCheck(tls, strm) != 0 {
 20005  		return -2
 20006  	}
 20007  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 20008  	(*Inflate_state)(unsafe.Pointer(state)).Fwsize = uint32(0)
 20009  	(*Inflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
 20010  	(*Inflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
 20011  	return XinflateResetKeep(tls, strm)
 20012  }
 20013  
 20014  func XinflateReset2(tls *libc.TLS, strm Z_streamp, windowBits int32) int32 { /* inflate.c:157:13: */
 20015  	var wrap int32
 20016  	var state uintptr
 20017  
 20018  	// get the state
 20019  	if inflateStateCheck(tls, strm) != 0 {
 20020  		return -2
 20021  	}
 20022  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 20023  
 20024  	// extract wrap request from windowBits parameter
 20025  	if windowBits < 0 {
 20026  		wrap = 0
 20027  		windowBits = -windowBits
 20028  	} else {
 20029  		wrap = windowBits>>4 + 5
 20030  		if windowBits < 48 {
 20031  			windowBits = windowBits & 15
 20032  		}
 20033  	}
 20034  
 20035  	// set number of window bits, free window if different
 20036  	if windowBits != 0 && (windowBits < 8 || windowBits > 15) {
 20037  		return -2
 20038  	}
 20039  	if (*Inflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(Z_NULL) && (*Inflate_state)(unsafe.Pointer(state)).Fwbits != uint32(windowBits) {
 20040  		(*struct {
 20041  			f func(*libc.TLS, Voidpf, Voidpf)
 20042  		})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Inflate_state)(unsafe.Pointer(state)).Fwindow)
 20043  		(*Inflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(Z_NULL)
 20044  	}
 20045  
 20046  	// update state and reset the rest of it
 20047  	(*Inflate_state)(unsafe.Pointer(state)).Fwrap = wrap
 20048  	(*Inflate_state)(unsafe.Pointer(state)).Fwbits = uint32(windowBits)
 20049  	return XinflateReset(tls, strm)
 20050  }
 20051  
 20052  func XinflateInit2_(tls *libc.TLS, strm Z_streamp, windowBits int32, version uintptr, stream_size int32) int32 { /* inflate.c:195:13: */
 20053  	var ret int32
 20054  	var state uintptr
 20055  
 20056  	if version == uintptr(Z_NULL) || int32(*(*int8)(unsafe.Pointer(version))) != int32(*(*int8)(unsafe.Pointer(ts))) || stream_size != int32(unsafe.Sizeof(Z_stream{})) {
 20057  		return -6
 20058  	}
 20059  	if strm == uintptr(Z_NULL) {
 20060  		return -2
 20061  	}
 20062  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(Z_NULL) // in case we return an error
 20063  	if (*Z_stream)(unsafe.Pointer(strm)).Fzalloc == uintptr(0) {
 20064  		(*Z_stream)(unsafe.Pointer(strm)).Fzalloc = *(*uintptr)(unsafe.Pointer(&struct {
 20065  			f func(*libc.TLS, Voidpf, uint32, uint32) Voidpf
 20066  		}{Xzcalloc}))
 20067  		(*Z_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(0)
 20068  	}
 20069  	if (*Z_stream)(unsafe.Pointer(strm)).Fzfree == uintptr(0) {
 20070  		(*Z_stream)(unsafe.Pointer(strm)).Fzfree = *(*uintptr)(unsafe.Pointer(&struct {
 20071  			f func(*libc.TLS, Voidpf, Voidpf)
 20072  		}{Xzcfree}))
 20073  	}
 20074  	state = (*struct {
 20075  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 20076  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, uint32(1), uint32(unsafe.Sizeof(Inflate_state{})))
 20077  	if state == uintptr(Z_NULL) {
 20078  		return -4
 20079  	}
 20080  
 20081  	(*Z_stream)(unsafe.Pointer(strm)).Fstate = state
 20082  	(*Inflate_state)(unsafe.Pointer(state)).Fstrm = strm
 20083  	(*Inflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(Z_NULL)
 20084  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = HEAD // to pass state test in inflateReset2()
 20085  	ret = XinflateReset2(tls, strm, windowBits)
 20086  	if ret != Z_OK {
 20087  		(*struct {
 20088  			f func(*libc.TLS, Voidpf, Voidpf)
 20089  		})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, state)
 20090  		(*Z_stream)(unsafe.Pointer(strm)).Fstate = uintptr(Z_NULL)
 20091  	}
 20092  	return ret
 20093  }
 20094  
 20095  func XinflateInit_(tls *libc.TLS, strm Z_streamp, version uintptr, stream_size int32) int32 { /* inflate.c:239:13: */
 20096  	return XinflateInit2_(tls, strm, MAX_WBITS, version, stream_size)
 20097  }
 20098  
 20099  func XinflatePrime(tls *libc.TLS, strm Z_streamp, bits int32, value int32) int32 { /* inflate.c:247:13: */
 20100  	var state uintptr
 20101  
 20102  	if inflateStateCheck(tls, strm) != 0 {
 20103  		return -2
 20104  	}
 20105  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 20106  	if bits < 0 {
 20107  		(*Inflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
 20108  		(*Inflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
 20109  		return Z_OK
 20110  	}
 20111  	if bits > 16 || (*Inflate_state)(unsafe.Pointer(state)).Fbits+UInt(bits) > uint32(32) {
 20112  		return -2
 20113  	}
 20114  	value = int32(int64(value) & (int64(1)<<bits - int64(1)))
 20115  	*(*uint64)(unsafe.Pointer(state + 80)) += uint64(uint32(value) << (*Inflate_state)(unsafe.Pointer(state)).Fbits)
 20116  	*(*uint32)(unsafe.Pointer(state + 88)) += UInt(bits)
 20117  	return Z_OK
 20118  }
 20119  
 20120  //
 20121  //    Return state with length and distance decoding tables and index sizes set to
 20122  //    fixed code decoding.  Normally this returns fixed tables from inffixed.h.
 20123  //    If BUILDFIXED is defined, then instead this routine builds the tables the
 20124  //    first time it's called, and returns those tables the first time and
 20125  //    thereafter.  This reduces the size of the code by about 2K bytes, in
 20126  //    exchange for a little execution time.  However, BUILDFIXED should not be
 20127  //    used for threaded applications, since the rewriting of the tables and virgin
 20128  //    may not be thread-safe.
 20129  //
 20130  func fixedtables1(tls *libc.TLS, state uintptr) { /* inflate.c:278:12: */
 20131  	(*Inflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&lenfix1))
 20132  	(*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
 20133  	(*Inflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&distfix1))
 20134  	(*Inflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
 20135  }
 20136  
 20137  var lenfix1 = [512]Code{
 20138  	{Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(80)}, {Fbits: uint8(8), Fval: uint16(16)}, {Fop: uint8(20), Fbits: uint8(8), Fval: uint16(115)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(112)}, {Fbits: uint8(8), Fval: uint16(48)},
 20139  	{Fbits: uint8(9), Fval: uint16(192)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(96)}, {Fbits: uint8(8), Fval: uint16(32)}, {Fbits: uint8(9), Fval: uint16(160)}, {Fbits: uint8(8)}, {Fbits: uint8(8), Fval: uint16(128)},
 20140  	{Fbits: uint8(8), Fval: uint16(64)}, {Fbits: uint8(9), Fval: uint16(224)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(88)}, {Fbits: uint8(8), Fval: uint16(24)}, {Fbits: uint8(9), Fval: uint16(144)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)},
 20141  	{Fbits: uint8(8), Fval: uint16(120)}, {Fbits: uint8(8), Fval: uint16(56)}, {Fbits: uint8(9), Fval: uint16(208)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(104)}, {Fbits: uint8(8), Fval: uint16(40)}, {Fbits: uint8(9), Fval: uint16(176)},
 20142  	{Fbits: uint8(8), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(136)}, {Fbits: uint8(8), Fval: uint16(72)}, {Fbits: uint8(9), Fval: uint16(240)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(84)}, {Fbits: uint8(8), Fval: uint16(20)},
 20143  	{Fop: uint8(21), Fbits: uint8(8), Fval: uint16(227)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(116)}, {Fbits: uint8(8), Fval: uint16(52)}, {Fbits: uint8(9), Fval: uint16(200)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(100)},
 20144  	{Fbits: uint8(8), Fval: uint16(36)}, {Fbits: uint8(9), Fval: uint16(168)}, {Fbits: uint8(8), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(132)}, {Fbits: uint8(8), Fval: uint16(68)}, {Fbits: uint8(9), Fval: uint16(232)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)},
 20145  	{Fbits: uint8(8), Fval: uint16(92)}, {Fbits: uint8(8), Fval: uint16(28)}, {Fbits: uint8(9), Fval: uint16(152)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(124)}, {Fbits: uint8(8), Fval: uint16(60)}, {Fbits: uint8(9), Fval: uint16(216)},
 20146  	{Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(108)}, {Fbits: uint8(8), Fval: uint16(44)}, {Fbits: uint8(9), Fval: uint16(184)}, {Fbits: uint8(8), Fval: uint16(12)}, {Fbits: uint8(8), Fval: uint16(140)}, {Fbits: uint8(8), Fval: uint16(76)},
 20147  	{Fbits: uint8(9), Fval: uint16(248)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(82)}, {Fbits: uint8(8), Fval: uint16(18)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(163)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(114)},
 20148  	{Fbits: uint8(8), Fval: uint16(50)}, {Fbits: uint8(9), Fval: uint16(196)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(98)}, {Fbits: uint8(8), Fval: uint16(34)}, {Fbits: uint8(9), Fval: uint16(164)}, {Fbits: uint8(8), Fval: uint16(2)},
 20149  	{Fbits: uint8(8), Fval: uint16(130)}, {Fbits: uint8(8), Fval: uint16(66)}, {Fbits: uint8(9), Fval: uint16(228)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(90)}, {Fbits: uint8(8), Fval: uint16(26)}, {Fbits: uint8(9), Fval: uint16(148)},
 20150  	{Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(122)}, {Fbits: uint8(8), Fval: uint16(58)}, {Fbits: uint8(9), Fval: uint16(212)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(106)}, {Fbits: uint8(8), Fval: uint16(42)},
 20151  	{Fbits: uint8(9), Fval: uint16(180)}, {Fbits: uint8(8), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(138)}, {Fbits: uint8(8), Fval: uint16(74)}, {Fbits: uint8(9), Fval: uint16(244)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(86)},
 20152  	{Fbits: uint8(8), Fval: uint16(22)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(118)}, {Fbits: uint8(8), Fval: uint16(54)}, {Fbits: uint8(9), Fval: uint16(204)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)},
 20153  	{Fbits: uint8(8), Fval: uint16(102)}, {Fbits: uint8(8), Fval: uint16(38)}, {Fbits: uint8(9), Fval: uint16(172)}, {Fbits: uint8(8), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(134)}, {Fbits: uint8(8), Fval: uint16(70)}, {Fbits: uint8(9), Fval: uint16(236)},
 20154  	{Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(94)}, {Fbits: uint8(8), Fval: uint16(30)}, {Fbits: uint8(9), Fval: uint16(156)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(126)}, {Fbits: uint8(8), Fval: uint16(62)},
 20155  	{Fbits: uint8(9), Fval: uint16(220)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(110)}, {Fbits: uint8(8), Fval: uint16(46)}, {Fbits: uint8(9), Fval: uint16(188)}, {Fbits: uint8(8), Fval: uint16(14)}, {Fbits: uint8(8), Fval: uint16(142)},
 20156  	{Fbits: uint8(8), Fval: uint16(78)}, {Fbits: uint8(9), Fval: uint16(252)}, {Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(81)}, {Fbits: uint8(8), Fval: uint16(17)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(131)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)},
 20157  	{Fbits: uint8(8), Fval: uint16(113)}, {Fbits: uint8(8), Fval: uint16(49)}, {Fbits: uint8(9), Fval: uint16(194)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(97)}, {Fbits: uint8(8), Fval: uint16(33)}, {Fbits: uint8(9), Fval: uint16(162)},
 20158  	{Fbits: uint8(8), Fval: uint16(1)}, {Fbits: uint8(8), Fval: uint16(129)}, {Fbits: uint8(8), Fval: uint16(65)}, {Fbits: uint8(9), Fval: uint16(226)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(89)}, {Fbits: uint8(8), Fval: uint16(25)},
 20159  	{Fbits: uint8(9), Fval: uint16(146)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(121)}, {Fbits: uint8(8), Fval: uint16(57)}, {Fbits: uint8(9), Fval: uint16(210)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(105)},
 20160  	{Fbits: uint8(8), Fval: uint16(41)}, {Fbits: uint8(9), Fval: uint16(178)}, {Fbits: uint8(8), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(137)}, {Fbits: uint8(8), Fval: uint16(73)}, {Fbits: uint8(9), Fval: uint16(242)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)},
 20161  	{Fbits: uint8(8), Fval: uint16(85)}, {Fbits: uint8(8), Fval: uint16(21)}, {Fop: uint8(16), Fbits: uint8(8), Fval: uint16(258)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(117)}, {Fbits: uint8(8), Fval: uint16(53)}, {Fbits: uint8(9), Fval: uint16(202)},
 20162  	{Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(101)}, {Fbits: uint8(8), Fval: uint16(37)}, {Fbits: uint8(9), Fval: uint16(170)}, {Fbits: uint8(8), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(133)}, {Fbits: uint8(8), Fval: uint16(69)},
 20163  	{Fbits: uint8(9), Fval: uint16(234)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(93)}, {Fbits: uint8(8), Fval: uint16(29)}, {Fbits: uint8(9), Fval: uint16(154)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(125)},
 20164  	{Fbits: uint8(8), Fval: uint16(61)}, {Fbits: uint8(9), Fval: uint16(218)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(109)}, {Fbits: uint8(8), Fval: uint16(45)}, {Fbits: uint8(9), Fval: uint16(186)}, {Fbits: uint8(8), Fval: uint16(13)},
 20165  	{Fbits: uint8(8), Fval: uint16(141)}, {Fbits: uint8(8), Fval: uint16(77)}, {Fbits: uint8(9), Fval: uint16(250)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(19)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(195)},
 20166  	{Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(115)}, {Fbits: uint8(8), Fval: uint16(51)}, {Fbits: uint8(9), Fval: uint16(198)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(35)},
 20167  	{Fbits: uint8(9), Fval: uint16(166)}, {Fbits: uint8(8), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(131)}, {Fbits: uint8(8), Fval: uint16(67)}, {Fbits: uint8(9), Fval: uint16(230)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(91)},
 20168  	{Fbits: uint8(8), Fval: uint16(27)}, {Fbits: uint8(9), Fval: uint16(150)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(123)}, {Fbits: uint8(8), Fval: uint16(59)}, {Fbits: uint8(9), Fval: uint16(214)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)},
 20169  	{Fbits: uint8(8), Fval: uint16(107)}, {Fbits: uint8(8), Fval: uint16(43)}, {Fbits: uint8(9), Fval: uint16(182)}, {Fbits: uint8(8), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(139)}, {Fbits: uint8(8), Fval: uint16(75)}, {Fbits: uint8(9), Fval: uint16(246)},
 20170  	{Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(87)}, {Fbits: uint8(8), Fval: uint16(23)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(119)}, {Fbits: uint8(8), Fval: uint16(55)},
 20171  	{Fbits: uint8(9), Fval: uint16(206)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(103)}, {Fbits: uint8(8), Fval: uint16(39)}, {Fbits: uint8(9), Fval: uint16(174)}, {Fbits: uint8(8), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(135)},
 20172  	{Fbits: uint8(8), Fval: uint16(71)}, {Fbits: uint8(9), Fval: uint16(238)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(95)}, {Fbits: uint8(8), Fval: uint16(31)}, {Fbits: uint8(9), Fval: uint16(158)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)},
 20173  	{Fbits: uint8(8), Fval: uint16(127)}, {Fbits: uint8(8), Fval: uint16(63)}, {Fbits: uint8(9), Fval: uint16(222)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(111)}, {Fbits: uint8(8), Fval: uint16(47)}, {Fbits: uint8(9), Fval: uint16(190)},
 20174  	{Fbits: uint8(8), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(143)}, {Fbits: uint8(8), Fval: uint16(79)}, {Fbits: uint8(9), Fval: uint16(254)}, {Fop: uint8(96), Fbits: uint8(7)}, {Fbits: uint8(8), Fval: uint16(80)}, {Fbits: uint8(8), Fval: uint16(16)},
 20175  	{Fop: uint8(20), Fbits: uint8(8), Fval: uint16(115)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(112)}, {Fbits: uint8(8), Fval: uint16(48)}, {Fbits: uint8(9), Fval: uint16(193)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(96)},
 20176  	{Fbits: uint8(8), Fval: uint16(32)}, {Fbits: uint8(9), Fval: uint16(161)}, {Fbits: uint8(8)}, {Fbits: uint8(8), Fval: uint16(128)}, {Fbits: uint8(8), Fval: uint16(64)}, {Fbits: uint8(9), Fval: uint16(225)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)},
 20177  	{Fbits: uint8(8), Fval: uint16(88)}, {Fbits: uint8(8), Fval: uint16(24)}, {Fbits: uint8(9), Fval: uint16(145)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(120)}, {Fbits: uint8(8), Fval: uint16(56)}, {Fbits: uint8(9), Fval: uint16(209)},
 20178  	{Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(104)}, {Fbits: uint8(8), Fval: uint16(40)}, {Fbits: uint8(9), Fval: uint16(177)}, {Fbits: uint8(8), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(136)}, {Fbits: uint8(8), Fval: uint16(72)},
 20179  	{Fbits: uint8(9), Fval: uint16(241)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(84)}, {Fbits: uint8(8), Fval: uint16(20)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(227)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(116)},
 20180  	{Fbits: uint8(8), Fval: uint16(52)}, {Fbits: uint8(9), Fval: uint16(201)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(100)}, {Fbits: uint8(8), Fval: uint16(36)}, {Fbits: uint8(9), Fval: uint16(169)}, {Fbits: uint8(8), Fval: uint16(4)},
 20181  	{Fbits: uint8(8), Fval: uint16(132)}, {Fbits: uint8(8), Fval: uint16(68)}, {Fbits: uint8(9), Fval: uint16(233)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(92)}, {Fbits: uint8(8), Fval: uint16(28)}, {Fbits: uint8(9), Fval: uint16(153)},
 20182  	{Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(124)}, {Fbits: uint8(8), Fval: uint16(60)}, {Fbits: uint8(9), Fval: uint16(217)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)}, {Fbits: uint8(8), Fval: uint16(108)}, {Fbits: uint8(8), Fval: uint16(44)},
 20183  	{Fbits: uint8(9), Fval: uint16(185)}, {Fbits: uint8(8), Fval: uint16(12)}, {Fbits: uint8(8), Fval: uint16(140)}, {Fbits: uint8(8), Fval: uint16(76)}, {Fbits: uint8(9), Fval: uint16(249)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(82)},
 20184  	{Fbits: uint8(8), Fval: uint16(18)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(163)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(114)}, {Fbits: uint8(8), Fval: uint16(50)}, {Fbits: uint8(9), Fval: uint16(197)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)},
 20185  	{Fbits: uint8(8), Fval: uint16(98)}, {Fbits: uint8(8), Fval: uint16(34)}, {Fbits: uint8(9), Fval: uint16(165)}, {Fbits: uint8(8), Fval: uint16(2)}, {Fbits: uint8(8), Fval: uint16(130)}, {Fbits: uint8(8), Fval: uint16(66)}, {Fbits: uint8(9), Fval: uint16(229)},
 20186  	{Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(90)}, {Fbits: uint8(8), Fval: uint16(26)}, {Fbits: uint8(9), Fval: uint16(149)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)}, {Fbits: uint8(8), Fval: uint16(122)}, {Fbits: uint8(8), Fval: uint16(58)},
 20187  	{Fbits: uint8(9), Fval: uint16(213)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(106)}, {Fbits: uint8(8), Fval: uint16(42)}, {Fbits: uint8(9), Fval: uint16(181)}, {Fbits: uint8(8), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(138)},
 20188  	{Fbits: uint8(8), Fval: uint16(74)}, {Fbits: uint8(9), Fval: uint16(245)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(86)}, {Fbits: uint8(8), Fval: uint16(22)}, {Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)},
 20189  	{Fbits: uint8(8), Fval: uint16(118)}, {Fbits: uint8(8), Fval: uint16(54)}, {Fbits: uint8(9), Fval: uint16(205)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(102)}, {Fbits: uint8(8), Fval: uint16(38)}, {Fbits: uint8(9), Fval: uint16(173)},
 20190  	{Fbits: uint8(8), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(134)}, {Fbits: uint8(8), Fval: uint16(70)}, {Fbits: uint8(9), Fval: uint16(237)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)}, {Fbits: uint8(8), Fval: uint16(94)}, {Fbits: uint8(8), Fval: uint16(30)},
 20191  	{Fbits: uint8(9), Fval: uint16(157)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(126)}, {Fbits: uint8(8), Fval: uint16(62)}, {Fbits: uint8(9), Fval: uint16(221)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(110)},
 20192  	{Fbits: uint8(8), Fval: uint16(46)}, {Fbits: uint8(9), Fval: uint16(189)}, {Fbits: uint8(8), Fval: uint16(14)}, {Fbits: uint8(8), Fval: uint16(142)}, {Fbits: uint8(8), Fval: uint16(78)}, {Fbits: uint8(9), Fval: uint16(253)}, {Fop: uint8(96), Fbits: uint8(7)},
 20193  	{Fbits: uint8(8), Fval: uint16(81)}, {Fbits: uint8(8), Fval: uint16(17)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(131)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(31)}, {Fbits: uint8(8), Fval: uint16(113)}, {Fbits: uint8(8), Fval: uint16(49)}, {Fbits: uint8(9), Fval: uint16(195)},
 20194  	{Fop: uint8(16), Fbits: uint8(7), Fval: uint16(10)}, {Fbits: uint8(8), Fval: uint16(97)}, {Fbits: uint8(8), Fval: uint16(33)}, {Fbits: uint8(9), Fval: uint16(163)}, {Fbits: uint8(8), Fval: uint16(1)}, {Fbits: uint8(8), Fval: uint16(129)}, {Fbits: uint8(8), Fval: uint16(65)},
 20195  	{Fbits: uint8(9), Fval: uint16(227)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(6)}, {Fbits: uint8(8), Fval: uint16(89)}, {Fbits: uint8(8), Fval: uint16(25)}, {Fbits: uint8(9), Fval: uint16(147)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(59)}, {Fbits: uint8(8), Fval: uint16(121)},
 20196  	{Fbits: uint8(8), Fval: uint16(57)}, {Fbits: uint8(9), Fval: uint16(211)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(17)}, {Fbits: uint8(8), Fval: uint16(105)}, {Fbits: uint8(8), Fval: uint16(41)}, {Fbits: uint8(9), Fval: uint16(179)}, {Fbits: uint8(8), Fval: uint16(9)},
 20197  	{Fbits: uint8(8), Fval: uint16(137)}, {Fbits: uint8(8), Fval: uint16(73)}, {Fbits: uint8(9), Fval: uint16(243)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(4)}, {Fbits: uint8(8), Fval: uint16(85)}, {Fbits: uint8(8), Fval: uint16(21)}, {Fop: uint8(16), Fbits: uint8(8), Fval: uint16(258)},
 20198  	{Fop: uint8(19), Fbits: uint8(7), Fval: uint16(43)}, {Fbits: uint8(8), Fval: uint16(117)}, {Fbits: uint8(8), Fval: uint16(53)}, {Fbits: uint8(9), Fval: uint16(203)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(101)}, {Fbits: uint8(8), Fval: uint16(37)},
 20199  	{Fbits: uint8(9), Fval: uint16(171)}, {Fbits: uint8(8), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(133)}, {Fbits: uint8(8), Fval: uint16(69)}, {Fbits: uint8(9), Fval: uint16(235)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(8)}, {Fbits: uint8(8), Fval: uint16(93)},
 20200  	{Fbits: uint8(8), Fval: uint16(29)}, {Fbits: uint8(9), Fval: uint16(155)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(125)}, {Fbits: uint8(8), Fval: uint16(61)}, {Fbits: uint8(9), Fval: uint16(219)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(23)},
 20201  	{Fbits: uint8(8), Fval: uint16(109)}, {Fbits: uint8(8), Fval: uint16(45)}, {Fbits: uint8(9), Fval: uint16(187)}, {Fbits: uint8(8), Fval: uint16(13)}, {Fbits: uint8(8), Fval: uint16(141)}, {Fbits: uint8(8), Fval: uint16(77)}, {Fbits: uint8(9), Fval: uint16(251)},
 20202  	{Fop: uint8(16), Fbits: uint8(7), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(83)}, {Fbits: uint8(8), Fval: uint16(19)}, {Fop: uint8(21), Fbits: uint8(8), Fval: uint16(195)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(35)}, {Fbits: uint8(8), Fval: uint16(115)}, {Fbits: uint8(8), Fval: uint16(51)},
 20203  	{Fbits: uint8(9), Fval: uint16(199)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(35)}, {Fbits: uint8(9), Fval: uint16(167)}, {Fbits: uint8(8), Fval: uint16(3)}, {Fbits: uint8(8), Fval: uint16(131)},
 20204  	{Fbits: uint8(8), Fval: uint16(67)}, {Fbits: uint8(9), Fval: uint16(231)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(91)}, {Fbits: uint8(8), Fval: uint16(27)}, {Fbits: uint8(9), Fval: uint16(151)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(67)},
 20205  	{Fbits: uint8(8), Fval: uint16(123)}, {Fbits: uint8(8), Fval: uint16(59)}, {Fbits: uint8(9), Fval: uint16(215)}, {Fop: uint8(18), Fbits: uint8(7), Fval: uint16(19)}, {Fbits: uint8(8), Fval: uint16(107)}, {Fbits: uint8(8), Fval: uint16(43)}, {Fbits: uint8(9), Fval: uint16(183)},
 20206  	{Fbits: uint8(8), Fval: uint16(11)}, {Fbits: uint8(8), Fval: uint16(139)}, {Fbits: uint8(8), Fval: uint16(75)}, {Fbits: uint8(9), Fval: uint16(247)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(5)}, {Fbits: uint8(8), Fval: uint16(87)}, {Fbits: uint8(8), Fval: uint16(23)},
 20207  	{Fop: uint8(64), Fbits: uint8(8)}, {Fop: uint8(19), Fbits: uint8(7), Fval: uint16(51)}, {Fbits: uint8(8), Fval: uint16(119)}, {Fbits: uint8(8), Fval: uint16(55)}, {Fbits: uint8(9), Fval: uint16(207)}, {Fop: uint8(17), Fbits: uint8(7), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(103)},
 20208  	{Fbits: uint8(8), Fval: uint16(39)}, {Fbits: uint8(9), Fval: uint16(175)}, {Fbits: uint8(8), Fval: uint16(7)}, {Fbits: uint8(8), Fval: uint16(135)}, {Fbits: uint8(8), Fval: uint16(71)}, {Fbits: uint8(9), Fval: uint16(239)}, {Fop: uint8(16), Fbits: uint8(7), Fval: uint16(9)},
 20209  	{Fbits: uint8(8), Fval: uint16(95)}, {Fbits: uint8(8), Fval: uint16(31)}, {Fbits: uint8(9), Fval: uint16(159)}, {Fop: uint8(20), Fbits: uint8(7), Fval: uint16(99)}, {Fbits: uint8(8), Fval: uint16(127)}, {Fbits: uint8(8), Fval: uint16(63)}, {Fbits: uint8(9), Fval: uint16(223)},
 20210  	{Fop: uint8(18), Fbits: uint8(7), Fval: uint16(27)}, {Fbits: uint8(8), Fval: uint16(111)}, {Fbits: uint8(8), Fval: uint16(47)}, {Fbits: uint8(9), Fval: uint16(191)}, {Fbits: uint8(8), Fval: uint16(15)}, {Fbits: uint8(8), Fval: uint16(143)}, {Fbits: uint8(8), Fval: uint16(79)},
 20211  	{Fbits: uint8(9), Fval: uint16(255)},
 20212  } /* inffixed.h:10:23 */
 20213  var distfix1 = [32]Code{
 20214  	{Fop: uint8(16), Fbits: uint8(5), Fval: uint16(1)}, {Fop: uint8(23), Fbits: uint8(5), Fval: uint16(257)}, {Fop: uint8(19), Fbits: uint8(5), Fval: uint16(17)}, {Fop: uint8(27), Fbits: uint8(5), Fval: uint16(4097)}, {Fop: uint8(17), Fbits: uint8(5), Fval: uint16(5)}, {Fop: uint8(25), Fbits: uint8(5), Fval: uint16(1025)},
 20215  	{Fop: uint8(21), Fbits: uint8(5), Fval: uint16(65)}, {Fop: uint8(29), Fbits: uint8(5), Fval: uint16(16385)}, {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(3)}, {Fop: uint8(24), Fbits: uint8(5), Fval: uint16(513)}, {Fop: uint8(20), Fbits: uint8(5), Fval: uint16(33)}, {Fop: uint8(28), Fbits: uint8(5), Fval: uint16(8193)},
 20216  	{Fop: uint8(18), Fbits: uint8(5), Fval: uint16(9)}, {Fop: uint8(26), Fbits: uint8(5), Fval: uint16(2049)}, {Fop: uint8(22), Fbits: uint8(5), Fval: uint16(129)}, {Fop: uint8(64), Fbits: uint8(5)}, {Fop: uint8(16), Fbits: uint8(5), Fval: uint16(2)}, {Fop: uint8(23), Fbits: uint8(5), Fval: uint16(385)},
 20217  	{Fop: uint8(19), Fbits: uint8(5), Fval: uint16(25)}, {Fop: uint8(27), Fbits: uint8(5), Fval: uint16(6145)}, {Fop: uint8(17), Fbits: uint8(5), Fval: uint16(7)}, {Fop: uint8(25), Fbits: uint8(5), Fval: uint16(1537)}, {Fop: uint8(21), Fbits: uint8(5), Fval: uint16(97)}, {Fop: uint8(29), Fbits: uint8(5), Fval: uint16(24577)},
 20218  	{Fop: uint8(16), Fbits: uint8(5), Fval: uint16(4)}, {Fop: uint8(24), Fbits: uint8(5), Fval: uint16(769)}, {Fop: uint8(20), Fbits: uint8(5), Fval: uint16(49)}, {Fop: uint8(28), Fbits: uint8(5), Fval: uint16(12289)}, {Fop: uint8(18), Fbits: uint8(5), Fval: uint16(13)}, {Fop: uint8(26), Fbits: uint8(5), Fval: uint16(3073)},
 20219  	{Fop: uint8(22), Fbits: uint8(5), Fval: uint16(193)}, {Fop: uint8(64), Fbits: uint8(5)},
 20220  } /* inffixed.h:87:23 */
 20221  
 20222  //
 20223  //    Update the window with the last wsize (normally 32K) bytes written before
 20224  //    returning.  If window does not exist yet, create it.  This is only called
 20225  //    when a window is already in use, or when output has been written during this
 20226  //    inflate call, but the end of the deflate stream has not been reached yet.
 20227  //    It is also called to create a window for dictionary data when a dictionary
 20228  //    is loaded.
 20229  //
 20230  //    Providing output buffers larger than 32K to inflate() should provide a speed
 20231  //    advantage, since only the last 32K of output is copied to the sliding window
 20232  //    upon return from inflate(), and since all distances after the first 32K of
 20233  //    output will fall in the output data, making match copies simpler and faster.
 20234  //    The advantage may be dependent on the size of the processor's data caches.
 20235  //
 20236  func updatewindow(tls *libc.TLS, strm Z_streamp, end uintptr, copy uint32) int32 { /* inflate.c:396:11: */
 20237  	var state uintptr
 20238  	var dist uint32
 20239  
 20240  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 20241  
 20242  	// if it hasn't been done already, allocate space for the window
 20243  	if (*Inflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(Z_NULL) {
 20244  		(*Inflate_state)(unsafe.Pointer(state)).Fwindow = (*struct {
 20245  			f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 20246  		})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fwbits, uint32(unsafe.Sizeof(uint8(0))))
 20247  		if (*Inflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(Z_NULL) {
 20248  			return 1
 20249  		}
 20250  	}
 20251  
 20252  	// if window not in use yet, initialize
 20253  	if (*Inflate_state)(unsafe.Pointer(state)).Fwsize == uint32(0) {
 20254  		(*Inflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << (*Inflate_state)(unsafe.Pointer(state)).Fwbits
 20255  		(*Inflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
 20256  		(*Inflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
 20257  	}
 20258  
 20259  	// copy state->wsize or less output bytes into the circular window
 20260  	if copy >= (*Inflate_state)(unsafe.Pointer(state)).Fwsize {
 20261  		libc.X__builtin___memcpy_chk(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwsize), uint64((*Inflate_state)(unsafe.Pointer(state)).Fwsize), libc.X__builtin_object_size(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, 0))
 20262  		(*Inflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
 20263  		(*Inflate_state)(unsafe.Pointer(state)).Fwhave = (*Inflate_state)(unsafe.Pointer(state)).Fwsize
 20264  	} else {
 20265  		dist = (*Inflate_state)(unsafe.Pointer(state)).Fwsize - (*Inflate_state)(unsafe.Pointer(state)).Fwnext
 20266  		if dist > copy {
 20267  			dist = copy
 20268  		}
 20269  		libc.X__builtin___memcpy_chk(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext), end-uintptr(copy), uint64(dist), libc.X__builtin_object_size(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext), 0))
 20270  		copy = copy - dist
 20271  		if copy != 0 {
 20272  			libc.X__builtin___memcpy_chk(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr(copy), uint64(copy), libc.X__builtin_object_size(tls, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, 0))
 20273  			(*Inflate_state)(unsafe.Pointer(state)).Fwnext = copy
 20274  			(*Inflate_state)(unsafe.Pointer(state)).Fwhave = (*Inflate_state)(unsafe.Pointer(state)).Fwsize
 20275  		} else {
 20276  			*(*uint32)(unsafe.Pointer(state + 68)) += dist
 20277  			if (*Inflate_state)(unsafe.Pointer(state)).Fwnext == (*Inflate_state)(unsafe.Pointer(state)).Fwsize {
 20278  				(*Inflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
 20279  			}
 20280  			if (*Inflate_state)(unsafe.Pointer(state)).Fwhave < (*Inflate_state)(unsafe.Pointer(state)).Fwsize {
 20281  				*(*uint32)(unsafe.Pointer(state + 64)) += dist
 20282  			}
 20283  		}
 20284  	}
 20285  	return 0
 20286  }
 20287  
 20288  // Macros for inflate():
 20289  
 20290  // check function to use adler32() for zlib or crc32() for gzip
 20291  
 20292  // check macros for header crc
 20293  
 20294  // Load registers with state in inflate() for speed
 20295  
 20296  // Restore state from registers in inflate()
 20297  
 20298  // Clear the input bit accumulator
 20299  
 20300  // Get a byte of input into the bit accumulator, or return from inflate()
 20301  //    if there is no input available.
 20302  
 20303  // Assure that there are at least n bits in the bit accumulator.  If there is
 20304  //    not enough available input to do that, then return from inflate().
 20305  
 20306  // Return the low n bits of the bit accumulator (n < 16)
 20307  
 20308  // Remove n bits from the bit accumulator
 20309  
 20310  // Remove zero to seven bits as needed to go to a byte boundary
 20311  
 20312  //
 20313  //    inflate() uses a state machine to process as much input data and generate as
 20314  //    much output data as possible before returning.  The state machine is
 20315  //    structured roughly as follows:
 20316  //
 20317  //     for (;;) switch (state) {
 20318  //     ...
 20319  //     case STATEn:
 20320  //         if (not enough input data or output space to make progress)
 20321  //             return;
 20322  //         ... make progress ...
 20323  //         state = STATEm;
 20324  //         break;
 20325  //     ...
 20326  //     }
 20327  //
 20328  //    so when inflate() is called again, the same case is attempted again, and
 20329  //    if the appropriate resources are provided, the machine proceeds to the
 20330  //    next state.  The NEEDBITS() macro is usually the way the state evaluates
 20331  //    whether it can proceed or should return.  NEEDBITS() does the return if
 20332  //    the requested bits are not available.  The typical use of the BITS macros
 20333  //    is:
 20334  //
 20335  //         NEEDBITS(n);
 20336  //         ... do something with BITS(n) ...
 20337  //         DROPBITS(n);
 20338  //
 20339  //    where NEEDBITS(n) either returns from inflate() if there isn't enough
 20340  //    input left to load n bits into the accumulator, or it continues.  BITS(n)
 20341  //    gives the low n bits in the accumulator.  When done, DROPBITS(n) drops
 20342  //    the low n bits off the accumulator.  INITBITS() clears the accumulator
 20343  //    and sets the number of available bits to zero.  BYTEBITS() discards just
 20344  //    enough bits to put the accumulator on a byte boundary.  After BYTEBITS()
 20345  //    and a NEEDBITS(8), then BITS(8) would return the next byte in the stream.
 20346  //
 20347  //    NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return
 20348  //    if there is no input available.  The decoding of variable length codes uses
 20349  //    PULLBYTE() directly in order to pull just enough bytes to decode the next
 20350  //    code, and no more.
 20351  //
 20352  //    Some states loop until they get enough input, making sure that enough
 20353  //    state information is maintained to continue the loop where it left off
 20354  //    if NEEDBITS() returns in the loop.  For example, want, need, and keep
 20355  //    would all have to actually be part of the saved state in case NEEDBITS()
 20356  //    returns:
 20357  //
 20358  //     case STATEw:
 20359  //         while (want < need) {
 20360  //             NEEDBITS(n);
 20361  //             keep[want++] = BITS(n);
 20362  //             DROPBITS(n);
 20363  //         }
 20364  //         state = STATEx;
 20365  //     case STATEx:
 20366  //
 20367  //    As shown above, if the next state is also the next case, then the break
 20368  //    is omitted.
 20369  //
 20370  //    A state may also return if there is not enough output space available to
 20371  //    complete that state.  Those states are copying stored data, writing a
 20372  //    literal byte, and copying a matching string.
 20373  //
 20374  //    When returning, a "goto inf_leave" is used to update the total counters,
 20375  //    update the check value, and determine whether any progress has been made
 20376  //    during that inflate() call in order to return the proper return code.
 20377  //    Progress is defined as a change in either strm->avail_in or strm->avail_out.
 20378  //    When there is a window, goto inf_leave will update the window with the last
 20379  //    output written.  If a goto inf_leave occurs in the middle of decompression
 20380  //    and there is no window currently, goto inf_leave will create one and copy
 20381  //    output to the window for the next call of inflate().
 20382  //
 20383  //    In this implementation, the flush parameter of inflate() only affects the
 20384  //    return code (per zlib.h).  inflate() always writes as much as possible to
 20385  //    strm->next_out, given the space available and the provided input--the effect
 20386  //    documented in zlib.h of Z_SYNC_FLUSH.  Furthermore, inflate() always defers
 20387  //    the allocation of and copying into a sliding window until necessary, which
 20388  //    provides the effect documented in zlib.h for Z_FINISH when the entire input
 20389  //    stream available.  So the only thing the flush parameter actually does is:
 20390  //    when flush is set to Z_FINISH, inflate() cannot return Z_OK.  Instead it
 20391  //    will return Z_BUF_ERROR if it has not reached the end of the stream.
 20392  //
 20393  
 20394  func Xinflate(tls *libc.TLS, strm Z_streamp, flush int32) int32 { /* inflate.c:622:13: */
 20395  	bp := tls.Alloc(4)
 20396  	defer tls.Free(4)
 20397  
 20398  	var state uintptr
 20399  	var next uintptr // next input
 20400  	var put uintptr  // next output
 20401  	var have uint32
 20402  	var left uint32 // available input and output
 20403  	var hold uint64 // bit buffer
 20404  	var bits uint32 // bits in bit buffer
 20405  	var in uint32
 20406  	var out uint32   // save starting available input and output
 20407  	var copy uint32  // number of stored or match bytes to copy
 20408  	var from uintptr // where to copy match bytes from
 20409  	var here Code    // current decoding table entry
 20410  	var last Code    // parent table entry
 20411  	var len uint32   // length to copy for repeats, bits to drop
 20412  	var ret int32    // return code
 20413  	// var hbuf [4]uint8 at bp, 4
 20414  
 20415  	if !(inflateStateCheck(tls, strm) != 0 || (*Z_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(Z_NULL) || (*Z_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(Z_NULL) && (*Z_stream)(unsafe.Pointer(strm)).Favail_in != UInt(0)) {
 20416  		goto __1
 20417  	}
 20418  	return -2
 20419  __1:
 20420  	;
 20421  
 20422  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 20423  	if !((*Inflate_state)(unsafe.Pointer(state)).Fmode == TYPE) {
 20424  		goto __2
 20425  	}
 20426  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPEDO
 20427  __2:
 20428  	; // skip check
 20429  __3:
 20430  	put = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out
 20431  	left = (*Z_stream)(unsafe.Pointer(strm)).Favail_out
 20432  	next = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in
 20433  	have = (*Z_stream)(unsafe.Pointer(strm)).Favail_in
 20434  	hold = (*Inflate_state)(unsafe.Pointer(state)).Fhold
 20435  	bits = (*Inflate_state)(unsafe.Pointer(state)).Fbits
 20436  	goto __4
 20437  __4:
 20438  	if 0 != 0 {
 20439  		goto __3
 20440  	}
 20441  	goto __5
 20442  __5:
 20443  	;
 20444  	in = have
 20445  	out = left
 20446  	ret = Z_OK
 20447  __6:
 20448  	switch (*Inflate_state)(unsafe.Pointer(state)).Fmode {
 20449  	case HEAD:
 20450  		goto __10
 20451  	case FLAGS:
 20452  		goto __11
 20453  	case TIME:
 20454  		goto __12
 20455  	case OS:
 20456  		goto __13
 20457  	case EXLEN:
 20458  		goto __14
 20459  	case EXTRA:
 20460  		goto __15
 20461  	case NAME:
 20462  		goto __16
 20463  	case COMMENT:
 20464  		goto __17
 20465  	case HCRC:
 20466  		goto __18
 20467  	case DICTID:
 20468  		goto __19
 20469  	case DICT:
 20470  		goto __20
 20471  	case TYPE:
 20472  		goto __21
 20473  	case TYPEDO:
 20474  		goto __22
 20475  	case STORED:
 20476  		goto __23
 20477  	case COPY_:
 20478  		goto __24
 20479  	case COPY:
 20480  		goto __25
 20481  	case TABLE:
 20482  		goto __26
 20483  	case LENLENS:
 20484  		goto __27
 20485  	case CODELENS:
 20486  		goto __28
 20487  	case LEN_:
 20488  		goto __29
 20489  	case LEN:
 20490  		goto __30
 20491  	case LENEXT:
 20492  		goto __31
 20493  	case DIST:
 20494  		goto __32
 20495  	case DISTEXT:
 20496  		goto __33
 20497  	case MATCH:
 20498  		goto __34
 20499  	case LIT:
 20500  		goto __35
 20501  	case CHECK:
 20502  		goto __36
 20503  	case LENGTH:
 20504  		goto __37
 20505  	case DONE:
 20506  		goto __38
 20507  	case BAD:
 20508  		goto __39
 20509  	case MEM:
 20510  		goto __40
 20511  	case SYNC:
 20512  		goto __41
 20513  	default:
 20514  		goto __42
 20515  	}
 20516  	goto __9
 20517  __10:
 20518  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap == 0) {
 20519  		goto __43
 20520  	}
 20521  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPEDO
 20522  	goto __9
 20523  __43:
 20524  	;
 20525  __44:
 20526  __47:
 20527  	if !(bits < uint32(16)) {
 20528  		goto __48
 20529  	}
 20530  __49:
 20531  	if !(have == uint32(0)) {
 20532  		goto __52
 20533  	}
 20534  	goto inf_leave
 20535  __52:
 20536  	;
 20537  	have--
 20538  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 20539  	bits = bits + uint32(8)
 20540  	goto __50
 20541  __50:
 20542  	if 0 != 0 {
 20543  		goto __49
 20544  	}
 20545  	goto __51
 20546  __51:
 20547  	;
 20548  	goto __47
 20549  __48:
 20550  	;
 20551  	goto __45
 20552  __45:
 20553  	if 0 != 0 {
 20554  		goto __44
 20555  	}
 20556  	goto __46
 20557  __46:
 20558  	;
 20559  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap&2 != 0 && hold == uint64(0x8b1f)) {
 20560  		goto __53
 20561  	} // gzip header
 20562  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0)) {
 20563  		goto __54
 20564  	}
 20565  	(*Inflate_state)(unsafe.Pointer(state)).Fwbits = uint32(15)
 20566  __54:
 20567  	;
 20568  	(*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, uint64(0), uintptr(Z_NULL), uint32(0))
 20569  __55:
 20570  	*(*uint8)(unsafe.Pointer(bp)) = uint8(hold)
 20571  	*(*uint8)(unsafe.Pointer(bp + 1)) = uint8(hold >> 8)
 20572  	(*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
 20573  	goto __56
 20574  __56:
 20575  	if 0 != 0 {
 20576  		goto __55
 20577  	}
 20578  	goto __57
 20579  __57:
 20580  	;
 20581  __58:
 20582  	hold = uint64(0)
 20583  	bits = uint32(0)
 20584  	goto __59
 20585  __59:
 20586  	if 0 != 0 {
 20587  		goto __58
 20588  	}
 20589  	goto __60
 20590  __60:
 20591  	;
 20592  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = FLAGS
 20593  	goto __9
 20594  __53:
 20595  	;
 20596  	(*Inflate_state)(unsafe.Pointer(state)).Fflags = 0 // expect zlib header
 20597  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) {
 20598  		goto __61
 20599  	}
 20600  	(*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = -1
 20601  __61:
 20602  	;
 20603  	if !(!((*Inflate_state)(unsafe.Pointer(state)).Fwrap&1 != 0) || (uint64(uint32(hold)&(uint32(1)<<8-uint32(1))<<8)+hold>>8)%uint64(31) != 0) {
 20604  		goto __62
 20605  	}
 20606  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 669 /* "incorrect header..." */
 20607  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 20608  	goto __9
 20609  __62:
 20610  	;
 20611  	if !(uint32(hold)&(uint32(1)<<4-uint32(1)) != uint32(Z_DEFLATED)) {
 20612  		goto __63
 20613  	}
 20614  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 692 /* "unknown compress..." */
 20615  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 20616  	goto __9
 20617  __63:
 20618  	;
 20619  __64:
 20620  	hold >>= 4
 20621  	bits = bits - uint32(4)
 20622  	goto __65
 20623  __65:
 20624  	if 0 != 0 {
 20625  		goto __64
 20626  	}
 20627  	goto __66
 20628  __66:
 20629  	;
 20630  	len = uint32(hold)&(uint32(1)<<4-uint32(1)) + uint32(8)
 20631  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0)) {
 20632  		goto __67
 20633  	}
 20634  	(*Inflate_state)(unsafe.Pointer(state)).Fwbits = len
 20635  __67:
 20636  	;
 20637  	if !(len > uint32(15) || len > (*Inflate_state)(unsafe.Pointer(state)).Fwbits) {
 20638  		goto __68
 20639  	}
 20640  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 719 /* "invalid window s..." */
 20641  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 20642  	goto __9
 20643  __68:
 20644  	;
 20645  	(*Inflate_state)(unsafe.Pointer(state)).Fdmax = uint32(1) << len
 20646  
 20647  	(*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, Xadler32(tls, uint64(0), uintptr(Z_NULL), uint32(0)))
 20648  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = func() uint32 {
 20649  		if hold&uint64(0x200) != 0 {
 20650  			return DICTID
 20651  		}
 20652  		return TYPE
 20653  	}()
 20654  __69:
 20655  	hold = uint64(0)
 20656  	bits = uint32(0)
 20657  	goto __70
 20658  __70:
 20659  	if 0 != 0 {
 20660  		goto __69
 20661  	}
 20662  	goto __71
 20663  __71:
 20664  	;
 20665  	goto __9
 20666  __11:
 20667  __72:
 20668  __75:
 20669  	if !(bits < uint32(16)) {
 20670  		goto __76
 20671  	}
 20672  __77:
 20673  	if !(have == uint32(0)) {
 20674  		goto __80
 20675  	}
 20676  	goto inf_leave
 20677  __80:
 20678  	;
 20679  	have--
 20680  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 20681  	bits = bits + uint32(8)
 20682  	goto __78
 20683  __78:
 20684  	if 0 != 0 {
 20685  		goto __77
 20686  	}
 20687  	goto __79
 20688  __79:
 20689  	;
 20690  	goto __75
 20691  __76:
 20692  	;
 20693  	goto __73
 20694  __73:
 20695  	if 0 != 0 {
 20696  		goto __72
 20697  	}
 20698  	goto __74
 20699  __74:
 20700  	;
 20701  	(*Inflate_state)(unsafe.Pointer(state)).Fflags = int32(hold)
 20702  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0xff != Z_DEFLATED) {
 20703  		goto __81
 20704  	}
 20705  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 692 /* "unknown compress..." */
 20706  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 20707  	goto __9
 20708  __81:
 20709  	;
 20710  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0xe000 != 0) {
 20711  		goto __82
 20712  	}
 20713  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 739 /* "unknown header f..." */
 20714  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 20715  	goto __9
 20716  __82:
 20717  	;
 20718  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) {
 20719  		goto __83
 20720  	}
 20721  	(*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Ftext = int32(hold >> 8 & uint64(1))
 20722  __83:
 20723  	;
 20724  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) {
 20725  		goto __84
 20726  	}
 20727  __85:
 20728  	*(*uint8)(unsafe.Pointer(bp)) = uint8(hold)
 20729  	*(*uint8)(unsafe.Pointer(bp + 1)) = uint8(hold >> 8)
 20730  	(*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
 20731  	goto __86
 20732  __86:
 20733  	if 0 != 0 {
 20734  		goto __85
 20735  	}
 20736  	goto __87
 20737  __87:
 20738  	;
 20739  __84:
 20740  	;
 20741  __88:
 20742  	hold = uint64(0)
 20743  	bits = uint32(0)
 20744  	goto __89
 20745  __89:
 20746  	if 0 != 0 {
 20747  		goto __88
 20748  	}
 20749  	goto __90
 20750  __90:
 20751  	;
 20752  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TIME
 20753  __12:
 20754  __91:
 20755  __94:
 20756  	if !(bits < uint32(32)) {
 20757  		goto __95
 20758  	}
 20759  __96:
 20760  	if !(have == uint32(0)) {
 20761  		goto __99
 20762  	}
 20763  	goto inf_leave
 20764  __99:
 20765  	;
 20766  	have--
 20767  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 20768  	bits = bits + uint32(8)
 20769  	goto __97
 20770  __97:
 20771  	if 0 != 0 {
 20772  		goto __96
 20773  	}
 20774  	goto __98
 20775  __98:
 20776  	;
 20777  	goto __94
 20778  __95:
 20779  	;
 20780  	goto __92
 20781  __92:
 20782  	if 0 != 0 {
 20783  		goto __91
 20784  	}
 20785  	goto __93
 20786  __93:
 20787  	;
 20788  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) {
 20789  		goto __100
 20790  	}
 20791  	(*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Ftime = hold
 20792  __100:
 20793  	;
 20794  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) {
 20795  		goto __101
 20796  	}
 20797  __102:
 20798  	*(*uint8)(unsafe.Pointer(bp)) = uint8(hold)
 20799  	*(*uint8)(unsafe.Pointer(bp + 1)) = uint8(hold >> 8)
 20800  	*(*uint8)(unsafe.Pointer(bp + 2)) = uint8(hold >> 16)
 20801  	*(*uint8)(unsafe.Pointer(bp + 3)) = uint8(hold >> 24)
 20802  	(*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(4))
 20803  	goto __103
 20804  __103:
 20805  	if 0 != 0 {
 20806  		goto __102
 20807  	}
 20808  	goto __104
 20809  __104:
 20810  	;
 20811  __101:
 20812  	;
 20813  __105:
 20814  	hold = uint64(0)
 20815  	bits = uint32(0)
 20816  	goto __106
 20817  __106:
 20818  	if 0 != 0 {
 20819  		goto __105
 20820  	}
 20821  	goto __107
 20822  __107:
 20823  	;
 20824  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = OS
 20825  __13:
 20826  __108:
 20827  __111:
 20828  	if !(bits < uint32(16)) {
 20829  		goto __112
 20830  	}
 20831  __113:
 20832  	if !(have == uint32(0)) {
 20833  		goto __116
 20834  	}
 20835  	goto inf_leave
 20836  __116:
 20837  	;
 20838  	have--
 20839  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 20840  	bits = bits + uint32(8)
 20841  	goto __114
 20842  __114:
 20843  	if 0 != 0 {
 20844  		goto __113
 20845  	}
 20846  	goto __115
 20847  __115:
 20848  	;
 20849  	goto __111
 20850  __112:
 20851  	;
 20852  	goto __109
 20853  __109:
 20854  	if 0 != 0 {
 20855  		goto __108
 20856  	}
 20857  	goto __110
 20858  __110:
 20859  	;
 20860  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) {
 20861  		goto __117
 20862  	}
 20863  	(*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fxflags = int32(hold & uint64(0xff))
 20864  	(*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fos = int32(hold >> 8)
 20865  __117:
 20866  	;
 20867  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) {
 20868  		goto __118
 20869  	}
 20870  __119:
 20871  	*(*uint8)(unsafe.Pointer(bp)) = uint8(hold)
 20872  	*(*uint8)(unsafe.Pointer(bp + 1)) = uint8(hold >> 8)
 20873  	(*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
 20874  	goto __120
 20875  __120:
 20876  	if 0 != 0 {
 20877  		goto __119
 20878  	}
 20879  	goto __121
 20880  __121:
 20881  	;
 20882  __118:
 20883  	;
 20884  __122:
 20885  	hold = uint64(0)
 20886  	bits = uint32(0)
 20887  	goto __123
 20888  __123:
 20889  	if 0 != 0 {
 20890  		goto __122
 20891  	}
 20892  	goto __124
 20893  __124:
 20894  	;
 20895  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = EXLEN
 20896  __14:
 20897  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0400 != 0) {
 20898  		goto __125
 20899  	}
 20900  __127:
 20901  __130:
 20902  	if !(bits < uint32(16)) {
 20903  		goto __131
 20904  	}
 20905  __132:
 20906  	if !(have == uint32(0)) {
 20907  		goto __135
 20908  	}
 20909  	goto inf_leave
 20910  __135:
 20911  	;
 20912  	have--
 20913  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 20914  	bits = bits + uint32(8)
 20915  	goto __133
 20916  __133:
 20917  	if 0 != 0 {
 20918  		goto __132
 20919  	}
 20920  	goto __134
 20921  __134:
 20922  	;
 20923  	goto __130
 20924  __131:
 20925  	;
 20926  	goto __128
 20927  __128:
 20928  	if 0 != 0 {
 20929  		goto __127
 20930  	}
 20931  	goto __129
 20932  __129:
 20933  	;
 20934  	(*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(hold)
 20935  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) {
 20936  		goto __136
 20937  	}
 20938  	(*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len = uint32(hold)
 20939  __136:
 20940  	;
 20941  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) {
 20942  		goto __137
 20943  	}
 20944  __138:
 20945  	*(*uint8)(unsafe.Pointer(bp)) = uint8(hold)
 20946  	*(*uint8)(unsafe.Pointer(bp + 1)) = uint8(hold >> 8)
 20947  	(*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
 20948  	goto __139
 20949  __139:
 20950  	if 0 != 0 {
 20951  		goto __138
 20952  	}
 20953  	goto __140
 20954  __140:
 20955  	;
 20956  __137:
 20957  	;
 20958  __141:
 20959  	hold = uint64(0)
 20960  	bits = uint32(0)
 20961  	goto __142
 20962  __142:
 20963  	if 0 != 0 {
 20964  		goto __141
 20965  	}
 20966  	goto __143
 20967  __143:
 20968  	;
 20969  	goto __126
 20970  __125:
 20971  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) {
 20972  		goto __144
 20973  	}
 20974  	(*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra = uintptr(Z_NULL)
 20975  __144:
 20976  	;
 20977  __126:
 20978  	;
 20979  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = EXTRA
 20980  __15:
 20981  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0400 != 0) {
 20982  		goto __145
 20983  	}
 20984  	copy = (*Inflate_state)(unsafe.Pointer(state)).Flength
 20985  	if !(copy > have) {
 20986  		goto __146
 20987  	}
 20988  	copy = have
 20989  __146:
 20990  	;
 20991  	if !(copy != 0) {
 20992  		goto __147
 20993  	}
 20994  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL) && (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra != uintptr(Z_NULL)) {
 20995  		goto __148
 20996  	}
 20997  	len = (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len - (*Inflate_state)(unsafe.Pointer(state)).Flength
 20998  	libc.X__builtin___memcpy_chk(tls, (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra+uintptr(len), next, func() uint64 {
 20999  		if len+copy > (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
 21000  			return uint64((*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max - len)
 21001  		}
 21002  		return uint64(copy)
 21003  	}(), libc.X__builtin_object_size(tls, (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fextra+uintptr(len), 0))
 21004  __148:
 21005  	;
 21006  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) {
 21007  		goto __149
 21008  	}
 21009  	(*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, next, copy)
 21010  __149:
 21011  	;
 21012  	have = have - copy
 21013  	next += uintptr(copy)
 21014  	*(*uint32)(unsafe.Pointer(state + 92)) -= copy
 21015  __147:
 21016  	;
 21017  	if !((*Inflate_state)(unsafe.Pointer(state)).Flength != 0) {
 21018  		goto __150
 21019  	}
 21020  	goto inf_leave
 21021  __150:
 21022  	;
 21023  __145:
 21024  	;
 21025  	(*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
 21026  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = NAME
 21027  __16:
 21028  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0800 != 0) {
 21029  		goto __151
 21030  	}
 21031  	if !(have == uint32(0)) {
 21032  		goto __153
 21033  	}
 21034  	goto inf_leave
 21035  __153:
 21036  	;
 21037  	copy = uint32(0)
 21038  __154:
 21039  	len = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(libc.PostIncUint32(&copy, 1)))))
 21040  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL) && (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fname != uintptr(Z_NULL) && (*Inflate_state)(unsafe.Pointer(state)).Flength < (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fname_max) {
 21041  		goto __157
 21042  	}
 21043  	*(*Bytef)(unsafe.Pointer((*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fname + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Flength, 1)))) = Bytef(len)
 21044  __157:
 21045  	;
 21046  	goto __155
 21047  __155:
 21048  	if len != 0 && copy < have {
 21049  		goto __154
 21050  	}
 21051  	goto __156
 21052  __156:
 21053  	;
 21054  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) {
 21055  		goto __158
 21056  	}
 21057  	(*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, next, copy)
 21058  __158:
 21059  	;
 21060  	have = have - copy
 21061  	next += uintptr(copy)
 21062  	if !(len != 0) {
 21063  		goto __159
 21064  	}
 21065  	goto inf_leave
 21066  __159:
 21067  	;
 21068  	goto __152
 21069  __151:
 21070  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) {
 21071  		goto __160
 21072  	}
 21073  	(*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fname = uintptr(Z_NULL)
 21074  __160:
 21075  	;
 21076  __152:
 21077  	;
 21078  	(*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
 21079  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = COMMENT
 21080  __17:
 21081  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x1000 != 0) {
 21082  		goto __161
 21083  	}
 21084  	if !(have == uint32(0)) {
 21085  		goto __163
 21086  	}
 21087  	goto inf_leave
 21088  __163:
 21089  	;
 21090  	copy = uint32(0)
 21091  __164:
 21092  	len = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(libc.PostIncUint32(&copy, 1)))))
 21093  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL) && (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment != uintptr(Z_NULL) && (*Inflate_state)(unsafe.Pointer(state)).Flength < (*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fcomm_max) {
 21094  		goto __167
 21095  	}
 21096  	*(*Bytef)(unsafe.Pointer((*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Flength, 1)))) = Bytef(len)
 21097  __167:
 21098  	;
 21099  	goto __165
 21100  __165:
 21101  	if len != 0 && copy < have {
 21102  		goto __164
 21103  	}
 21104  	goto __166
 21105  __166:
 21106  	;
 21107  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0) {
 21108  		goto __168
 21109  	}
 21110  	(*Inflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, next, copy)
 21111  __168:
 21112  	;
 21113  	have = have - copy
 21114  	next += uintptr(copy)
 21115  	if !(len != 0) {
 21116  		goto __169
 21117  	}
 21118  	goto inf_leave
 21119  __169:
 21120  	;
 21121  	goto __162
 21122  __161:
 21123  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) {
 21124  		goto __170
 21125  	}
 21126  	(*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment = uintptr(Z_NULL)
 21127  __170:
 21128  	;
 21129  __162:
 21130  	;
 21131  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = HCRC
 21132  __18:
 21133  	if !((*Inflate_state)(unsafe.Pointer(state)).Fflags&0x0200 != 0) {
 21134  		goto __171
 21135  	}
 21136  __172:
 21137  __175:
 21138  	if !(bits < uint32(16)) {
 21139  		goto __176
 21140  	}
 21141  __177:
 21142  	if !(have == uint32(0)) {
 21143  		goto __180
 21144  	}
 21145  	goto inf_leave
 21146  __180:
 21147  	;
 21148  	have--
 21149  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 21150  	bits = bits + uint32(8)
 21151  	goto __178
 21152  __178:
 21153  	if 0 != 0 {
 21154  		goto __177
 21155  	}
 21156  	goto __179
 21157  __179:
 21158  	;
 21159  	goto __175
 21160  __176:
 21161  	;
 21162  	goto __173
 21163  __173:
 21164  	if 0 != 0 {
 21165  		goto __172
 21166  	}
 21167  	goto __174
 21168  __174:
 21169  	;
 21170  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0 && hold != (*Inflate_state)(unsafe.Pointer(state)).Fcheck&uint64(0xffff)) {
 21171  		goto __181
 21172  	}
 21173  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 764 /* "header crc misma..." */
 21174  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 21175  	goto __9
 21176  __181:
 21177  	;
 21178  __182:
 21179  	hold = uint64(0)
 21180  	bits = uint32(0)
 21181  	goto __183
 21182  __183:
 21183  	if 0 != 0 {
 21184  		goto __182
 21185  	}
 21186  	goto __184
 21187  __184:
 21188  	;
 21189  __171:
 21190  	;
 21191  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhead != uintptr(Z_NULL)) {
 21192  		goto __185
 21193  	}
 21194  	(*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fhcrc = (*Inflate_state)(unsafe.Pointer(state)).Fflags >> 9 & 1
 21195  	(*Gz_header)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = 1
 21196  __185:
 21197  	;
 21198  	(*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, Xcrc32(tls, uint64(0), uintptr(Z_NULL), uint32(0)))
 21199  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE
 21200  	goto __9
 21201  __19:
 21202  __186:
 21203  __189:
 21204  	if !(bits < uint32(32)) {
 21205  		goto __190
 21206  	}
 21207  __191:
 21208  	if !(have == uint32(0)) {
 21209  		goto __194
 21210  	}
 21211  	goto inf_leave
 21212  __194:
 21213  	;
 21214  	have--
 21215  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 21216  	bits = bits + uint32(8)
 21217  	goto __192
 21218  __192:
 21219  	if 0 != 0 {
 21220  		goto __191
 21221  	}
 21222  	goto __193
 21223  __193:
 21224  	;
 21225  	goto __189
 21226  __190:
 21227  	;
 21228  	goto __187
 21229  __187:
 21230  	if 0 != 0 {
 21231  		goto __186
 21232  	}
 21233  	goto __188
 21234  __188:
 21235  	;
 21236  	(*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, hold>>24&uint64(0xff)+hold>>8&uint64(0xff00)+hold&uint64(0xff00)<<8+hold&uint64(0xff)<<24)
 21237  __195:
 21238  	hold = uint64(0)
 21239  	bits = uint32(0)
 21240  	goto __196
 21241  __196:
 21242  	if 0 != 0 {
 21243  		goto __195
 21244  	}
 21245  	goto __197
 21246  __197:
 21247  	;
 21248  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = DICT
 21249  __20:
 21250  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhavedict == 0) {
 21251  		goto __198
 21252  	}
 21253  __199:
 21254  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_out = put
 21255  	(*Z_stream)(unsafe.Pointer(strm)).Favail_out = left
 21256  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = next
 21257  	(*Z_stream)(unsafe.Pointer(strm)).Favail_in = have
 21258  	(*Inflate_state)(unsafe.Pointer(state)).Fhold = hold
 21259  	(*Inflate_state)(unsafe.Pointer(state)).Fbits = bits
 21260  	goto __200
 21261  __200:
 21262  	if 0 != 0 {
 21263  		goto __199
 21264  	}
 21265  	goto __201
 21266  __201:
 21267  	;
 21268  	return Z_NEED_DICT
 21269  __198:
 21270  	;
 21271  	(*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, Xadler32(tls, uint64(0), uintptr(Z_NULL), uint32(0)))
 21272  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE
 21273  __21:
 21274  	if !(flush == Z_BLOCK || flush == Z_TREES) {
 21275  		goto __202
 21276  	}
 21277  	goto inf_leave
 21278  __202:
 21279  	;
 21280  __22:
 21281  	if !((*Inflate_state)(unsafe.Pointer(state)).Flast != 0) {
 21282  		goto __203
 21283  	}
 21284  __204:
 21285  	hold >>= bits & uint32(7)
 21286  	bits = bits - bits&uint32(7)
 21287  	goto __205
 21288  __205:
 21289  	if 0 != 0 {
 21290  		goto __204
 21291  	}
 21292  	goto __206
 21293  __206:
 21294  	;
 21295  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = CHECK
 21296  	goto __9
 21297  __203:
 21298  	;
 21299  __207:
 21300  __210:
 21301  	if !(bits < uint32(3)) {
 21302  		goto __211
 21303  	}
 21304  __212:
 21305  	if !(have == uint32(0)) {
 21306  		goto __215
 21307  	}
 21308  	goto inf_leave
 21309  __215:
 21310  	;
 21311  	have--
 21312  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 21313  	bits = bits + uint32(8)
 21314  	goto __213
 21315  __213:
 21316  	if 0 != 0 {
 21317  		goto __212
 21318  	}
 21319  	goto __214
 21320  __214:
 21321  	;
 21322  	goto __210
 21323  __211:
 21324  	;
 21325  	goto __208
 21326  __208:
 21327  	if 0 != 0 {
 21328  		goto __207
 21329  	}
 21330  	goto __209
 21331  __209:
 21332  	;
 21333  	(*Inflate_state)(unsafe.Pointer(state)).Flast = int32(uint32(hold) & (uint32(1)<<1 - uint32(1)))
 21334  __216:
 21335  	hold >>= 1
 21336  	bits = bits - uint32(1)
 21337  	goto __217
 21338  __217:
 21339  	if 0 != 0 {
 21340  		goto __216
 21341  	}
 21342  	goto __218
 21343  __218:
 21344  	;
 21345  	switch uint32(hold) & (uint32(1)<<2 - uint32(1)) {
 21346  	case uint32(0):
 21347  		goto __220
 21348  	case uint32(1):
 21349  		goto __221
 21350  	case uint32(2):
 21351  		goto __222
 21352  	case uint32(3):
 21353  		goto __223
 21354  	}
 21355  	goto __219
 21356  __220: // stored block
 21357  	;
 21358  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = STORED
 21359  	goto __219
 21360  __221: // fixed block
 21361  	fixedtables1(tls, state)
 21362  
 21363  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN_ // decode codes
 21364  	if !(flush == Z_TREES) {
 21365  		goto __224
 21366  	}
 21367  __225:
 21368  	hold >>= 2
 21369  	bits = bits - uint32(2)
 21370  	goto __226
 21371  __226:
 21372  	if 0 != 0 {
 21373  		goto __225
 21374  	}
 21375  	goto __227
 21376  __227:
 21377  	;
 21378  	goto inf_leave
 21379  __224:
 21380  	;
 21381  	goto __219
 21382  __222: // dynamic block
 21383  	;
 21384  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TABLE
 21385  	goto __219
 21386  __223:
 21387  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 367 /* "invalid block ty..." */
 21388  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 21389  __219:
 21390  	;
 21391  __228:
 21392  	hold >>= 2
 21393  	bits = bits - uint32(2)
 21394  	goto __229
 21395  __229:
 21396  	if 0 != 0 {
 21397  		goto __228
 21398  	}
 21399  	goto __230
 21400  __230:
 21401  	;
 21402  	goto __9
 21403  __23:
 21404  __231:
 21405  	hold >>= bits & uint32(7)
 21406  	bits = bits - bits&uint32(7)
 21407  	goto __232
 21408  __232:
 21409  	if 0 != 0 {
 21410  		goto __231
 21411  	}
 21412  	goto __233
 21413  __233:
 21414  	; // go to byte boundary
 21415  __234:
 21416  __237:
 21417  	if !(bits < uint32(32)) {
 21418  		goto __238
 21419  	}
 21420  __239:
 21421  	if !(have == uint32(0)) {
 21422  		goto __242
 21423  	}
 21424  	goto inf_leave
 21425  __242:
 21426  	;
 21427  	have--
 21428  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 21429  	bits = bits + uint32(8)
 21430  	goto __240
 21431  __240:
 21432  	if 0 != 0 {
 21433  		goto __239
 21434  	}
 21435  	goto __241
 21436  __241:
 21437  	;
 21438  	goto __237
 21439  __238:
 21440  	;
 21441  	goto __235
 21442  __235:
 21443  	if 0 != 0 {
 21444  		goto __234
 21445  	}
 21446  	goto __236
 21447  __236:
 21448  	;
 21449  	if !(hold&uint64(0xffff) != hold>>16^uint64(0xffff)) {
 21450  		goto __243
 21451  	}
 21452  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 386 /* "invalid stored b..." */
 21453  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 21454  	goto __9
 21455  __243:
 21456  	;
 21457  	(*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
 21458  
 21459  __244:
 21460  	hold = uint64(0)
 21461  	bits = uint32(0)
 21462  	goto __245
 21463  __245:
 21464  	if 0 != 0 {
 21465  		goto __244
 21466  	}
 21467  	goto __246
 21468  __246:
 21469  	;
 21470  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = COPY_
 21471  	if !(flush == Z_TREES) {
 21472  		goto __247
 21473  	}
 21474  	goto inf_leave
 21475  __247:
 21476  	;
 21477  __24:
 21478  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = COPY
 21479  __25:
 21480  	copy = (*Inflate_state)(unsafe.Pointer(state)).Flength
 21481  	if !(copy != 0) {
 21482  		goto __248
 21483  	}
 21484  	if !(copy > have) {
 21485  		goto __249
 21486  	}
 21487  	copy = have
 21488  __249:
 21489  	;
 21490  	if !(copy > left) {
 21491  		goto __250
 21492  	}
 21493  	copy = left
 21494  __250:
 21495  	;
 21496  	if !(copy == uint32(0)) {
 21497  		goto __251
 21498  	}
 21499  	goto inf_leave
 21500  __251:
 21501  	;
 21502  	libc.X__builtin___memcpy_chk(tls, put, next, uint64(copy), libc.X__builtin_object_size(tls, put, 0))
 21503  	have = have - copy
 21504  	next += uintptr(copy)
 21505  	left = left - copy
 21506  	put += uintptr(copy)
 21507  	*(*uint32)(unsafe.Pointer(state + 92)) -= copy
 21508  	goto __9
 21509  __248:
 21510  	;
 21511  
 21512  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE
 21513  	goto __9
 21514  __26:
 21515  __252:
 21516  __255:
 21517  	if !(bits < uint32(14)) {
 21518  		goto __256
 21519  	}
 21520  __257:
 21521  	if !(have == uint32(0)) {
 21522  		goto __260
 21523  	}
 21524  	goto inf_leave
 21525  __260:
 21526  	;
 21527  	have--
 21528  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 21529  	bits = bits + uint32(8)
 21530  	goto __258
 21531  __258:
 21532  	if 0 != 0 {
 21533  		goto __257
 21534  	}
 21535  	goto __259
 21536  __259:
 21537  	;
 21538  	goto __255
 21539  __256:
 21540  	;
 21541  	goto __253
 21542  __253:
 21543  	if 0 != 0 {
 21544  		goto __252
 21545  	}
 21546  	goto __254
 21547  __254:
 21548  	;
 21549  	(*Inflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(uint32(1)<<5-uint32(1)) + uint32(257)
 21550  __261:
 21551  	hold >>= 5
 21552  	bits = bits - uint32(5)
 21553  	goto __262
 21554  __262:
 21555  	if 0 != 0 {
 21556  		goto __261
 21557  	}
 21558  	goto __263
 21559  __263:
 21560  	;
 21561  	(*Inflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(uint32(1)<<5-uint32(1)) + uint32(1)
 21562  __264:
 21563  	hold >>= 5
 21564  	bits = bits - uint32(5)
 21565  	goto __265
 21566  __265:
 21567  	if 0 != 0 {
 21568  		goto __264
 21569  	}
 21570  	goto __266
 21571  __266:
 21572  	;
 21573  	(*Inflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(uint32(1)<<4-uint32(1)) + uint32(4)
 21574  __267:
 21575  	hold >>= 4
 21576  	bits = bits - uint32(4)
 21577  	goto __268
 21578  __268:
 21579  	if 0 != 0 {
 21580  		goto __267
 21581  	}
 21582  	goto __269
 21583  __269:
 21584  	;
 21585  	if !((*Inflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Inflate_state)(unsafe.Pointer(state)).Fndist > uint32(30)) {
 21586  		goto __270
 21587  	}
 21588  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 415 /* "too many length ..." */
 21589  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 21590  	goto __9
 21591  __270:
 21592  	;
 21593  
 21594  	(*Inflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
 21595  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LENLENS
 21596  __27:
 21597  __271:
 21598  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < (*Inflate_state)(unsafe.Pointer(state)).Fncode) {
 21599  		goto __272
 21600  	}
 21601  __273:
 21602  __276:
 21603  	if !(bits < uint32(3)) {
 21604  		goto __277
 21605  	}
 21606  __278:
 21607  	if !(have == uint32(0)) {
 21608  		goto __281
 21609  	}
 21610  	goto inf_leave
 21611  __281:
 21612  	;
 21613  	have--
 21614  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 21615  	bits = bits + uint32(8)
 21616  	goto __279
 21617  __279:
 21618  	if 0 != 0 {
 21619  		goto __278
 21620  	}
 21621  	goto __280
 21622  __280:
 21623  	;
 21624  	goto __276
 21625  __277:
 21626  	;
 21627  	goto __274
 21628  __274:
 21629  	if 0 != 0 {
 21630  		goto __273
 21631  	}
 21632  	goto __275
 21633  __275:
 21634  	;
 21635  	*(*uint16)(unsafe.Pointer(state + 152 + uintptr(order1[libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1)])*2)) = uint16(uint32(hold) & (uint32(1)<<3 - uint32(1)))
 21636  __282:
 21637  	hold >>= 3
 21638  	bits = bits - uint32(3)
 21639  	goto __283
 21640  __283:
 21641  	if 0 != 0 {
 21642  		goto __282
 21643  	}
 21644  	goto __284
 21645  __284:
 21646  	;
 21647  	goto __271
 21648  __272:
 21649  	;
 21650  __285:
 21651  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < uint32(19)) {
 21652  		goto __286
 21653  	}
 21654  	*(*uint16)(unsafe.Pointer(state + 152 + uintptr(order1[libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1)])*2)) = uint16(0)
 21655  	goto __285
 21656  __286:
 21657  	;
 21658  	(*Inflate_state)(unsafe.Pointer(state)).Fnext = state + 1368 /* &.codes */
 21659  	(*Inflate_state)(unsafe.Pointer(state)).Flencode = (*Inflate_state)(unsafe.Pointer(state)).Fnext
 21660  	(*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
 21661  	ret = Xinflate_table(tls, CODES, state+152, uint32(19), state+144,
 21662  		state+120, state+792)
 21663  	if !(ret != 0) {
 21664  		goto __287
 21665  	}
 21666  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 451 /* "invalid code len..." */
 21667  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 21668  	goto __9
 21669  __287:
 21670  	;
 21671  
 21672  	(*Inflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
 21673  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = CODELENS
 21674  __28:
 21675  __288:
 21676  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhave < (*Inflate_state)(unsafe.Pointer(state)).Fnlen+(*Inflate_state)(unsafe.Pointer(state)).Fndist) {
 21677  		goto __289
 21678  	}
 21679  __290:
 21680  	here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Flenbits-uint32(1)))*4))
 21681  	if !(uint32(here.Fbits) <= bits) {
 21682  		goto __293
 21683  	}
 21684  	goto __292
 21685  __293:
 21686  	;
 21687  __294:
 21688  	if !(have == uint32(0)) {
 21689  		goto __297
 21690  	}
 21691  	goto inf_leave
 21692  __297:
 21693  	;
 21694  	have--
 21695  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 21696  	bits = bits + uint32(8)
 21697  	goto __295
 21698  __295:
 21699  	if 0 != 0 {
 21700  		goto __294
 21701  	}
 21702  	goto __296
 21703  __296:
 21704  	;
 21705  	goto __291
 21706  __291:
 21707  	goto __290
 21708  	goto __292
 21709  __292:
 21710  	;
 21711  	if !(int32(here.Fval) < 16) {
 21712  		goto __298
 21713  	}
 21714  __300:
 21715  	hold >>= int32(here.Fbits)
 21716  	bits = bits - uint32(here.Fbits)
 21717  	goto __301
 21718  __301:
 21719  	if 0 != 0 {
 21720  		goto __300
 21721  	}
 21722  	goto __302
 21723  __302:
 21724  	;
 21725  	*(*uint16)(unsafe.Pointer(state + 152 + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1))*2)) = here.Fval
 21726  	goto __299
 21727  __298:
 21728  	if !(int32(here.Fval) == 16) {
 21729  		goto __303
 21730  	}
 21731  __305:
 21732  __308:
 21733  	if !(bits < uint32(int32(here.Fbits)+2)) {
 21734  		goto __309
 21735  	}
 21736  __310:
 21737  	if !(have == uint32(0)) {
 21738  		goto __313
 21739  	}
 21740  	goto inf_leave
 21741  __313:
 21742  	;
 21743  	have--
 21744  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 21745  	bits = bits + uint32(8)
 21746  	goto __311
 21747  __311:
 21748  	if 0 != 0 {
 21749  		goto __310
 21750  	}
 21751  	goto __312
 21752  __312:
 21753  	;
 21754  	goto __308
 21755  __309:
 21756  	;
 21757  	goto __306
 21758  __306:
 21759  	if 0 != 0 {
 21760  		goto __305
 21761  	}
 21762  	goto __307
 21763  __307:
 21764  	;
 21765  __314:
 21766  	hold >>= int32(here.Fbits)
 21767  	bits = bits - uint32(here.Fbits)
 21768  	goto __315
 21769  __315:
 21770  	if 0 != 0 {
 21771  		goto __314
 21772  	}
 21773  	goto __316
 21774  __316:
 21775  	;
 21776  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhave == uint32(0)) {
 21777  		goto __317
 21778  	}
 21779  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 476 /* "invalid bit leng..." */
 21780  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 21781  	goto __289
 21782  __317:
 21783  	;
 21784  	len = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Inflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
 21785  	copy = uint32(3) + uint32(hold)&(uint32(1)<<2-uint32(1))
 21786  __318:
 21787  	hold >>= 2
 21788  	bits = bits - uint32(2)
 21789  	goto __319
 21790  __319:
 21791  	if 0 != 0 {
 21792  		goto __318
 21793  	}
 21794  	goto __320
 21795  __320:
 21796  	;
 21797  	goto __304
 21798  __303:
 21799  	if !(int32(here.Fval) == 17) {
 21800  		goto __321
 21801  	}
 21802  __323:
 21803  __326:
 21804  	if !(bits < uint32(int32(here.Fbits)+3)) {
 21805  		goto __327
 21806  	}
 21807  __328:
 21808  	if !(have == uint32(0)) {
 21809  		goto __331
 21810  	}
 21811  	goto inf_leave
 21812  __331:
 21813  	;
 21814  	have--
 21815  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 21816  	bits = bits + uint32(8)
 21817  	goto __329
 21818  __329:
 21819  	if 0 != 0 {
 21820  		goto __328
 21821  	}
 21822  	goto __330
 21823  __330:
 21824  	;
 21825  	goto __326
 21826  __327:
 21827  	;
 21828  	goto __324
 21829  __324:
 21830  	if 0 != 0 {
 21831  		goto __323
 21832  	}
 21833  	goto __325
 21834  __325:
 21835  	;
 21836  __332:
 21837  	hold >>= int32(here.Fbits)
 21838  	bits = bits - uint32(here.Fbits)
 21839  	goto __333
 21840  __333:
 21841  	if 0 != 0 {
 21842  		goto __332
 21843  	}
 21844  	goto __334
 21845  __334:
 21846  	;
 21847  	len = uint32(0)
 21848  	copy = uint32(3) + uint32(hold)&(uint32(1)<<3-uint32(1))
 21849  __335:
 21850  	hold >>= 3
 21851  	bits = bits - uint32(3)
 21852  	goto __336
 21853  __336:
 21854  	if 0 != 0 {
 21855  		goto __335
 21856  	}
 21857  	goto __337
 21858  __337:
 21859  	;
 21860  	goto __322
 21861  __321:
 21862  __338:
 21863  __341:
 21864  	if !(bits < uint32(int32(here.Fbits)+7)) {
 21865  		goto __342
 21866  	}
 21867  __343:
 21868  	if !(have == uint32(0)) {
 21869  		goto __346
 21870  	}
 21871  	goto inf_leave
 21872  __346:
 21873  	;
 21874  	have--
 21875  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 21876  	bits = bits + uint32(8)
 21877  	goto __344
 21878  __344:
 21879  	if 0 != 0 {
 21880  		goto __343
 21881  	}
 21882  	goto __345
 21883  __345:
 21884  	;
 21885  	goto __341
 21886  __342:
 21887  	;
 21888  	goto __339
 21889  __339:
 21890  	if 0 != 0 {
 21891  		goto __338
 21892  	}
 21893  	goto __340
 21894  __340:
 21895  	;
 21896  __347:
 21897  	hold >>= int32(here.Fbits)
 21898  	bits = bits - uint32(here.Fbits)
 21899  	goto __348
 21900  __348:
 21901  	if 0 != 0 {
 21902  		goto __347
 21903  	}
 21904  	goto __349
 21905  __349:
 21906  	;
 21907  	len = uint32(0)
 21908  	copy = uint32(11) + uint32(hold)&(uint32(1)<<7-uint32(1))
 21909  __350:
 21910  	hold >>= 7
 21911  	bits = bits - uint32(7)
 21912  	goto __351
 21913  __351:
 21914  	if 0 != 0 {
 21915  		goto __350
 21916  	}
 21917  	goto __352
 21918  __352:
 21919  	;
 21920  __322:
 21921  	;
 21922  __304:
 21923  	;
 21924  	if !((*Inflate_state)(unsafe.Pointer(state)).Fhave+copy > (*Inflate_state)(unsafe.Pointer(state)).Fnlen+(*Inflate_state)(unsafe.Pointer(state)).Fndist) {
 21925  		goto __353
 21926  	}
 21927  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 476 /* "invalid bit leng..." */
 21928  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 21929  	goto __289
 21930  __353:
 21931  	;
 21932  __354:
 21933  	if !(libc.PostDecUint32(&copy, 1) != 0) {
 21934  		goto __355
 21935  	}
 21936  	*(*uint16)(unsafe.Pointer(state + 152 + uintptr(libc.PostIncUint32(&(*Inflate_state)(unsafe.Pointer(state)).Fhave, 1))*2)) = uint16(len)
 21937  	goto __354
 21938  __355:
 21939  	;
 21940  __299:
 21941  	;
 21942  	goto __288
 21943  __289:
 21944  	;
 21945  
 21946  	// handle error breaks in while
 21947  	if !((*Inflate_state)(unsafe.Pointer(state)).Fmode == BAD) {
 21948  		goto __356
 21949  	}
 21950  	goto __9
 21951  __356:
 21952  	;
 21953  
 21954  	// check for end-of-block code (better have one)
 21955  	if !(int32(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0) {
 21956  		goto __357
 21957  	}
 21958  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 502 /* "invalid code -- ..." */
 21959  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 21960  	goto __9
 21961  __357:
 21962  	;
 21963  
 21964  	// build code tables -- note: do not change the lenbits or distbits
 21965  	//                values here (9 and 6) without reading the comments in inftrees.h
 21966  	//                concerning the ENOUGH constants, which depend on those values
 21967  	(*Inflate_state)(unsafe.Pointer(state)).Fnext = state + 1368 /* &.codes */
 21968  	(*Inflate_state)(unsafe.Pointer(state)).Flencode = (*Inflate_state)(unsafe.Pointer(state)).Fnext
 21969  	(*Inflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
 21970  	ret = Xinflate_table(tls, LENS, state+152, (*Inflate_state)(unsafe.Pointer(state)).Fnlen, state+144,
 21971  		state+120, state+792)
 21972  	if !(ret != 0) {
 21973  		goto __358
 21974  	}
 21975  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 539 /* "invalid literal/..." */
 21976  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 21977  	goto __9
 21978  __358:
 21979  	;
 21980  	(*Inflate_state)(unsafe.Pointer(state)).Fdistcode = (*Inflate_state)(unsafe.Pointer(state)).Fnext
 21981  	(*Inflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
 21982  	ret = Xinflate_table(tls, DISTS, state+152+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Inflate_state)(unsafe.Pointer(state)).Fndist,
 21983  		state+144, state+124, state+792)
 21984  	if !(ret != 0) {
 21985  		goto __359
 21986  	}
 21987  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 567 /* "invalid distance..." */
 21988  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 21989  	goto __9
 21990  __359:
 21991  	;
 21992  
 21993  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN_
 21994  	if !(flush == Z_TREES) {
 21995  		goto __360
 21996  	}
 21997  	goto inf_leave
 21998  __360:
 21999  	;
 22000  __29:
 22001  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN
 22002  __30:
 22003  	if !(have >= uint32(6) && left >= uint32(258)) {
 22004  		goto __361
 22005  	}
 22006  __362:
 22007  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_out = put
 22008  	(*Z_stream)(unsafe.Pointer(strm)).Favail_out = left
 22009  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = next
 22010  	(*Z_stream)(unsafe.Pointer(strm)).Favail_in = have
 22011  	(*Inflate_state)(unsafe.Pointer(state)).Fhold = hold
 22012  	(*Inflate_state)(unsafe.Pointer(state)).Fbits = bits
 22013  	goto __363
 22014  __363:
 22015  	if 0 != 0 {
 22016  		goto __362
 22017  	}
 22018  	goto __364
 22019  __364:
 22020  	;
 22021  	Xinflate_fast(tls, strm, out)
 22022  __365:
 22023  	put = (*Z_stream)(unsafe.Pointer(strm)).Fnext_out
 22024  	left = (*Z_stream)(unsafe.Pointer(strm)).Favail_out
 22025  	next = (*Z_stream)(unsafe.Pointer(strm)).Fnext_in
 22026  	have = (*Z_stream)(unsafe.Pointer(strm)).Favail_in
 22027  	hold = (*Inflate_state)(unsafe.Pointer(state)).Fhold
 22028  	bits = (*Inflate_state)(unsafe.Pointer(state)).Fbits
 22029  	goto __366
 22030  __366:
 22031  	if 0 != 0 {
 22032  		goto __365
 22033  	}
 22034  	goto __367
 22035  __367:
 22036  	;
 22037  	if !((*Inflate_state)(unsafe.Pointer(state)).Fmode == TYPE) {
 22038  		goto __368
 22039  	}
 22040  	(*Inflate_state)(unsafe.Pointer(state)).Fback = -1
 22041  __368:
 22042  	;
 22043  	goto __9
 22044  __361:
 22045  	;
 22046  	(*Inflate_state)(unsafe.Pointer(state)).Fback = 0
 22047  __369:
 22048  	here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Flenbits-uint32(1)))*4))
 22049  	if !(uint32(here.Fbits) <= bits) {
 22050  		goto __372
 22051  	}
 22052  	goto __371
 22053  __372:
 22054  	;
 22055  __373:
 22056  	if !(have == uint32(0)) {
 22057  		goto __376
 22058  	}
 22059  	goto inf_leave
 22060  __376:
 22061  	;
 22062  	have--
 22063  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 22064  	bits = bits + uint32(8)
 22065  	goto __374
 22066  __374:
 22067  	if 0 != 0 {
 22068  		goto __373
 22069  	}
 22070  	goto __375
 22071  __375:
 22072  	;
 22073  	goto __370
 22074  __370:
 22075  	goto __369
 22076  	goto __371
 22077  __371:
 22078  	;
 22079  	if !(here.Fop != 0 && int32(here.Fop)&0xf0 == 0) {
 22080  		goto __377
 22081  	}
 22082  	last = here
 22083  __378:
 22084  	here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(int32(last.Fbits)+int32(last.Fop))-uint32(1))>>int32(last.Fbits))*4))
 22085  	if !(uint32(int32(last.Fbits)+int32(here.Fbits)) <= bits) {
 22086  		goto __381
 22087  	}
 22088  	goto __380
 22089  __381:
 22090  	;
 22091  __382:
 22092  	if !(have == uint32(0)) {
 22093  		goto __385
 22094  	}
 22095  	goto inf_leave
 22096  __385:
 22097  	;
 22098  	have--
 22099  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 22100  	bits = bits + uint32(8)
 22101  	goto __383
 22102  __383:
 22103  	if 0 != 0 {
 22104  		goto __382
 22105  	}
 22106  	goto __384
 22107  __384:
 22108  	;
 22109  	goto __379
 22110  __379:
 22111  	goto __378
 22112  	goto __380
 22113  __380:
 22114  	;
 22115  __386:
 22116  	hold >>= int32(last.Fbits)
 22117  	bits = bits - uint32(last.Fbits)
 22118  	goto __387
 22119  __387:
 22120  	if 0 != 0 {
 22121  		goto __386
 22122  	}
 22123  	goto __388
 22124  __388:
 22125  	;
 22126  	*(*int32)(unsafe.Pointer(state + 7148)) += int32(last.Fbits)
 22127  __377:
 22128  	;
 22129  __389:
 22130  	hold >>= int32(here.Fbits)
 22131  	bits = bits - uint32(here.Fbits)
 22132  	goto __390
 22133  __390:
 22134  	if 0 != 0 {
 22135  		goto __389
 22136  	}
 22137  	goto __391
 22138  __391:
 22139  	;
 22140  	*(*int32)(unsafe.Pointer(state + 7148)) += int32(here.Fbits)
 22141  	(*Inflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
 22142  	if !(int32(here.Fop) == 0) {
 22143  		goto __392
 22144  	}
 22145  
 22146  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LIT
 22147  	goto __9
 22148  __392:
 22149  	;
 22150  	if !(int32(here.Fop)&32 != 0) {
 22151  		goto __393
 22152  	}
 22153  
 22154  	(*Inflate_state)(unsafe.Pointer(state)).Fback = -1
 22155  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE
 22156  	goto __9
 22157  __393:
 22158  	;
 22159  	if !(int32(here.Fop)&64 != 0) {
 22160  		goto __394
 22161  	}
 22162  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 589 /* "invalid literal/..." */
 22163  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 22164  	goto __9
 22165  __394:
 22166  	;
 22167  	(*Inflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
 22168  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LENEXT
 22169  __31:
 22170  	if !((*Inflate_state)(unsafe.Pointer(state)).Fextra != 0) {
 22171  		goto __395
 22172  	}
 22173  __396:
 22174  __399:
 22175  	if !(bits < (*Inflate_state)(unsafe.Pointer(state)).Fextra) {
 22176  		goto __400
 22177  	}
 22178  __401:
 22179  	if !(have == uint32(0)) {
 22180  		goto __404
 22181  	}
 22182  	goto inf_leave
 22183  __404:
 22184  	;
 22185  	have--
 22186  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 22187  	bits = bits + uint32(8)
 22188  	goto __402
 22189  __402:
 22190  	if 0 != 0 {
 22191  		goto __401
 22192  	}
 22193  	goto __403
 22194  __403:
 22195  	;
 22196  	goto __399
 22197  __400:
 22198  	;
 22199  	goto __397
 22200  __397:
 22201  	if 0 != 0 {
 22202  		goto __396
 22203  	}
 22204  	goto __398
 22205  __398:
 22206  	;
 22207  	*(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
 22208  __405:
 22209  	hold >>= (*Inflate_state)(unsafe.Pointer(state)).Fextra
 22210  	bits = bits - (*Inflate_state)(unsafe.Pointer(state)).Fextra
 22211  	goto __406
 22212  __406:
 22213  	if 0 != 0 {
 22214  		goto __405
 22215  	}
 22216  	goto __407
 22217  __407:
 22218  	;
 22219  	*(*int32)(unsafe.Pointer(state + 7148)) += int32((*Inflate_state)(unsafe.Pointer(state)).Fextra)
 22220  __395:
 22221  	;
 22222  
 22223  	(*Inflate_state)(unsafe.Pointer(state)).Fwas = (*Inflate_state)(unsafe.Pointer(state)).Flength
 22224  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = DIST
 22225  __32:
 22226  __408:
 22227  	here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fdistbits-uint32(1)))*4))
 22228  	if !(uint32(here.Fbits) <= bits) {
 22229  		goto __411
 22230  	}
 22231  	goto __410
 22232  __411:
 22233  	;
 22234  __412:
 22235  	if !(have == uint32(0)) {
 22236  		goto __415
 22237  	}
 22238  	goto inf_leave
 22239  __415:
 22240  	;
 22241  	have--
 22242  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 22243  	bits = bits + uint32(8)
 22244  	goto __413
 22245  __413:
 22246  	if 0 != 0 {
 22247  		goto __412
 22248  	}
 22249  	goto __414
 22250  __414:
 22251  	;
 22252  	goto __409
 22253  __409:
 22254  	goto __408
 22255  	goto __410
 22256  __410:
 22257  	;
 22258  	if !(int32(here.Fop)&0xf0 == 0) {
 22259  		goto __416
 22260  	}
 22261  	last = here
 22262  __417:
 22263  	here = *(*Code)(unsafe.Pointer((*Inflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(int32(last.Fbits)+int32(last.Fop))-uint32(1))>>int32(last.Fbits))*4))
 22264  	if !(uint32(int32(last.Fbits)+int32(here.Fbits)) <= bits) {
 22265  		goto __420
 22266  	}
 22267  	goto __419
 22268  __420:
 22269  	;
 22270  __421:
 22271  	if !(have == uint32(0)) {
 22272  		goto __424
 22273  	}
 22274  	goto inf_leave
 22275  __424:
 22276  	;
 22277  	have--
 22278  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 22279  	bits = bits + uint32(8)
 22280  	goto __422
 22281  __422:
 22282  	if 0 != 0 {
 22283  		goto __421
 22284  	}
 22285  	goto __423
 22286  __423:
 22287  	;
 22288  	goto __418
 22289  __418:
 22290  	goto __417
 22291  	goto __419
 22292  __419:
 22293  	;
 22294  __425:
 22295  	hold >>= int32(last.Fbits)
 22296  	bits = bits - uint32(last.Fbits)
 22297  	goto __426
 22298  __426:
 22299  	if 0 != 0 {
 22300  		goto __425
 22301  	}
 22302  	goto __427
 22303  __427:
 22304  	;
 22305  	*(*int32)(unsafe.Pointer(state + 7148)) += int32(last.Fbits)
 22306  __416:
 22307  	;
 22308  __428:
 22309  	hold >>= int32(here.Fbits)
 22310  	bits = bits - uint32(here.Fbits)
 22311  	goto __429
 22312  __429:
 22313  	if 0 != 0 {
 22314  		goto __428
 22315  	}
 22316  	goto __430
 22317  __430:
 22318  	;
 22319  	*(*int32)(unsafe.Pointer(state + 7148)) += int32(here.Fbits)
 22320  	if !(int32(here.Fop)&64 != 0) {
 22321  		goto __431
 22322  	}
 22323  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 617 /* "invalid distance..." */
 22324  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 22325  	goto __9
 22326  __431:
 22327  	;
 22328  	(*Inflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
 22329  	(*Inflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
 22330  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = DISTEXT
 22331  __33:
 22332  	if !((*Inflate_state)(unsafe.Pointer(state)).Fextra != 0) {
 22333  		goto __432
 22334  	}
 22335  __433:
 22336  __436:
 22337  	if !(bits < (*Inflate_state)(unsafe.Pointer(state)).Fextra) {
 22338  		goto __437
 22339  	}
 22340  __438:
 22341  	if !(have == uint32(0)) {
 22342  		goto __441
 22343  	}
 22344  	goto inf_leave
 22345  __441:
 22346  	;
 22347  	have--
 22348  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 22349  	bits = bits + uint32(8)
 22350  	goto __439
 22351  __439:
 22352  	if 0 != 0 {
 22353  		goto __438
 22354  	}
 22355  	goto __440
 22356  __440:
 22357  	;
 22358  	goto __436
 22359  __437:
 22360  	;
 22361  	goto __434
 22362  __434:
 22363  	if 0 != 0 {
 22364  		goto __433
 22365  	}
 22366  	goto __435
 22367  __435:
 22368  	;
 22369  	*(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
 22370  __442:
 22371  	hold >>= (*Inflate_state)(unsafe.Pointer(state)).Fextra
 22372  	bits = bits - (*Inflate_state)(unsafe.Pointer(state)).Fextra
 22373  	goto __443
 22374  __443:
 22375  	if 0 != 0 {
 22376  		goto __442
 22377  	}
 22378  	goto __444
 22379  __444:
 22380  	;
 22381  	*(*int32)(unsafe.Pointer(state + 7148)) += int32((*Inflate_state)(unsafe.Pointer(state)).Fextra)
 22382  __432:
 22383  	;
 22384  
 22385  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = MATCH
 22386  __34:
 22387  	if !(left == uint32(0)) {
 22388  		goto __445
 22389  	}
 22390  	goto inf_leave
 22391  __445:
 22392  	;
 22393  	copy = out - left
 22394  	if !((*Inflate_state)(unsafe.Pointer(state)).Foffset > copy) {
 22395  		goto __446
 22396  	} // copy from window
 22397  	copy = (*Inflate_state)(unsafe.Pointer(state)).Foffset - copy
 22398  	if !(copy > (*Inflate_state)(unsafe.Pointer(state)).Fwhave) {
 22399  		goto __448
 22400  	}
 22401  	if !((*Inflate_state)(unsafe.Pointer(state)).Fsane != 0) {
 22402  		goto __449
 22403  	}
 22404  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 639 /* "invalid distance..." */
 22405  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 22406  	goto __9
 22407  __449:
 22408  	;
 22409  __448:
 22410  	;
 22411  	if !(copy > (*Inflate_state)(unsafe.Pointer(state)).Fwnext) {
 22412  		goto __450
 22413  	}
 22414  	copy = copy - (*Inflate_state)(unsafe.Pointer(state)).Fwnext
 22415  	from = (*Inflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwsize-copy)
 22416  	goto __451
 22417  __450:
 22418  	from = (*Inflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext-copy)
 22419  __451:
 22420  	;
 22421  	if !(copy > (*Inflate_state)(unsafe.Pointer(state)).Flength) {
 22422  		goto __452
 22423  	}
 22424  	copy = (*Inflate_state)(unsafe.Pointer(state)).Flength
 22425  __452:
 22426  	;
 22427  	goto __447
 22428  __446: // copy from output
 22429  	from = put - uintptr((*Inflate_state)(unsafe.Pointer(state)).Foffset)
 22430  	copy = (*Inflate_state)(unsafe.Pointer(state)).Flength
 22431  __447:
 22432  	;
 22433  	if !(copy > left) {
 22434  		goto __453
 22435  	}
 22436  	copy = left
 22437  __453:
 22438  	;
 22439  	left = left - copy
 22440  	*(*uint32)(unsafe.Pointer(state + 92)) -= copy
 22441  __454:
 22442  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&put, 1))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&from, 1)))
 22443  	goto __455
 22444  __455:
 22445  	if libc.PreDecUint32(&copy, 1) != 0 {
 22446  		goto __454
 22447  	}
 22448  	goto __456
 22449  __456:
 22450  	;
 22451  	if !((*Inflate_state)(unsafe.Pointer(state)).Flength == uint32(0)) {
 22452  		goto __457
 22453  	}
 22454  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN
 22455  __457:
 22456  	;
 22457  	goto __9
 22458  __35:
 22459  	if !(left == uint32(0)) {
 22460  		goto __458
 22461  	}
 22462  	goto inf_leave
 22463  __458:
 22464  	;
 22465  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&put, 1))) = uint8((*Inflate_state)(unsafe.Pointer(state)).Flength)
 22466  	left--
 22467  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LEN
 22468  	goto __9
 22469  __36:
 22470  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap != 0) {
 22471  		goto __459
 22472  	}
 22473  __460:
 22474  __463:
 22475  	if !(bits < uint32(32)) {
 22476  		goto __464
 22477  	}
 22478  __465:
 22479  	if !(have == uint32(0)) {
 22480  		goto __468
 22481  	}
 22482  	goto inf_leave
 22483  __468:
 22484  	;
 22485  	have--
 22486  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 22487  	bits = bits + uint32(8)
 22488  	goto __466
 22489  __466:
 22490  	if 0 != 0 {
 22491  		goto __465
 22492  	}
 22493  	goto __467
 22494  __467:
 22495  	;
 22496  	goto __463
 22497  __464:
 22498  	;
 22499  	goto __461
 22500  __461:
 22501  	if 0 != 0 {
 22502  		goto __460
 22503  	}
 22504  	goto __462
 22505  __462:
 22506  	;
 22507  	out = out - left
 22508  	*(*ULong)(unsafe.Pointer(strm + 40)) += ULong(out)
 22509  	*(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
 22510  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0 && out != 0) {
 22511  		goto __469
 22512  	}
 22513  	(*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, func() uint64 {
 22514  		if (*Inflate_state)(unsafe.Pointer(state)).Fflags != 0 {
 22515  			return Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
 22516  		}
 22517  		return Xadler32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
 22518  	}())
 22519  __469:
 22520  	;
 22521  	out = left
 22522  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0 && func() uint64 {
 22523  		if (*Inflate_state)(unsafe.Pointer(state)).Fflags != 0 {
 22524  			return hold
 22525  		}
 22526  		return hold>>24&uint64(0xff) + hold>>8&uint64(0xff00) + hold&uint64(0xff00)<<8 + hold&uint64(0xff)<<24
 22527  	}() != (*Inflate_state)(unsafe.Pointer(state)).Fcheck) {
 22528  		goto __470
 22529  	}
 22530  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 784 /* "incorrect data c..." */
 22531  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 22532  	goto __9
 22533  __470:
 22534  	;
 22535  __471:
 22536  	hold = uint64(0)
 22537  	bits = uint32(0)
 22538  	goto __472
 22539  __472:
 22540  	if 0 != 0 {
 22541  		goto __471
 22542  	}
 22543  	goto __473
 22544  __473:
 22545  	;
 22546  
 22547  __459:
 22548  	;
 22549  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = LENGTH
 22550  __37:
 22551  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fflags != 0) {
 22552  		goto __474
 22553  	}
 22554  __475:
 22555  __478:
 22556  	if !(bits < uint32(32)) {
 22557  		goto __479
 22558  	}
 22559  __480:
 22560  	if !(have == uint32(0)) {
 22561  		goto __483
 22562  	}
 22563  	goto inf_leave
 22564  __483:
 22565  	;
 22566  	have--
 22567  	hold = hold + uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&next, 1))))<<bits
 22568  	bits = bits + uint32(8)
 22569  	goto __481
 22570  __481:
 22571  	if 0 != 0 {
 22572  		goto __480
 22573  	}
 22574  	goto __482
 22575  __482:
 22576  	;
 22577  	goto __478
 22578  __479:
 22579  	;
 22580  	goto __476
 22581  __476:
 22582  	if 0 != 0 {
 22583  		goto __475
 22584  	}
 22585  	goto __477
 22586  __477:
 22587  	;
 22588  	if !(hold != (*Inflate_state)(unsafe.Pointer(state)).Ftotal&0xffffffff) {
 22589  		goto __484
 22590  	}
 22591  	(*Z_stream)(unsafe.Pointer(strm)).Fmsg = ts + 805 /* "incorrect length..." */
 22592  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = BAD
 22593  	goto __9
 22594  __484:
 22595  	;
 22596  __485:
 22597  	hold = uint64(0)
 22598  	bits = uint32(0)
 22599  	goto __486
 22600  __486:
 22601  	if 0 != 0 {
 22602  		goto __485
 22603  	}
 22604  	goto __487
 22605  __487:
 22606  	;
 22607  
 22608  __474:
 22609  	;
 22610  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = DONE
 22611  __38:
 22612  	ret = Z_STREAM_END
 22613  	goto inf_leave
 22614  __39:
 22615  	ret = -3
 22616  	goto inf_leave
 22617  __40:
 22618  	return -4
 22619  __41:
 22620  __42:
 22621  	return -2
 22622  __9:
 22623  	;
 22624  	goto __7
 22625  __7:
 22626  	goto __6
 22627  	goto __8
 22628  __8:
 22629  	;
 22630  
 22631  	//
 22632  	//        Return from inflate(), updating the total counts and the check value.
 22633  	//        If there was no progress during the inflate() call, return a buffer
 22634  	//        error.  Call updatewindow() to create and/or update the window state.
 22635  	//        Note: a memory error from inflate() is non-recoverable.
 22636  	//
 22637  inf_leave:
 22638  __488:
 22639  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_out = put
 22640  	(*Z_stream)(unsafe.Pointer(strm)).Favail_out = left
 22641  	(*Z_stream)(unsafe.Pointer(strm)).Fnext_in = next
 22642  	(*Z_stream)(unsafe.Pointer(strm)).Favail_in = have
 22643  	(*Inflate_state)(unsafe.Pointer(state)).Fhold = hold
 22644  	(*Inflate_state)(unsafe.Pointer(state)).Fbits = bits
 22645  	goto __489
 22646  __489:
 22647  	if 0 != 0 {
 22648  		goto __488
 22649  	}
 22650  	goto __490
 22651  __490:
 22652  	;
 22653  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwsize != 0 || out != (*Z_stream)(unsafe.Pointer(strm)).Favail_out && (*Inflate_state)(unsafe.Pointer(state)).Fmode < BAD && ((*Inflate_state)(unsafe.Pointer(state)).Fmode < CHECK || flush != Z_FINISH)) {
 22654  		goto __491
 22655  	}
 22656  	if !(updatewindow(tls, strm, (*Z_stream)(unsafe.Pointer(strm)).Fnext_out, out-(*Z_stream)(unsafe.Pointer(strm)).Favail_out) != 0) {
 22657  		goto __492
 22658  	}
 22659  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = MEM
 22660  	return -4
 22661  __492:
 22662  	;
 22663  __491:
 22664  	;
 22665  	in = in - (*Z_stream)(unsafe.Pointer(strm)).Favail_in
 22666  	out = out - (*Z_stream)(unsafe.Pointer(strm)).Favail_out
 22667  	*(*ULong)(unsafe.Pointer(strm + 16)) += ULong(in)
 22668  	*(*ULong)(unsafe.Pointer(strm + 40)) += ULong(out)
 22669  	*(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
 22670  	if !((*Inflate_state)(unsafe.Pointer(state)).Fwrap&4 != 0 && out != 0) {
 22671  		goto __493
 22672  	}
 22673  	(*Z_stream)(unsafe.Pointer(strm)).Fadler = libc.AssignPtrUint64(state+32, func() uint64 {
 22674  		if (*Inflate_state)(unsafe.Pointer(state)).Fflags != 0 {
 22675  			return Xcrc32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, (*Z_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
 22676  		}
 22677  		return Xadler32(tls, (*Inflate_state)(unsafe.Pointer(state)).Fcheck, (*Z_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
 22678  	}())
 22679  __493:
 22680  	;
 22681  	(*Z_stream)(unsafe.Pointer(strm)).Fdata_type = int32((*Inflate_state)(unsafe.Pointer(state)).Fbits) + func() int32 {
 22682  		if (*Inflate_state)(unsafe.Pointer(state)).Flast != 0 {
 22683  			return 64
 22684  		}
 22685  		return 0
 22686  	}() + func() int32 {
 22687  		if (*Inflate_state)(unsafe.Pointer(state)).Fmode == TYPE {
 22688  			return 128
 22689  		}
 22690  		return 0
 22691  	}() + func() int32 {
 22692  		if (*Inflate_state)(unsafe.Pointer(state)).Fmode == LEN_ || (*Inflate_state)(unsafe.Pointer(state)).Fmode == COPY_ {
 22693  			return 256
 22694  		}
 22695  		return 0
 22696  	}()
 22697  	if !((in == uint32(0) && out == uint32(0) || flush == Z_FINISH) && ret == Z_OK) {
 22698  		goto __494
 22699  	}
 22700  	ret = -5
 22701  __494:
 22702  	;
 22703  	return ret
 22704  }
 22705  
 22706  var order1 =                                                                                                                                                                                                                         // permutation of code lengths
 22707  [19]uint16{uint16(16), uint16(17), uint16(18), uint16(0), uint16(8), uint16(7), uint16(9), uint16(6), uint16(10), uint16(5), uint16(11), uint16(4), uint16(12), uint16(3), uint16(13), uint16(2), uint16(14), uint16(1), uint16(15)} /* inflate.c:642:33 */
 22708  
 22709  func XinflateEnd(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:1277:13: */
 22710  	var state uintptr
 22711  	if inflateStateCheck(tls, strm) != 0 {
 22712  		return -2
 22713  	}
 22714  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 22715  	if (*Inflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(Z_NULL) {
 22716  		(*struct {
 22717  			f func(*libc.TLS, Voidpf, Voidpf)
 22718  		})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Inflate_state)(unsafe.Pointer(state)).Fwindow)
 22719  	}
 22720  	(*struct {
 22721  		f func(*libc.TLS, Voidpf, Voidpf)
 22722  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(strm)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(strm)).Fopaque, (*Z_stream)(unsafe.Pointer(strm)).Fstate)
 22723  	(*Z_stream)(unsafe.Pointer(strm)).Fstate = uintptr(Z_NULL)
 22724  
 22725  	return Z_OK
 22726  }
 22727  
 22728  func XinflateGetDictionary(tls *libc.TLS, strm Z_streamp, dictionary uintptr, dictLength uintptr) int32 { /* inflate.c:1291:13: */
 22729  	var state uintptr
 22730  
 22731  	// check state
 22732  	if inflateStateCheck(tls, strm) != 0 {
 22733  		return -2
 22734  	}
 22735  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 22736  
 22737  	// copy dictionary
 22738  	if (*Inflate_state)(unsafe.Pointer(state)).Fwhave != 0 && dictionary != uintptr(Z_NULL) {
 22739  		libc.X__builtin___memcpy_chk(tls, dictionary, (*Inflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext), uint64((*Inflate_state)(unsafe.Pointer(state)).Fwhave-(*Inflate_state)(unsafe.Pointer(state)).Fwnext), libc.X__builtin_object_size(tls, dictionary, 0))
 22740  		libc.X__builtin___memcpy_chk(tls, dictionary+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwhave)-uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext), (*Inflate_state)(unsafe.Pointer(state)).Fwindow, uint64((*Inflate_state)(unsafe.Pointer(state)).Fwnext), libc.X__builtin_object_size(tls, dictionary+uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwhave)-uintptr((*Inflate_state)(unsafe.Pointer(state)).Fwnext), 0))
 22741  	}
 22742  	if dictLength != uintptr(Z_NULL) {
 22743  		*(*UInt)(unsafe.Pointer(dictLength)) = (*Inflate_state)(unsafe.Pointer(state)).Fwhave
 22744  	}
 22745  	return Z_OK
 22746  }
 22747  
 22748  func XinflateSetDictionary(tls *libc.TLS, strm Z_streamp, dictionary uintptr, dictLength UInt) int32 { /* inflate.c:1314:13: */
 22749  	var state uintptr
 22750  	var dictid uint64
 22751  	var ret int32
 22752  
 22753  	// check state
 22754  	if inflateStateCheck(tls, strm) != 0 {
 22755  		return -2
 22756  	}
 22757  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 22758  	if (*Inflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Inflate_state)(unsafe.Pointer(state)).Fmode != DICT {
 22759  		return -2
 22760  	}
 22761  
 22762  	// check for correct dictionary identifier
 22763  	if (*Inflate_state)(unsafe.Pointer(state)).Fmode == DICT {
 22764  		dictid = Xadler32(tls, uint64(0), uintptr(Z_NULL), uint32(0))
 22765  		dictid = Xadler32(tls, dictid, dictionary, dictLength)
 22766  		if dictid != (*Inflate_state)(unsafe.Pointer(state)).Fcheck {
 22767  			return -3
 22768  		}
 22769  	}
 22770  
 22771  	// copy dictionary to window using updatewindow(), which will amend the
 22772  	//        existing dictionary if appropriate
 22773  	ret = updatewindow(tls, strm, dictionary+uintptr(dictLength), dictLength)
 22774  	if ret != 0 {
 22775  		(*Inflate_state)(unsafe.Pointer(state)).Fmode = MEM
 22776  		return -4
 22777  	}
 22778  	(*Inflate_state)(unsafe.Pointer(state)).Fhavedict = 1
 22779  
 22780  	return Z_OK
 22781  }
 22782  
 22783  func XinflateGetHeader(tls *libc.TLS, strm Z_streamp, head Gz_headerp) int32 { /* inflate.c:1349:13: */
 22784  	var state uintptr
 22785  
 22786  	// check state
 22787  	if inflateStateCheck(tls, strm) != 0 {
 22788  		return -2
 22789  	}
 22790  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 22791  	if (*Inflate_state)(unsafe.Pointer(state)).Fwrap&2 == 0 {
 22792  		return -2
 22793  	}
 22794  
 22795  	// save header structure
 22796  	(*Inflate_state)(unsafe.Pointer(state)).Fhead = head
 22797  	(*Gz_header)(unsafe.Pointer(head)).Fdone = 0
 22798  	return Z_OK
 22799  }
 22800  
 22801  //
 22802  //    Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff.  Return when found
 22803  //    or when out of input.  When called, *have is the number of pattern bytes
 22804  //    found in order so far, in 0..3.  On return *have is updated to the new
 22805  //    state.  If on return *have equals four, then the pattern was found and the
 22806  //    return value is how many bytes were read including the last byte of the
 22807  //    pattern.  If *have is less than four, then the pattern has not been found
 22808  //    yet and the return value is len.  In the latter case, syncsearch() can be
 22809  //    called again with more data and the *have state.  *have is initialized to
 22810  //    zero for the first call.
 22811  //
 22812  func syncsearch(tls *libc.TLS, have uintptr, buf uintptr, len uint32) uint32 { /* inflate.c:1377:16: */
 22813  	var got uint32
 22814  	var next uint32
 22815  
 22816  	got = *(*uint32)(unsafe.Pointer(have))
 22817  	next = uint32(0)
 22818  	for next < len && got < uint32(4) {
 22819  		if int32(*(*uint8)(unsafe.Pointer(buf + uintptr(next)))) == func() int32 {
 22820  			if got < uint32(2) {
 22821  				return 0
 22822  			}
 22823  			return 0xff
 22824  		}() {
 22825  			got++
 22826  		} else if *(*uint8)(unsafe.Pointer(buf + uintptr(next))) != 0 {
 22827  			got = uint32(0)
 22828  		} else {
 22829  			got = uint32(4) - got
 22830  		}
 22831  		next++
 22832  	}
 22833  	*(*uint32)(unsafe.Pointer(have)) = got
 22834  	return next
 22835  }
 22836  
 22837  func XinflateSync(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:1400:13: */
 22838  	bp := tls.Alloc(4)
 22839  	defer tls.Free(4)
 22840  
 22841  	var len uint32 // number of bytes to look at or looked at
 22842  	var in uint64
 22843  	var out uint64 // temporary to save total_in and total_out
 22844  	// var buf [4]uint8 at bp, 4
 22845  	// to restore bit buffer to byte string
 22846  	var state uintptr
 22847  
 22848  	// check parameters
 22849  	if inflateStateCheck(tls, strm) != 0 {
 22850  		return -2
 22851  	}
 22852  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 22853  	if (*Z_stream)(unsafe.Pointer(strm)).Favail_in == UInt(0) && (*Inflate_state)(unsafe.Pointer(state)).Fbits < uint32(8) {
 22854  		return -5
 22855  	}
 22856  
 22857  	// if first time, start search in bit buffer
 22858  	if (*Inflate_state)(unsafe.Pointer(state)).Fmode != SYNC {
 22859  		(*Inflate_state)(unsafe.Pointer(state)).Fmode = SYNC
 22860  		libc.AssignShlPtrUint64(state+80, int((*Inflate_state)(unsafe.Pointer(state)).Fbits&uint32(7)))
 22861  		*(*uint32)(unsafe.Pointer(state + 88)) -= (*Inflate_state)(unsafe.Pointer(state)).Fbits & uint32(7)
 22862  		len = uint32(0)
 22863  		for (*Inflate_state)(unsafe.Pointer(state)).Fbits >= uint32(8) {
 22864  			*(*uint8)(unsafe.Pointer(bp + uintptr(libc.PostIncUint32(&len, 1)))) = uint8((*Inflate_state)(unsafe.Pointer(state)).Fhold)
 22865  			libc.AssignShrPtrUint64(state+80, int(8))
 22866  			*(*uint32)(unsafe.Pointer(state + 88)) -= uint32(8)
 22867  		}
 22868  		(*Inflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
 22869  		syncsearch(tls, state+140, bp, len)
 22870  	}
 22871  
 22872  	// search available input
 22873  	len = syncsearch(tls, state+140, (*Z_stream)(unsafe.Pointer(strm)).Fnext_in, (*Z_stream)(unsafe.Pointer(strm)).Favail_in)
 22874  	*(*UInt)(unsafe.Pointer(strm + 8)) -= len
 22875  	*(*uintptr)(unsafe.Pointer(strm)) += uintptr(len)
 22876  	*(*ULong)(unsafe.Pointer(strm + 16)) += ULong(len)
 22877  
 22878  	// return no joy or set up to restart inflate() on a new block
 22879  	if (*Inflate_state)(unsafe.Pointer(state)).Fhave != uint32(4) {
 22880  		return -3
 22881  	}
 22882  	in = (*Z_stream)(unsafe.Pointer(strm)).Ftotal_in
 22883  	out = (*Z_stream)(unsafe.Pointer(strm)).Ftotal_out
 22884  	XinflateReset(tls, strm)
 22885  	(*Z_stream)(unsafe.Pointer(strm)).Ftotal_in = in
 22886  	(*Z_stream)(unsafe.Pointer(strm)).Ftotal_out = out
 22887  	(*Inflate_state)(unsafe.Pointer(state)).Fmode = TYPE
 22888  	return Z_OK
 22889  }
 22890  
 22891  //
 22892  //    Returns true if inflate is currently at the end of a block generated by
 22893  //    Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
 22894  //    implementation to provide an additional safety check. PPP uses
 22895  //    Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored
 22896  //    block. When decompressing, PPP checks that at the end of input packet,
 22897  //    inflate is waiting for these length bytes.
 22898  //
 22899  func XinflateSyncPoint(tls *libc.TLS, strm Z_streamp) int32 { /* inflate.c:1451:13: */
 22900  	var state uintptr
 22901  
 22902  	if inflateStateCheck(tls, strm) != 0 {
 22903  		return -2
 22904  	}
 22905  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 22906  	return libc.Bool32((*Inflate_state)(unsafe.Pointer(state)).Fmode == STORED && (*Inflate_state)(unsafe.Pointer(state)).Fbits == uint32(0))
 22907  }
 22908  
 22909  func XinflateCopy(tls *libc.TLS, dest Z_streamp, source Z_streamp) int32 { /* inflate.c:1461:13: */
 22910  	var state uintptr
 22911  	var copy uintptr
 22912  	var window uintptr
 22913  	var wsize uint32
 22914  
 22915  	// check input
 22916  	if inflateStateCheck(tls, source) != 0 || dest == uintptr(Z_NULL) {
 22917  		return -2
 22918  	}
 22919  	state = (*Z_stream)(unsafe.Pointer(source)).Fstate
 22920  
 22921  	// allocate space
 22922  	copy = (*struct {
 22923  		f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 22924  	})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(source)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(source)).Fopaque, uint32(1), uint32(unsafe.Sizeof(Inflate_state{})))
 22925  	if copy == uintptr(Z_NULL) {
 22926  		return -4
 22927  	}
 22928  	window = uintptr(Z_NULL)
 22929  	if (*Inflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(Z_NULL) {
 22930  		window = (*struct {
 22931  			f func(*libc.TLS, Voidpf, UInt, UInt) Voidpf
 22932  		})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(source)).Fzalloc})).f(tls, (*Z_stream)(unsafe.Pointer(source)).Fopaque, uint32(1)<<(*Inflate_state)(unsafe.Pointer(state)).Fwbits, uint32(unsafe.Sizeof(uint8(0))))
 22933  		if window == uintptr(Z_NULL) {
 22934  			(*struct {
 22935  				f func(*libc.TLS, Voidpf, Voidpf)
 22936  			})(unsafe.Pointer(&struct{ uintptr }{(*Z_stream)(unsafe.Pointer(source)).Fzfree})).f(tls, (*Z_stream)(unsafe.Pointer(source)).Fopaque, copy)
 22937  			return -4
 22938  		}
 22939  	}
 22940  
 22941  	// copy state
 22942  	libc.X__builtin___memcpy_chk(tls, dest, source, uint64(unsafe.Sizeof(Z_stream{})), libc.X__builtin_object_size(tls, dest, 0))
 22943  	libc.X__builtin___memcpy_chk(tls, copy, state, uint64(unsafe.Sizeof(Inflate_state{})), libc.X__builtin_object_size(tls, copy, 0))
 22944  	(*Inflate_state)(unsafe.Pointer(copy)).Fstrm = dest
 22945  	if (*Inflate_state)(unsafe.Pointer(state)).Flencode >= state+1368 && (*Inflate_state)(unsafe.Pointer(state)).Flencode <= state+1368+uintptr(ENOUGH_LENS+ENOUGH_DISTS)*4-uintptr(1)*4 {
 22946  		(*Inflate_state)(unsafe.Pointer(copy)).Flencode = copy + 1368 + uintptr(int64(((*Inflate_state)(unsafe.Pointer(state)).Flencode-(state+1368))/4))*4
 22947  		(*Inflate_state)(unsafe.Pointer(copy)).Fdistcode = copy + 1368 + uintptr(int64(((*Inflate_state)(unsafe.Pointer(state)).Fdistcode-(state+1368))/4))*4
 22948  	}
 22949  	(*Inflate_state)(unsafe.Pointer(copy)).Fnext = copy + 1368 + uintptr(int64(((*Inflate_state)(unsafe.Pointer(state)).Fnext-(state+1368))/4))*4
 22950  	if window != uintptr(Z_NULL) {
 22951  		wsize = uint32(1) << (*Inflate_state)(unsafe.Pointer(state)).Fwbits
 22952  		libc.X__builtin___memcpy_chk(tls, window, (*Inflate_state)(unsafe.Pointer(state)).Fwindow, uint64(wsize), libc.X__builtin_object_size(tls, window, 0))
 22953  	}
 22954  	(*Inflate_state)(unsafe.Pointer(copy)).Fwindow = window
 22955  	(*Z_stream)(unsafe.Pointer(dest)).Fstate = copy
 22956  	return Z_OK
 22957  }
 22958  
 22959  func XinflateUndermine(tls *libc.TLS, strm Z_streamp, subvert int32) int32 { /* inflate.c:1508:13: */
 22960  	var state uintptr
 22961  
 22962  	if inflateStateCheck(tls, strm) != 0 {
 22963  		return -2
 22964  	}
 22965  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 22966  	_ = subvert
 22967  	(*Inflate_state)(unsafe.Pointer(state)).Fsane = 1
 22968  	return -3
 22969  }
 22970  
 22971  func XinflateValidate(tls *libc.TLS, strm Z_streamp, check int32) int32 { /* inflate.c:1526:13: */
 22972  	var state uintptr
 22973  
 22974  	if inflateStateCheck(tls, strm) != 0 {
 22975  		return -2
 22976  	}
 22977  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 22978  	if check != 0 {
 22979  		*(*int32)(unsafe.Pointer(state + 16)) |= 4
 22980  	} else {
 22981  		*(*int32)(unsafe.Pointer(state + 16)) &= libc.CplInt32(4)
 22982  	}
 22983  	return Z_OK
 22984  }
 22985  
 22986  func XinflateMark(tls *libc.TLS, strm Z_streamp) int64 { /* inflate.c:1541:14: */
 22987  	var state uintptr
 22988  
 22989  	if inflateStateCheck(tls, strm) != 0 {
 22990  		return -(int64(1) << 16)
 22991  	}
 22992  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 22993  	return int64(uint64(int64((*Inflate_state)(unsafe.Pointer(state)).Fback))<<16) + func() int64 {
 22994  		if (*Inflate_state)(unsafe.Pointer(state)).Fmode == COPY {
 22995  			return int64((*Inflate_state)(unsafe.Pointer(state)).Flength)
 22996  		}
 22997  		return func() int64 {
 22998  			if (*Inflate_state)(unsafe.Pointer(state)).Fmode == MATCH {
 22999  				return int64((*Inflate_state)(unsafe.Pointer(state)).Fwas - (*Inflate_state)(unsafe.Pointer(state)).Flength)
 23000  			}
 23001  			return int64(0)
 23002  		}()
 23003  	}()
 23004  }
 23005  
 23006  func XinflateCodesUsed(tls *libc.TLS, strm Z_streamp) uint64 { /* inflate.c:1554:23: */
 23007  	var state uintptr
 23008  	if inflateStateCheck(tls, strm) != 0 {
 23009  		return libc.Uint64(libc.Uint64FromInt32(-1))
 23010  	}
 23011  	state = (*Z_stream)(unsafe.Pointer(strm)).Fstate
 23012  	return uint64(int64(((*Inflate_state)(unsafe.Pointer(state)).Fnext - (state + 1368)) / 4))
 23013  }
 23014  
 23015  var Xinflate_copyright = *(*[48]int8)(unsafe.Pointer(ts + 828)) /* inftrees.c:11:12 */
 23016  
 23017  //
 23018  //   If you use the zlib library in a product, an acknowledgment is welcome
 23019  //   in the documentation of your product. If for some reason you cannot
 23020  //   include such an acknowledgment, I would appreciate that you keep this
 23021  //   copyright string in the executable of your product.
 23022  //
 23023  
 23024  //
 23025  //    Build a set of tables to decode the provided canonical Huffman code.
 23026  //    The code lengths are lens[0..codes-1].  The result starts at *table,
 23027  //    whose indices are 0..2^bits-1.  work is a writable array of at least
 23028  //    lens shorts, which is used as a work area.  type is the type of code
 23029  //    to be generated, CODES, LENS, or DISTS.  On return, zero is success,
 23030  //    -1 is an invalid code, and +1 means that ENOUGH isn't enough.  table
 23031  //    on return points to the next available entry's address.  bits is the
 23032  //    requested root table index bits, and on return it is the actual root
 23033  //    table index bits.  It will differ if the request is greater than the
 23034  //    longest code or if it is less than the shortest code.
 23035  //
 23036  func Xinflate_table(tls *libc.TLS, type1 Codetype, lens uintptr, codes uint32, table uintptr, bits uintptr, work uintptr) int32 { /* inftrees.c:32:19: */
 23037  	bp := tls.Alloc(64)
 23038  	defer tls.Free(64)
 23039  
 23040  	var len uint32 // a code's length in bits
 23041  	var sym uint32 // index of code symbols
 23042  	var min uint32
 23043  	var max uint32    // minimum and maximum code lengths
 23044  	var root uint32   // number of index bits for root table
 23045  	var curr uint32   // number of index bits for current table
 23046  	var drop uint32   // code bits to drop for sub-table
 23047  	var left int32    // number of prefix codes available
 23048  	var used uint32   // code entries in table used
 23049  	var huff uint32   // Huffman code
 23050  	var incr uint32   // for incrementing code, index
 23051  	var fill uint32   // index for replicating entries
 23052  	var low uint32    // low bits for current root entry
 23053  	var mask uint32   // mask for low root bits
 23054  	var here Code     // table entry for duplication
 23055  	var next uintptr  // next available space in table
 23056  	var base uintptr  // base value table to use
 23057  	var extra uintptr // extra bits table to use
 23058  	var match uint32  // use base and extra for symbol >= match
 23059  	// var count [16]uint16 at bp, 32
 23060  	// number of codes of each length
 23061  	// var offs [16]uint16 at bp+32, 32
 23062  
 23063  	//
 23064  	//        Process a set of code lengths to create a canonical Huffman code.  The
 23065  	//        code lengths are lens[0..codes-1].  Each length corresponds to the
 23066  	//        symbols 0..codes-1.  The Huffman code is generated by first sorting the
 23067  	//        symbols by length from short to long, and retaining the symbol order
 23068  	//        for codes with equal lengths.  Then the code starts with all zero bits
 23069  	//        for the first code of the shortest length, and the codes are integer
 23070  	//        increments for the same length, and zeros are appended as the length
 23071  	//        increases.  For the deflate format, these bits are stored backwards
 23072  	//        from their more natural integer increment ordering, and so when the
 23073  	//        decoding tables are built in the large loop below, the integer codes
 23074  	//        are incremented backwards.
 23075  	//
 23076  	//        This routine assumes, but does not check, that all of the entries in
 23077  	//        lens[] are in the range 0..MAXBITS.  The caller must assure this.
 23078  	//        1..MAXBITS is interpreted as that code length.  zero means that that
 23079  	//        symbol does not occur in this code.
 23080  	//
 23081  	//        The codes are sorted by computing a count of codes for each length,
 23082  	//        creating from that a table of starting indices for each length in the
 23083  	//        sorted table, and then entering the symbols in order in the sorted
 23084  	//        table.  The sorted table is work[], with that space being provided by
 23085  	//        the caller.
 23086  	//
 23087  	//        The length counts are used for other purposes as well, i.e. finding
 23088  	//        the minimum and maximum length codes, determining if there are any
 23089  	//        codes at all, checking for a valid set of lengths, and looking ahead
 23090  	//        at length counts to determine sub-table sizes when building the
 23091  	//        decoding tables.
 23092  	//
 23093  
 23094  	// accumulate lengths for codes (assumes lens[] all in 0..MAXBITS)
 23095  	for len = uint32(0); len <= uint32(MAXBITS); len++ {
 23096  		*(*uint16)(unsafe.Pointer(bp + uintptr(len)*2)) = uint16(0)
 23097  	}
 23098  	for sym = uint32(0); sym < codes; sym++ {
 23099  		*(*uint16)(unsafe.Pointer(bp + uintptr(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2)))*2))++
 23100  	}
 23101  
 23102  	// bound code lengths, force root to be within code lengths
 23103  	root = *(*uint32)(unsafe.Pointer(bits))
 23104  	for max = uint32(MAXBITS); max >= uint32(1); max-- {
 23105  		if int32(*(*uint16)(unsafe.Pointer(bp + uintptr(max)*2))) != 0 {
 23106  			break
 23107  		}
 23108  	}
 23109  	if root > max {
 23110  		root = max
 23111  	}
 23112  	if max == uint32(0) { // no symbols to code at all
 23113  		here.Fop = uint8(64) // invalid code marker
 23114  		here.Fbits = uint8(1)
 23115  		here.Fval = uint16(0)
 23116  		*(*Code)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(table)), 4))) = here // make a table to force an error
 23117  		*(*Code)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(table)), 4))) = here
 23118  		*(*uint32)(unsafe.Pointer(bits)) = uint32(1)
 23119  		return 0 // no symbols, but wait for decoding to report error
 23120  	}
 23121  	for min = uint32(1); min < max; min++ {
 23122  		if int32(*(*uint16)(unsafe.Pointer(bp + uintptr(min)*2))) != 0 {
 23123  			break
 23124  		}
 23125  	}
 23126  	if root < min {
 23127  		root = min
 23128  	}
 23129  
 23130  	// check for an over-subscribed or incomplete set of lengths
 23131  	left = 1
 23132  	for len = uint32(1); len <= uint32(MAXBITS); len++ {
 23133  		left <<= 1
 23134  		left = left - int32(*(*uint16)(unsafe.Pointer(bp + uintptr(len)*2)))
 23135  		if left < 0 {
 23136  			return -1
 23137  		} // over-subscribed
 23138  	}
 23139  	if left > 0 && (type1 == CODES || max != uint32(1)) {
 23140  		return -1
 23141  	} // incomplete set
 23142  
 23143  	// generate offsets into symbol table for each length for sorting
 23144  	*(*uint16)(unsafe.Pointer(bp + 32 + 1*2)) = uint16(0)
 23145  	for len = uint32(1); len < uint32(MAXBITS); len++ {
 23146  		*(*uint16)(unsafe.Pointer(bp + 32 + uintptr(len+uint32(1))*2)) = uint16(int32(*(*uint16)(unsafe.Pointer(bp + 32 + uintptr(len)*2))) + int32(*(*uint16)(unsafe.Pointer(bp + uintptr(len)*2))))
 23147  	}
 23148  
 23149  	// sort symbols by length, by symbol order within each length
 23150  	for sym = uint32(0); sym < codes; sym++ {
 23151  		if int32(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))) != 0 {
 23152  			*(*uint16)(unsafe.Pointer(work + uintptr(libc.PostIncUint16(&*(*uint16)(unsafe.Pointer(bp + 32 + uintptr(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2)))*2)), 1))*2)) = uint16(sym)
 23153  		}
 23154  	}
 23155  
 23156  	//
 23157  	//        Create and fill in decoding tables.  In this loop, the table being
 23158  	//        filled is at next and has curr index bits.  The code being used is huff
 23159  	//        with length len.  That code is converted to an index by dropping drop
 23160  	//        bits off of the bottom.  For codes where len is less than drop + curr,
 23161  	//        those top drop + curr - len bits are incremented through all values to
 23162  	//        fill the table with replicated entries.
 23163  	//
 23164  	//        root is the number of index bits for the root table.  When len exceeds
 23165  	//        root, sub-tables are created pointed to by the root entry with an index
 23166  	//        of the low root bits of huff.  This is saved in low to check for when a
 23167  	//        new sub-table should be started.  drop is zero when the root table is
 23168  	//        being filled, and drop is root when sub-tables are being filled.
 23169  	//
 23170  	//        When a new sub-table is needed, it is necessary to look ahead in the
 23171  	//        code lengths to determine what size sub-table is needed.  The length
 23172  	//        counts are used for this, and so count[] is decremented as codes are
 23173  	//        entered in the tables.
 23174  	//
 23175  	//        used keeps track of how many table entries have been allocated from the
 23176  	//        provided *table space.  It is checked for LENS and DIST tables against
 23177  	//        the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
 23178  	//        the initial root table size constants.  See the comments in inftrees.h
 23179  	//        for more information.
 23180  	//
 23181  	//        sym increments through all symbols, and the loop terminates when
 23182  	//        all codes of length max, i.e. all codes, have been processed.  This
 23183  	//        routine permits incomplete codes, so another loop after this one fills
 23184  	//        in the rest of the decoding tables with invalid code markers.
 23185  	//
 23186  
 23187  	// set up for code type
 23188  	switch type1 {
 23189  	case CODES:
 23190  		base = libc.AssignUintptr(&extra, work) // dummy value--not used
 23191  		match = uint32(20)
 23192  		break
 23193  	case LENS:
 23194  		base = uintptr(unsafe.Pointer(&lbase))
 23195  		extra = uintptr(unsafe.Pointer(&lext))
 23196  		match = uint32(257)
 23197  		break
 23198  	default: // DISTS
 23199  		base = uintptr(unsafe.Pointer(&dbase))
 23200  		extra = uintptr(unsafe.Pointer(&dext))
 23201  		match = uint32(0)
 23202  	}
 23203  
 23204  	// initialize state for loop
 23205  	huff = uint32(0)                            // starting code
 23206  	sym = uint32(0)                             // starting code symbol
 23207  	len = min                                   // starting code length
 23208  	next = *(*uintptr)(unsafe.Pointer(table))   // current table to fill in
 23209  	curr = root                                 // current table index bits
 23210  	drop = uint32(0)                            // current bits to drop from code for index
 23211  	low = libc.Uint32(libc.Uint32FromInt32(-1)) // trigger new sub-table when len > root
 23212  	used = uint32(1) << root                    // use root table entries
 23213  	mask = used - uint32(1)                     // mask for comparing low
 23214  
 23215  	// check available table space
 23216  	if type1 == LENS && used > uint32(ENOUGH_LENS) || type1 == DISTS && used > uint32(ENOUGH_DISTS) {
 23217  		return 1
 23218  	}
 23219  
 23220  	// process all codes and make table entries
 23221  	for {
 23222  		// create table entry
 23223  		here.Fbits = uint8(len - drop)
 23224  		if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))+1 < match {
 23225  			here.Fop = uint8(0)
 23226  			here.Fval = *(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))
 23227  		} else if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))) >= match {
 23228  			here.Fop = uint8(*(*uint16)(unsafe.Pointer(extra + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2)))
 23229  			here.Fval = *(*uint16)(unsafe.Pointer(base + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2))
 23230  		} else {
 23231  			here.Fop = uint8(32 + 64) // end of block
 23232  			here.Fval = uint16(0)
 23233  		}
 23234  
 23235  		// replicate for those indices with low len bits equal to huff
 23236  		incr = uint32(1) << (len - drop)
 23237  		fill = uint32(1) << curr
 23238  		min = fill // save offset to next table
 23239  		for ok := true; ok; ok = fill != uint32(0) {
 23240  			fill = fill - incr
 23241  			*(*Code)(unsafe.Pointer(next + uintptr(huff>>drop+fill)*4)) = here
 23242  		}
 23243  
 23244  		// backwards increment the len-bit code huff
 23245  		incr = uint32(1) << (len - uint32(1))
 23246  		for huff&incr != 0 {
 23247  			incr >>= 1
 23248  		}
 23249  		if incr != uint32(0) {
 23250  			huff = huff & (incr - uint32(1))
 23251  			huff = huff + incr
 23252  		} else {
 23253  			huff = uint32(0)
 23254  		}
 23255  
 23256  		// go to next symbol, update count, len
 23257  		sym++
 23258  		if int32(libc.PreDecUint16(&*(*uint16)(unsafe.Pointer(bp + uintptr(len)*2)), 1)) == 0 {
 23259  			if len == max {
 23260  				break
 23261  			}
 23262  			len = uint32(*(*uint16)(unsafe.Pointer(lens + uintptr(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))*2)))
 23263  		}
 23264  
 23265  		// create new sub-table if needed
 23266  		if len > root && huff&mask != low {
 23267  			// if first time, transition to sub-tables
 23268  			if drop == uint32(0) {
 23269  				drop = root
 23270  			}
 23271  
 23272  			// increment past last table
 23273  			next += 4 * uintptr(min) // here min is 1 << curr
 23274  
 23275  			// determine length of next table
 23276  			curr = len - drop
 23277  			left = int32(1) << curr
 23278  			for curr+drop < max {
 23279  				left = left - int32(*(*uint16)(unsafe.Pointer(bp + uintptr(curr+drop)*2)))
 23280  				if left <= 0 {
 23281  					break
 23282  				}
 23283  				curr++
 23284  				left <<= 1
 23285  			}
 23286  
 23287  			// check for enough space
 23288  			used = used + uint32(1)<<curr
 23289  			if type1 == LENS && used > uint32(ENOUGH_LENS) || type1 == DISTS && used > uint32(ENOUGH_DISTS) {
 23290  				return 1
 23291  			}
 23292  
 23293  			// point entry in root table to sub-table
 23294  			low = huff & mask
 23295  			(*Code)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4)).Fop = uint8(curr)
 23296  			(*Code)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4)).Fbits = uint8(root)
 23297  			(*Code)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4)).Fval = uint16((int64(next) - int64(*(*uintptr)(unsafe.Pointer(table)))) / 4)
 23298  		}
 23299  	}
 23300  
 23301  	// fill in remaining table entry if code is incomplete (guaranteed to have
 23302  	//        at most one remaining entry, since if the code is incomplete, the
 23303  	//        maximum code length that was allowed to get this far is one bit)
 23304  	if huff != uint32(0) {
 23305  		here.Fop = uint8(64) // invalid code marker
 23306  		here.Fbits = uint8(len - drop)
 23307  		here.Fval = uint16(0)
 23308  		*(*Code)(unsafe.Pointer(next + uintptr(huff)*4)) = here
 23309  	}
 23310  
 23311  	// set return parameters
 23312  	*(*uintptr)(unsafe.Pointer(table)) += uintptr(used) * 4
 23313  	*(*uint32)(unsafe.Pointer(bits)) = root
 23314  	return 0
 23315  }
 23316  
 23317  var lbase = [31]uint16{ // Length codes 257..285 base
 23318  	uint16(3), uint16(4), uint16(5), uint16(6), uint16(7), uint16(8), uint16(9), uint16(10), uint16(11), uint16(13), uint16(15), uint16(17), uint16(19), uint16(23), uint16(27), uint16(31),
 23319  			uint16(35), uint16(43), uint16(51), uint16(59), uint16(67), uint16(83), uint16(99), uint16(115), uint16(131), uint16(163), uint16(195), uint16(227), uint16(258), uint16(0), uint16(0)} /* inftrees.c:60:33 */
 23320  var lext = [31]uint16{ // Length codes 257..285 extra
 23321  	uint16(16), uint16(16), uint16(16), uint16(16), uint16(16), uint16(16), uint16(16), uint16(16), uint16(17), uint16(17), uint16(17), uint16(17), uint16(18), uint16(18), uint16(18), uint16(18),
 23322  			uint16(19), uint16(19), uint16(19), uint16(19), uint16(20), uint16(20), uint16(20), uint16(20), uint16(21), uint16(21), uint16(21), uint16(21), uint16(16), uint16(77), uint16(202)} /* inftrees.c:63:33 */
 23323  var dbase = [32]uint16{ // Distance codes 0..29 base
 23324  	uint16(1), uint16(2), uint16(3), uint16(4), uint16(5), uint16(7), uint16(9), uint16(13), uint16(17), uint16(25), uint16(33), uint16(49), uint16(65), uint16(97), uint16(129), uint16(193),
 23325  	uint16(257), uint16(385), uint16(513), uint16(769), uint16(1025), uint16(1537), uint16(2049), uint16(3073), uint16(4097), uint16(6145),
 23326  			uint16(8193), uint16(12289), uint16(16385), uint16(24577), uint16(0), uint16(0)} /* inftrees.c:66:33 */
 23327  var dext = [32]uint16{ // Distance codes 0..29 extra
 23328  	uint16(16), uint16(16), uint16(16), uint16(16), uint16(17), uint16(17), uint16(18), uint16(18), uint16(19), uint16(19), uint16(20), uint16(20), uint16(21), uint16(21), uint16(22), uint16(22),
 23329  	uint16(23), uint16(23), uint16(24), uint16(24), uint16(25), uint16(25), uint16(26), uint16(26), uint16(27), uint16(27),
 23330  	uint16(28), uint16(28), uint16(29), uint16(29), uint16(64), uint16(64)} /* inftrees.c:70:33 */
 23331  
 23332  type Static_tree_desc = Static_tree_desc_s /* deflate.h:84:36 */
 23333  
 23334  // ===========================================================================
 23335  // Constants
 23336  
 23337  // Bit length codes must not exceed MAX_BL_BITS bits
 23338  
 23339  // end of block literal code
 23340  
 23341  // repeat previous bit length 3-6 times (2 bits of repeat count)
 23342  
 23343  // repeat a zero length 3-10 times  (3 bits of repeat count)
 23344  
 23345  // repeat a zero length 11-138 times  (7 bits of repeat count)
 23346  
 23347  var extra_lbits = [29]int32{0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0} /* trees.c:62:17 */
 23348  
 23349  var extra_dbits = [30]int32{0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13} /* trees.c:65:17 */
 23350  
 23351  var extra_blbits = [19]int32{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7} /* trees.c:68:17 */
 23352  
 23353  var bl_order = [19]Uch{Uch(16), Uch(17), Uch(18), Uch(0), Uch(8), Uch(7), Uch(9), Uch(6), Uch(10), Uch(5), Uch(11), Uch(4), Uch(12), Uch(3), Uch(13), Uch(2), Uch(14), Uch(1), Uch(15)} /* trees.c:71:17 */
 23354  // The lengths of the bit length codes are sent in order of decreasing
 23355  // probability, to avoid transmitting the lengths for unused bit length codes.
 23356  
 23357  // ===========================================================================
 23358  // Local data. These are initialized only once.
 23359  
 23360  // header created automatically with -DGEN_TREES_H
 23361  
 23362  var static_ltree = [288]Ct_data{{Ffc: func() (r struct{ Ffreq Ush }) {
 23363  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(12)
 23364  	return r
 23365  }(), Fdl: func() (r struct{ Fdad Ush }) {
 23366  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23367  	return r
 23368  }()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23369  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(140)
 23370  	return r
 23371  }(), Fdl: func() (r struct{ Fdad Ush }) {
 23372  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23373  	return r
 23374  }()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23375  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(76)
 23376  	return r
 23377  }(), Fdl: func() (r struct{ Fdad Ush }) {
 23378  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23379  	return r
 23380  }()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23381  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(204)
 23382  	return r
 23383  }(), Fdl: func() (r struct{ Fdad Ush }) {
 23384  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23385  	return r
 23386  }()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23387  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(44)
 23388  	return r
 23389  }(), Fdl: func() (r struct{ Fdad Ush }) {
 23390  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23391  	return r
 23392  }()},
 23393  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23394  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(172)
 23395  		return r
 23396  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23397  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23398  		return r
 23399  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23400  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(108)
 23401  		return r
 23402  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23403  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23404  		return r
 23405  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23406  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(236)
 23407  		return r
 23408  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23409  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23410  		return r
 23411  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23412  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(28)
 23413  		return r
 23414  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23415  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23416  		return r
 23417  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23418  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(156)
 23419  		return r
 23420  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23421  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23422  		return r
 23423  	}()},
 23424  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23425  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(92)
 23426  		return r
 23427  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23428  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23429  		return r
 23430  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23431  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(220)
 23432  		return r
 23433  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23434  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23435  		return r
 23436  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23437  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(60)
 23438  		return r
 23439  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23440  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23441  		return r
 23442  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23443  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(188)
 23444  		return r
 23445  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23446  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23447  		return r
 23448  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23449  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(124)
 23450  		return r
 23451  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23452  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23453  		return r
 23454  	}()},
 23455  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23456  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(252)
 23457  		return r
 23458  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23459  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23460  		return r
 23461  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23462  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(2)
 23463  		return r
 23464  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23465  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23466  		return r
 23467  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23468  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(130)
 23469  		return r
 23470  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23471  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23472  		return r
 23473  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23474  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(66)
 23475  		return r
 23476  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23477  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23478  		return r
 23479  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23480  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(194)
 23481  		return r
 23482  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23483  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23484  		return r
 23485  	}()},
 23486  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23487  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(34)
 23488  		return r
 23489  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23490  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23491  		return r
 23492  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23493  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(162)
 23494  		return r
 23495  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23496  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23497  		return r
 23498  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23499  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(98)
 23500  		return r
 23501  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23502  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23503  		return r
 23504  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23505  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(226)
 23506  		return r
 23507  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23508  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23509  		return r
 23510  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23511  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(18)
 23512  		return r
 23513  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23514  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23515  		return r
 23516  	}()},
 23517  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23518  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(146)
 23519  		return r
 23520  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23521  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23522  		return r
 23523  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23524  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(82)
 23525  		return r
 23526  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23527  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23528  		return r
 23529  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23530  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(210)
 23531  		return r
 23532  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23533  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23534  		return r
 23535  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23536  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(50)
 23537  		return r
 23538  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23539  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23540  		return r
 23541  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23542  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(178)
 23543  		return r
 23544  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23545  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23546  		return r
 23547  	}()},
 23548  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23549  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(114)
 23550  		return r
 23551  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23552  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23553  		return r
 23554  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23555  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(242)
 23556  		return r
 23557  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23558  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23559  		return r
 23560  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23561  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(10)
 23562  		return r
 23563  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23564  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23565  		return r
 23566  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23567  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(138)
 23568  		return r
 23569  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23570  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23571  		return r
 23572  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23573  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(74)
 23574  		return r
 23575  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23576  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23577  		return r
 23578  	}()},
 23579  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23580  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(202)
 23581  		return r
 23582  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23583  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23584  		return r
 23585  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23586  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(42)
 23587  		return r
 23588  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23589  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23590  		return r
 23591  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23592  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(170)
 23593  		return r
 23594  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23595  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23596  		return r
 23597  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23598  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(106)
 23599  		return r
 23600  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23601  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23602  		return r
 23603  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23604  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(234)
 23605  		return r
 23606  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23607  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23608  		return r
 23609  	}()},
 23610  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23611  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(26)
 23612  		return r
 23613  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23614  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23615  		return r
 23616  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23617  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(154)
 23618  		return r
 23619  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23620  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23621  		return r
 23622  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23623  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(90)
 23624  		return r
 23625  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23626  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23627  		return r
 23628  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23629  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(218)
 23630  		return r
 23631  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23632  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23633  		return r
 23634  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23635  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(58)
 23636  		return r
 23637  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23638  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23639  		return r
 23640  	}()},
 23641  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23642  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(186)
 23643  		return r
 23644  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23645  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23646  		return r
 23647  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23648  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(122)
 23649  		return r
 23650  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23651  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23652  		return r
 23653  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23654  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(250)
 23655  		return r
 23656  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23657  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23658  		return r
 23659  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23660  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(6)
 23661  		return r
 23662  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23663  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23664  		return r
 23665  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23666  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(134)
 23667  		return r
 23668  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23669  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23670  		return r
 23671  	}()},
 23672  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23673  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(70)
 23674  		return r
 23675  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23676  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23677  		return r
 23678  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23679  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(198)
 23680  		return r
 23681  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23682  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23683  		return r
 23684  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23685  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(38)
 23686  		return r
 23687  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23688  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23689  		return r
 23690  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23691  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(166)
 23692  		return r
 23693  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23694  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23695  		return r
 23696  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23697  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(102)
 23698  		return r
 23699  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23700  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23701  		return r
 23702  	}()},
 23703  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23704  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(230)
 23705  		return r
 23706  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23707  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23708  		return r
 23709  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23710  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(22)
 23711  		return r
 23712  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23713  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23714  		return r
 23715  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23716  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(150)
 23717  		return r
 23718  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23719  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23720  		return r
 23721  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23722  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(86)
 23723  		return r
 23724  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23725  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23726  		return r
 23727  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23728  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(214)
 23729  		return r
 23730  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23731  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23732  		return r
 23733  	}()},
 23734  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23735  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(54)
 23736  		return r
 23737  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23738  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23739  		return r
 23740  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23741  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(182)
 23742  		return r
 23743  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23744  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23745  		return r
 23746  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23747  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(118)
 23748  		return r
 23749  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23750  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23751  		return r
 23752  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23753  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(246)
 23754  		return r
 23755  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23756  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23757  		return r
 23758  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23759  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(14)
 23760  		return r
 23761  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23762  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23763  		return r
 23764  	}()},
 23765  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23766  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(142)
 23767  		return r
 23768  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23769  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23770  		return r
 23771  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23772  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(78)
 23773  		return r
 23774  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23775  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23776  		return r
 23777  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23778  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(206)
 23779  		return r
 23780  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23781  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23782  		return r
 23783  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23784  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(46)
 23785  		return r
 23786  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23787  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23788  		return r
 23789  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23790  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(174)
 23791  		return r
 23792  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23793  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23794  		return r
 23795  	}()},
 23796  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23797  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(110)
 23798  		return r
 23799  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23800  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23801  		return r
 23802  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23803  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(238)
 23804  		return r
 23805  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23806  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23807  		return r
 23808  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23809  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(30)
 23810  		return r
 23811  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23812  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23813  		return r
 23814  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23815  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(158)
 23816  		return r
 23817  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23818  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23819  		return r
 23820  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23821  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(94)
 23822  		return r
 23823  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23824  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23825  		return r
 23826  	}()},
 23827  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23828  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(222)
 23829  		return r
 23830  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23831  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23832  		return r
 23833  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23834  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(62)
 23835  		return r
 23836  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23837  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23838  		return r
 23839  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23840  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(190)
 23841  		return r
 23842  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23843  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23844  		return r
 23845  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23846  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(126)
 23847  		return r
 23848  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23849  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23850  		return r
 23851  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23852  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(254)
 23853  		return r
 23854  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23855  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23856  		return r
 23857  	}()},
 23858  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23859  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(1)
 23860  		return r
 23861  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23862  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23863  		return r
 23864  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23865  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(129)
 23866  		return r
 23867  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23868  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23869  		return r
 23870  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23871  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(65)
 23872  		return r
 23873  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23874  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23875  		return r
 23876  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23877  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(193)
 23878  		return r
 23879  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23880  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23881  		return r
 23882  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23883  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(33)
 23884  		return r
 23885  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23886  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23887  		return r
 23888  	}()},
 23889  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23890  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(161)
 23891  		return r
 23892  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23893  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23894  		return r
 23895  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23896  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(97)
 23897  		return r
 23898  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23899  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23900  		return r
 23901  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23902  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(225)
 23903  		return r
 23904  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23905  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23906  		return r
 23907  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23908  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(17)
 23909  		return r
 23910  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23911  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23912  		return r
 23913  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23914  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(145)
 23915  		return r
 23916  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23917  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23918  		return r
 23919  	}()},
 23920  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23921  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(81)
 23922  		return r
 23923  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23924  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23925  		return r
 23926  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23927  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(209)
 23928  		return r
 23929  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23930  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23931  		return r
 23932  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23933  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(49)
 23934  		return r
 23935  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23936  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23937  		return r
 23938  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23939  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(177)
 23940  		return r
 23941  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23942  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23943  		return r
 23944  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23945  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(113)
 23946  		return r
 23947  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23948  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23949  		return r
 23950  	}()},
 23951  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23952  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(241)
 23953  		return r
 23954  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23955  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23956  		return r
 23957  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23958  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 23959  		return r
 23960  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23961  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23962  		return r
 23963  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23964  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(137)
 23965  		return r
 23966  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23967  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23968  		return r
 23969  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23970  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(73)
 23971  		return r
 23972  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23973  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23974  		return r
 23975  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23976  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(201)
 23977  		return r
 23978  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23979  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23980  		return r
 23981  	}()},
 23982  	{Ffc: func() (r struct{ Ffreq Ush }) {
 23983  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(41)
 23984  		return r
 23985  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23986  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23987  		return r
 23988  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23989  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(169)
 23990  		return r
 23991  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23992  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23993  		return r
 23994  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 23995  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(105)
 23996  		return r
 23997  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 23998  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 23999  		return r
 24000  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24001  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(233)
 24002  		return r
 24003  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24004  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24005  		return r
 24006  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24007  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(25)
 24008  		return r
 24009  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24010  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24011  		return r
 24012  	}()},
 24013  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24014  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(153)
 24015  		return r
 24016  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24017  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24018  		return r
 24019  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24020  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(89)
 24021  		return r
 24022  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24023  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24024  		return r
 24025  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24026  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(217)
 24027  		return r
 24028  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24029  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24030  		return r
 24031  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24032  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(57)
 24033  		return r
 24034  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24035  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24036  		return r
 24037  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24038  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(185)
 24039  		return r
 24040  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24041  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24042  		return r
 24043  	}()},
 24044  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24045  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(121)
 24046  		return r
 24047  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24048  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24049  		return r
 24050  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24051  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(249)
 24052  		return r
 24053  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24054  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24055  		return r
 24056  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24057  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 24058  		return r
 24059  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24060  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24061  		return r
 24062  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24063  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(133)
 24064  		return r
 24065  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24066  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24067  		return r
 24068  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24069  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(69)
 24070  		return r
 24071  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24072  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24073  		return r
 24074  	}()},
 24075  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24076  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(197)
 24077  		return r
 24078  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24079  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24080  		return r
 24081  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24082  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(37)
 24083  		return r
 24084  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24085  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24086  		return r
 24087  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24088  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(165)
 24089  		return r
 24090  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24091  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24092  		return r
 24093  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24094  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(101)
 24095  		return r
 24096  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24097  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24098  		return r
 24099  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24100  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(229)
 24101  		return r
 24102  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24103  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24104  		return r
 24105  	}()},
 24106  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24107  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(21)
 24108  		return r
 24109  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24110  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24111  		return r
 24112  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24113  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(149)
 24114  		return r
 24115  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24116  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24117  		return r
 24118  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24119  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(85)
 24120  		return r
 24121  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24122  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24123  		return r
 24124  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24125  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(213)
 24126  		return r
 24127  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24128  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24129  		return r
 24130  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24131  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(53)
 24132  		return r
 24133  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24134  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24135  		return r
 24136  	}()},
 24137  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24138  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(181)
 24139  		return r
 24140  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24141  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24142  		return r
 24143  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24144  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(117)
 24145  		return r
 24146  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24147  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24148  		return r
 24149  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24150  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(245)
 24151  		return r
 24152  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24153  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24154  		return r
 24155  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24156  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(13)
 24157  		return r
 24158  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24159  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24160  		return r
 24161  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24162  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(141)
 24163  		return r
 24164  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24165  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24166  		return r
 24167  	}()},
 24168  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24169  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(77)
 24170  		return r
 24171  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24172  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24173  		return r
 24174  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24175  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(205)
 24176  		return r
 24177  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24178  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24179  		return r
 24180  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24181  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(45)
 24182  		return r
 24183  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24184  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24185  		return r
 24186  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24187  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(173)
 24188  		return r
 24189  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24190  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24191  		return r
 24192  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24193  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(109)
 24194  		return r
 24195  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24196  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24197  		return r
 24198  	}()},
 24199  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24200  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(237)
 24201  		return r
 24202  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24203  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24204  		return r
 24205  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24206  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(29)
 24207  		return r
 24208  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24209  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24210  		return r
 24211  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24212  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(157)
 24213  		return r
 24214  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24215  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24216  		return r
 24217  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24218  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(93)
 24219  		return r
 24220  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24221  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24222  		return r
 24223  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24224  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(221)
 24225  		return r
 24226  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24227  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24228  		return r
 24229  	}()},
 24230  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24231  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(61)
 24232  		return r
 24233  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24234  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24235  		return r
 24236  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24237  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(189)
 24238  		return r
 24239  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24240  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24241  		return r
 24242  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24243  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(125)
 24244  		return r
 24245  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24246  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24247  		return r
 24248  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24249  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(253)
 24250  		return r
 24251  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24252  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24253  		return r
 24254  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24255  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(19)
 24256  		return r
 24257  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24258  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24259  		return r
 24260  	}()},
 24261  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24262  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(275)
 24263  		return r
 24264  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24265  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24266  		return r
 24267  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24268  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(147)
 24269  		return r
 24270  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24271  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24272  		return r
 24273  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24274  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(403)
 24275  		return r
 24276  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24277  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24278  		return r
 24279  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24280  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(83)
 24281  		return r
 24282  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24283  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24284  		return r
 24285  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24286  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(339)
 24287  		return r
 24288  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24289  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24290  		return r
 24291  	}()},
 24292  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24293  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(211)
 24294  		return r
 24295  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24296  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24297  		return r
 24298  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24299  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(467)
 24300  		return r
 24301  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24302  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24303  		return r
 24304  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24305  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(51)
 24306  		return r
 24307  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24308  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24309  		return r
 24310  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24311  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(307)
 24312  		return r
 24313  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24314  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24315  		return r
 24316  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24317  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(179)
 24318  		return r
 24319  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24320  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24321  		return r
 24322  	}()},
 24323  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24324  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(435)
 24325  		return r
 24326  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24327  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24328  		return r
 24329  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24330  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(115)
 24331  		return r
 24332  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24333  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24334  		return r
 24335  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24336  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(371)
 24337  		return r
 24338  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24339  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24340  		return r
 24341  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24342  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(243)
 24343  		return r
 24344  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24345  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24346  		return r
 24347  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24348  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(499)
 24349  		return r
 24350  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24351  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24352  		return r
 24353  	}()},
 24354  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24355  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(11)
 24356  		return r
 24357  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24358  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24359  		return r
 24360  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24361  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(267)
 24362  		return r
 24363  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24364  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24365  		return r
 24366  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24367  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(139)
 24368  		return r
 24369  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24370  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24371  		return r
 24372  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24373  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(395)
 24374  		return r
 24375  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24376  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24377  		return r
 24378  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24379  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(75)
 24380  		return r
 24381  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24382  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24383  		return r
 24384  	}()},
 24385  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24386  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(331)
 24387  		return r
 24388  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24389  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24390  		return r
 24391  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24392  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(203)
 24393  		return r
 24394  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24395  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24396  		return r
 24397  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24398  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(459)
 24399  		return r
 24400  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24401  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24402  		return r
 24403  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24404  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(43)
 24405  		return r
 24406  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24407  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24408  		return r
 24409  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24410  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(299)
 24411  		return r
 24412  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24413  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24414  		return r
 24415  	}()},
 24416  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24417  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(171)
 24418  		return r
 24419  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24420  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24421  		return r
 24422  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24423  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(427)
 24424  		return r
 24425  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24426  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24427  		return r
 24428  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24429  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(107)
 24430  		return r
 24431  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24432  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24433  		return r
 24434  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24435  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(363)
 24436  		return r
 24437  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24438  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24439  		return r
 24440  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24441  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(235)
 24442  		return r
 24443  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24444  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24445  		return r
 24446  	}()},
 24447  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24448  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(491)
 24449  		return r
 24450  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24451  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24452  		return r
 24453  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24454  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(27)
 24455  		return r
 24456  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24457  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24458  		return r
 24459  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24460  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(283)
 24461  		return r
 24462  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24463  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24464  		return r
 24465  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24466  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(155)
 24467  		return r
 24468  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24469  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24470  		return r
 24471  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24472  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(411)
 24473  		return r
 24474  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24475  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24476  		return r
 24477  	}()},
 24478  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24479  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(91)
 24480  		return r
 24481  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24482  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24483  		return r
 24484  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24485  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(347)
 24486  		return r
 24487  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24488  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24489  		return r
 24490  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24491  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(219)
 24492  		return r
 24493  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24494  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24495  		return r
 24496  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24497  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(475)
 24498  		return r
 24499  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24500  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24501  		return r
 24502  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24503  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(59)
 24504  		return r
 24505  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24506  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24507  		return r
 24508  	}()},
 24509  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24510  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(315)
 24511  		return r
 24512  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24513  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24514  		return r
 24515  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24516  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(187)
 24517  		return r
 24518  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24519  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24520  		return r
 24521  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24522  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(443)
 24523  		return r
 24524  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24525  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24526  		return r
 24527  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24528  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(123)
 24529  		return r
 24530  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24531  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24532  		return r
 24533  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24534  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(379)
 24535  		return r
 24536  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24537  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24538  		return r
 24539  	}()},
 24540  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24541  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(251)
 24542  		return r
 24543  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24544  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24545  		return r
 24546  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24547  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(507)
 24548  		return r
 24549  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24550  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24551  		return r
 24552  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24553  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 24554  		return r
 24555  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24556  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24557  		return r
 24558  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24559  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(263)
 24560  		return r
 24561  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24562  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24563  		return r
 24564  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24565  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(135)
 24566  		return r
 24567  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24568  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24569  		return r
 24570  	}()},
 24571  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24572  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(391)
 24573  		return r
 24574  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24575  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24576  		return r
 24577  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24578  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(71)
 24579  		return r
 24580  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24581  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24582  		return r
 24583  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24584  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(327)
 24585  		return r
 24586  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24587  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24588  		return r
 24589  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24590  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(199)
 24591  		return r
 24592  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24593  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24594  		return r
 24595  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24596  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(455)
 24597  		return r
 24598  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24599  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24600  		return r
 24601  	}()},
 24602  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24603  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(39)
 24604  		return r
 24605  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24606  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24607  		return r
 24608  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24609  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(295)
 24610  		return r
 24611  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24612  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24613  		return r
 24614  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24615  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(167)
 24616  		return r
 24617  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24618  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24619  		return r
 24620  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24621  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(423)
 24622  		return r
 24623  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24624  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24625  		return r
 24626  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24627  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(103)
 24628  		return r
 24629  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24630  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24631  		return r
 24632  	}()},
 24633  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24634  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(359)
 24635  		return r
 24636  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24637  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24638  		return r
 24639  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24640  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(231)
 24641  		return r
 24642  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24643  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24644  		return r
 24645  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24646  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(487)
 24647  		return r
 24648  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24649  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24650  		return r
 24651  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24652  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(23)
 24653  		return r
 24654  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24655  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24656  		return r
 24657  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24658  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(279)
 24659  		return r
 24660  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24661  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24662  		return r
 24663  	}()},
 24664  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24665  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(151)
 24666  		return r
 24667  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24668  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24669  		return r
 24670  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24671  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(407)
 24672  		return r
 24673  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24674  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24675  		return r
 24676  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24677  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(87)
 24678  		return r
 24679  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24680  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24681  		return r
 24682  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24683  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(343)
 24684  		return r
 24685  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24686  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24687  		return r
 24688  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24689  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(215)
 24690  		return r
 24691  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24692  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24693  		return r
 24694  	}()},
 24695  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24696  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(471)
 24697  		return r
 24698  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24699  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24700  		return r
 24701  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24702  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(55)
 24703  		return r
 24704  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24705  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24706  		return r
 24707  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24708  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(311)
 24709  		return r
 24710  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24711  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24712  		return r
 24713  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24714  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(183)
 24715  		return r
 24716  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24717  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24718  		return r
 24719  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24720  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(439)
 24721  		return r
 24722  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24723  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24724  		return r
 24725  	}()},
 24726  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24727  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(119)
 24728  		return r
 24729  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24730  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24731  		return r
 24732  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24733  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(375)
 24734  		return r
 24735  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24736  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24737  		return r
 24738  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24739  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(247)
 24740  		return r
 24741  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24742  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24743  		return r
 24744  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24745  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(503)
 24746  		return r
 24747  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24748  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24749  		return r
 24750  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24751  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(15)
 24752  		return r
 24753  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24754  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24755  		return r
 24756  	}()},
 24757  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24758  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(271)
 24759  		return r
 24760  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24761  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24762  		return r
 24763  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24764  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(143)
 24765  		return r
 24766  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24767  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24768  		return r
 24769  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24770  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(399)
 24771  		return r
 24772  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24773  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24774  		return r
 24775  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24776  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(79)
 24777  		return r
 24778  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24779  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24780  		return r
 24781  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24782  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(335)
 24783  		return r
 24784  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24785  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24786  		return r
 24787  	}()},
 24788  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24789  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(207)
 24790  		return r
 24791  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24792  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24793  		return r
 24794  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24795  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(463)
 24796  		return r
 24797  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24798  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24799  		return r
 24800  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24801  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(47)
 24802  		return r
 24803  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24804  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24805  		return r
 24806  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24807  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(303)
 24808  		return r
 24809  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24810  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24811  		return r
 24812  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24813  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(175)
 24814  		return r
 24815  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24816  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24817  		return r
 24818  	}()},
 24819  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24820  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(431)
 24821  		return r
 24822  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24823  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24824  		return r
 24825  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24826  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(111)
 24827  		return r
 24828  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24829  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24830  		return r
 24831  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24832  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(367)
 24833  		return r
 24834  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24835  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24836  		return r
 24837  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24838  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(239)
 24839  		return r
 24840  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24841  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24842  		return r
 24843  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24844  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(495)
 24845  		return r
 24846  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24847  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24848  		return r
 24849  	}()},
 24850  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24851  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(31)
 24852  		return r
 24853  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24854  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24855  		return r
 24856  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24857  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(287)
 24858  		return r
 24859  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24860  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24861  		return r
 24862  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24863  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(159)
 24864  		return r
 24865  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24866  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24867  		return r
 24868  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24869  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(415)
 24870  		return r
 24871  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24872  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24873  		return r
 24874  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24875  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(95)
 24876  		return r
 24877  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24878  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24879  		return r
 24880  	}()},
 24881  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24882  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(351)
 24883  		return r
 24884  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24885  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24886  		return r
 24887  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24888  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(223)
 24889  		return r
 24890  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24891  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24892  		return r
 24893  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24894  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(479)
 24895  		return r
 24896  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24897  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24898  		return r
 24899  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24900  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(63)
 24901  		return r
 24902  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24903  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24904  		return r
 24905  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24906  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(319)
 24907  		return r
 24908  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24909  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24910  		return r
 24911  	}()},
 24912  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24913  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(191)
 24914  		return r
 24915  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24916  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24917  		return r
 24918  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24919  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(447)
 24920  		return r
 24921  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24922  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24923  		return r
 24924  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24925  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(127)
 24926  		return r
 24927  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24928  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24929  		return r
 24930  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24931  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(383)
 24932  		return r
 24933  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24934  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24935  		return r
 24936  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24937  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(255)
 24938  		return r
 24939  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24940  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24941  		return r
 24942  	}()},
 24943  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24944  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(511)
 24945  		return r
 24946  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24947  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 24948  		return r
 24949  	}()}, {Fdl: func() (r struct{ Fdad Ush }) {
 24950  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 24951  		return r
 24952  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24953  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(64)
 24954  		return r
 24955  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24956  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 24957  		return r
 24958  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24959  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(32)
 24960  		return r
 24961  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24962  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 24963  		return r
 24964  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24965  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(96)
 24966  		return r
 24967  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24968  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 24969  		return r
 24970  	}()},
 24971  	{Ffc: func() (r struct{ Ffreq Ush }) {
 24972  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(16)
 24973  		return r
 24974  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24975  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 24976  		return r
 24977  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24978  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(80)
 24979  		return r
 24980  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24981  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 24982  		return r
 24983  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24984  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(48)
 24985  		return r
 24986  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24987  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 24988  		return r
 24989  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24990  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(112)
 24991  		return r
 24992  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24993  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 24994  		return r
 24995  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 24996  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 24997  		return r
 24998  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 24999  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25000  		return r
 25001  	}()},
 25002  	{Ffc: func() (r struct{ Ffreq Ush }) {
 25003  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(72)
 25004  		return r
 25005  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25006  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25007  		return r
 25008  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25009  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(40)
 25010  		return r
 25011  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25012  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25013  		return r
 25014  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25015  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(104)
 25016  		return r
 25017  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25018  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25019  		return r
 25020  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25021  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(24)
 25022  		return r
 25023  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25024  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25025  		return r
 25026  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25027  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(88)
 25028  		return r
 25029  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25030  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25031  		return r
 25032  	}()},
 25033  	{Ffc: func() (r struct{ Ffreq Ush }) {
 25034  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(56)
 25035  		return r
 25036  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25037  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25038  		return r
 25039  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25040  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(120)
 25041  		return r
 25042  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25043  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25044  		return r
 25045  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25046  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(4)
 25047  		return r
 25048  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25049  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25050  		return r
 25051  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25052  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(68)
 25053  		return r
 25054  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25055  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25056  		return r
 25057  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25058  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(36)
 25059  		return r
 25060  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25061  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25062  		return r
 25063  	}()},
 25064  	{Ffc: func() (r struct{ Ffreq Ush }) {
 25065  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(100)
 25066  		return r
 25067  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25068  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25069  		return r
 25070  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25071  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(20)
 25072  		return r
 25073  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25074  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25075  		return r
 25076  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25077  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(84)
 25078  		return r
 25079  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25080  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25081  		return r
 25082  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25083  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(52)
 25084  		return r
 25085  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25086  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25087  		return r
 25088  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25089  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(116)
 25090  		return r
 25091  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25092  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25093  		return r
 25094  	}()},
 25095  	{Ffc: func() (r struct{ Ffreq Ush }) {
 25096  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(3)
 25097  		return r
 25098  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25099  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 25100  		return r
 25101  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25102  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(131)
 25103  		return r
 25104  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25105  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 25106  		return r
 25107  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25108  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(67)
 25109  		return r
 25110  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25111  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 25112  		return r
 25113  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25114  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(195)
 25115  		return r
 25116  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25117  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 25118  		return r
 25119  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25120  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(35)
 25121  		return r
 25122  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25123  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 25124  		return r
 25125  	}()},
 25126  	{Ffc: func() (r struct{ Ffreq Ush }) {
 25127  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(163)
 25128  		return r
 25129  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25130  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 25131  		return r
 25132  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25133  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(99)
 25134  		return r
 25135  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25136  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 25137  		return r
 25138  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25139  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(227)
 25140  		return r
 25141  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25142  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 25143  		return r
 25144  	}()}} /* trees.h:3:21 */
 25145  
 25146  var static_dtree = [30]Ct_data{{Fdl: func() (r struct{ Fdad Ush }) {
 25147  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25148  	return r
 25149  }()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25150  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(16)
 25151  	return r
 25152  }(), Fdl: func() (r struct{ Fdad Ush }) {
 25153  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25154  	return r
 25155  }()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25156  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(8)
 25157  	return r
 25158  }(), Fdl: func() (r struct{ Fdad Ush }) {
 25159  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25160  	return r
 25161  }()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25162  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(24)
 25163  	return r
 25164  }(), Fdl: func() (r struct{ Fdad Ush }) {
 25165  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25166  	return r
 25167  }()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25168  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(4)
 25169  	return r
 25170  }(), Fdl: func() (r struct{ Fdad Ush }) {
 25171  	*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25172  	return r
 25173  }()},
 25174  	{Ffc: func() (r struct{ Ffreq Ush }) {
 25175  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(20)
 25176  		return r
 25177  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25178  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25179  		return r
 25180  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25181  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(12)
 25182  		return r
 25183  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25184  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25185  		return r
 25186  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25187  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(28)
 25188  		return r
 25189  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25190  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25191  		return r
 25192  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25193  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(2)
 25194  		return r
 25195  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25196  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25197  		return r
 25198  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25199  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(18)
 25200  		return r
 25201  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25202  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25203  		return r
 25204  	}()},
 25205  	{Ffc: func() (r struct{ Ffreq Ush }) {
 25206  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(10)
 25207  		return r
 25208  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25209  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25210  		return r
 25211  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25212  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(26)
 25213  		return r
 25214  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25215  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25216  		return r
 25217  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25218  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(6)
 25219  		return r
 25220  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25221  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25222  		return r
 25223  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25224  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(22)
 25225  		return r
 25226  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25227  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25228  		return r
 25229  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25230  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(14)
 25231  		return r
 25232  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25233  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25234  		return r
 25235  	}()},
 25236  	{Ffc: func() (r struct{ Ffreq Ush }) {
 25237  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(30)
 25238  		return r
 25239  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25240  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25241  		return r
 25242  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25243  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(1)
 25244  		return r
 25245  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25246  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25247  		return r
 25248  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25249  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(17)
 25250  		return r
 25251  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25252  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25253  		return r
 25254  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25255  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(9)
 25256  		return r
 25257  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25258  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25259  		return r
 25260  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25261  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(25)
 25262  		return r
 25263  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25264  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25265  		return r
 25266  	}()},
 25267  	{Ffc: func() (r struct{ Ffreq Ush }) {
 25268  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25269  		return r
 25270  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25271  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25272  		return r
 25273  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25274  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(21)
 25275  		return r
 25276  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25277  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25278  		return r
 25279  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25280  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(13)
 25281  		return r
 25282  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25283  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25284  		return r
 25285  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25286  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(29)
 25287  		return r
 25288  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25289  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25290  		return r
 25291  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25292  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(3)
 25293  		return r
 25294  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25295  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25296  		return r
 25297  	}()},
 25298  	{Ffc: func() (r struct{ Ffreq Ush }) {
 25299  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(19)
 25300  		return r
 25301  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25302  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25303  		return r
 25304  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25305  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(11)
 25306  		return r
 25307  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25308  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25309  		return r
 25310  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25311  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(27)
 25312  		return r
 25313  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25314  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25315  		return r
 25316  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25317  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(7)
 25318  		return r
 25319  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25320  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25321  		return r
 25322  	}()}, {Ffc: func() (r struct{ Ffreq Ush }) {
 25323  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(23)
 25324  		return r
 25325  	}(), Fdl: func() (r struct{ Fdad Ush }) {
 25326  		*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&r)) + 0)) = Ush(5)
 25327  		return r
 25328  	}()}} /* trees.h:64:21 */
 25329  
 25330  var X_dist_code = [512]Uch{
 25331  	Uch(0), Uch(1), Uch(2), Uch(3), Uch(4), Uch(4), Uch(5), Uch(5), Uch(6), Uch(6), Uch(6), Uch(6), Uch(7), Uch(7), Uch(7), Uch(7), Uch(8), Uch(8), Uch(8), Uch(8),
 25332  	Uch(8), Uch(8), Uch(8), Uch(8), Uch(9), Uch(9), Uch(9), Uch(9), Uch(9), Uch(9), Uch(9), Uch(9), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10),
 25333  	Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(10), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11), Uch(11),
 25334  	Uch(11), Uch(11), Uch(11), Uch(11), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12),
 25335  	Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(12), Uch(13), Uch(13), Uch(13), Uch(13),
 25336  	Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13),
 25337  	Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(13), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14),
 25338  	Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14),
 25339  	Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14),
 25340  	Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(14), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15),
 25341  	Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15),
 25342  	Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15),
 25343  	Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(15), Uch(0), Uch(0), Uch(16), Uch(17),
 25344  	Uch(18), Uch(18), Uch(19), Uch(19), Uch(20), Uch(20), Uch(20), Uch(20), Uch(21), Uch(21), Uch(21), Uch(21), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22),
 25345  	Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24),
 25346  	Uch(24), Uch(24), Uch(24), Uch(24), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25),
 25347  	Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26),
 25348  	Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27),
 25349  	Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27),
 25350  	Uch(27), Uch(27), Uch(27), Uch(27), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28),
 25351  	Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28),
 25352  	Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28),
 25353  	Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(28), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29),
 25354  	Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29),
 25355  	Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29),
 25356  	Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29), Uch(29),
 25357  } /* trees.h:73:25 */
 25358  
 25359  var X_length_code = [256]Uch{
 25360  	Uch(0), Uch(1), Uch(2), Uch(3), Uch(4), Uch(5), Uch(6), Uch(7), Uch(8), Uch(8), Uch(9), Uch(9), Uch(10), Uch(10), Uch(11), Uch(11), Uch(12), Uch(12), Uch(12), Uch(12),
 25361  	Uch(13), Uch(13), Uch(13), Uch(13), Uch(14), Uch(14), Uch(14), Uch(14), Uch(15), Uch(15), Uch(15), Uch(15), Uch(16), Uch(16), Uch(16), Uch(16), Uch(16), Uch(16), Uch(16), Uch(16),
 25362  	Uch(17), Uch(17), Uch(17), Uch(17), Uch(17), Uch(17), Uch(17), Uch(17), Uch(18), Uch(18), Uch(18), Uch(18), Uch(18), Uch(18), Uch(18), Uch(18), Uch(19), Uch(19), Uch(19), Uch(19),
 25363  	Uch(19), Uch(19), Uch(19), Uch(19), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20), Uch(20),
 25364  	Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(21), Uch(22), Uch(22), Uch(22), Uch(22),
 25365  	Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(22), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23),
 25366  	Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(23), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24),
 25367  	Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24), Uch(24),
 25368  	Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25),
 25369  	Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(25), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26),
 25370  	Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26), Uch(26),
 25371  	Uch(26), Uch(26), Uch(26), Uch(26), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27),
 25372  	Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(27), Uch(28),
 25373  } /* trees.h:102:25 */
 25374  
 25375  var base_length = [29]int32{
 25376  	0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56,
 25377  	64, 80, 96, 112, 128, 160, 192, 224, 0,
 25378  } /* trees.h:118:17 */
 25379  
 25380  var base_dist = [30]int32{
 25381  	0, 1, 2, 3, 4, 6, 8, 12, 16, 24,
 25382  	32, 48, 64, 96, 128, 192, 256, 384, 512, 768,
 25383  	1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576,
 25384  } /* trees.h:123:17 */
 25385  
 25386  var static_l_desc = Static_tree_desc{Fstatic_tree: 0, Fextra_bits: 0, Fextra_base: LITERALS + 1, Felems: LITERALS + 1 + LENGTH_CODES, Fmax_length: MAX_BITS} /* trees.c:125:31 */
 25387  
 25388  var static_d_desc = Static_tree_desc{Fstatic_tree: 0, Fextra_bits: 0, Felems: D_CODES, Fmax_length: MAX_BITS} /* trees.c:128:31 */
 25389  
 25390  var static_bl_desc = Static_tree_desc{Fextra_bits: 0, Felems: BL_CODES, Fmax_length: MAX_BL_BITS} /* trees.c:131:31 */
 25391  
 25392  // Send a code of the given tree. c and tree must not have side effects
 25393  
 25394  // ===========================================================================
 25395  // Output a short LSB first on the stream.
 25396  // IN assertion: there is enough room in pendingBuf.
 25397  
 25398  // ===========================================================================
 25399  // Send a value on a given number of bits.
 25400  // IN assertion: length <= 16 and value fits in length bits.
 25401  
 25402  // the arguments must not have side effects
 25403  
 25404  // ===========================================================================
 25405  // Initialize the various 'constant' tables.
 25406  func tr_static_init(tls *libc.TLS) { /* trees.c:232:12: */
 25407  }
 25408  
 25409  // ===========================================================================
 25410  // Genererate the file trees.h describing the static trees.
 25411  
 25412  // ===========================================================================
 25413  // Initialize the tree data structures for a new zlib stream.
 25414  func X_tr_init(tls *libc.TLS, s uintptr) { /* trees.c:379:20: */
 25415  	tr_static_init(tls)
 25416  
 25417  	(*Deflate_state)(unsafe.Pointer(s)).Fl_desc.Fdyn_tree = s + 212 /* &.dyn_ltree */
 25418  	(*Deflate_state)(unsafe.Pointer(s)).Fl_desc.Fstat_desc = uintptr(unsafe.Pointer(&static_l_desc))
 25419  
 25420  	(*Deflate_state)(unsafe.Pointer(s)).Fd_desc.Fdyn_tree = s + 2504 /* &.dyn_dtree */
 25421  	(*Deflate_state)(unsafe.Pointer(s)).Fd_desc.Fstat_desc = uintptr(unsafe.Pointer(&static_d_desc))
 25422  
 25423  	(*Deflate_state)(unsafe.Pointer(s)).Fbl_desc.Fdyn_tree = s + 2748 /* &.bl_tree */
 25424  	(*Deflate_state)(unsafe.Pointer(s)).Fbl_desc.Fstat_desc = uintptr(unsafe.Pointer(&static_bl_desc))
 25425  
 25426  	(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(0)
 25427  	(*Deflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
 25428  
 25429  	// Initialize the first block of the first file:
 25430  	init_block(tls, s)
 25431  }
 25432  
 25433  // ===========================================================================
 25434  // Initialize a new block.
 25435  func init_block(tls *libc.TLS, s uintptr) { /* trees.c:407:12: */
 25436  	var n int32 // iterates over tree elements
 25437  
 25438  	// Initialize the trees.
 25439  	for n = 0; n < LITERALS+1+LENGTH_CODES; n++ {
 25440  		*(*Ush)(unsafe.Pointer(s + 212 + uintptr(n)*4)) = Ush(0)
 25441  	}
 25442  	for n = 0; n < D_CODES; n++ {
 25443  		*(*Ush)(unsafe.Pointer(s + 2504 + uintptr(n)*4)) = Ush(0)
 25444  	}
 25445  	for n = 0; n < BL_CODES; n++ {
 25446  		*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(n)*4)) = Ush(0)
 25447  	}
 25448  
 25449  	*(*Ush)(unsafe.Pointer(s + 212 + 256*4)) = Ush(1)
 25450  	(*Deflate_state)(unsafe.Pointer(s)).Fopt_len = libc.AssignPtrUint64(s+5920, uint64(0))
 25451  	(*Deflate_state)(unsafe.Pointer(s)).Flast_lit = libc.AssignPtrUint32(s+5928, UInt(0))
 25452  }
 25453  
 25454  // Index within the heap array of least frequent node in the Huffman tree
 25455  
 25456  // ===========================================================================
 25457  // Remove the smallest element from the heap and recreate the heap with
 25458  // one less element. Updates heap and heap_len.
 25459  
 25460  // ===========================================================================
 25461  // Compares to subtrees, using the tree depth as tie breaker when
 25462  // the subtrees have equal frequency. This minimizes the worst case length.
 25463  
 25464  // ===========================================================================
 25465  // Restore the heap property by moving down the tree starting at node k,
 25466  // exchanging a node with the smallest of its two sons if necessary, stopping
 25467  // when the heap property is re-established (each father smaller than its
 25468  // two sons).
 25469  func pqdownheap(tls *libc.TLS, s uintptr, tree uintptr, k int32) { /* trees.c:451:12: */
 25470  	var v int32 = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4))
 25471  	var j int32 = k << 1 // left son of k
 25472  	for j <= (*Deflate_state)(unsafe.Pointer(s)).Fheap_len {
 25473  		// Set j to the smallest of the two sons:
 25474  		if j < (*Deflate_state)(unsafe.Pointer(s)).Fheap_len && (int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+1)*4)))*4))) < int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+1)*4)))*4))) == int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+1)*4)))))) <= int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))))))) {
 25475  			j++
 25476  		}
 25477  		// Exit if v is smaller than both sons
 25478  		if int32(*(*Ush)(unsafe.Pointer(tree + uintptr(v)*4))) < int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || int32(*(*Ush)(unsafe.Pointer(tree + uintptr(v)*4))) == int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(v)))) <= int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))))) {
 25479  			break
 25480  		}
 25481  
 25482  		// Exchange v with the smallest son
 25483  		*(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))
 25484  		k = j
 25485  
 25486  		// And continue down the tree, setting j to the left son of k
 25487  		j <<= 1
 25488  	}
 25489  	*(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = v
 25490  }
 25491  
 25492  // ===========================================================================
 25493  // Compute the optimal bit lengths for a tree and update the total bit length
 25494  // for the current block.
 25495  // IN assertion: the fields freq and dad are set, heap[heap_max] and
 25496  //    above are the tree nodes sorted by increasing frequency.
 25497  // OUT assertions: the field len is set to the optimal bit length, the
 25498  //     array bl_count contains the frequencies for each bit length.
 25499  //     The length opt_len is updated; static_len is also updated if stree is
 25500  //     not null.
 25501  func gen_bitlen(tls *libc.TLS, s uintptr, desc uintptr) { /* trees.c:486:12: */
 25502  	var tree uintptr = (*Tree_desc)(unsafe.Pointer(desc)).Fdyn_tree
 25503  	var max_code int32 = (*Tree_desc)(unsafe.Pointer(desc)).Fmax_code
 25504  	var stree uintptr = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
 25505  	var extra uintptr = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_bits
 25506  	var base int32 = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_base
 25507  	var max_length int32 = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fmax_length
 25508  	var h int32 // heap index
 25509  	var n int32
 25510  	var m int32            // iterate over the tree elements
 25511  	var bits int32         // bit length
 25512  	var xbits int32        // extra bits
 25513  	var f Ush              // frequency
 25514  	var overflow int32 = 0 // number of elements with bit length too large
 25515  
 25516  	for bits = 0; bits <= MAX_BITS; bits++ {
 25517  		*(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)) = Ush(0)
 25518  	}
 25519  
 25520  	// In a first pass, compute the optimal bit lengths (which may
 25521  	// overflow in the case of the bit length tree).
 25522  	*(*Ush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr((*Deflate_state)(unsafe.Pointer(s)).Fheap_max)*4)))*4 + 2)) = Ush(0) // root of the heap
 25523  
 25524  	for h = (*Deflate_state)(unsafe.Pointer(s)).Fheap_max + 1; h < 2*(LITERALS+1+LENGTH_CODES)+1; h++ {
 25525  		n = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(h)*4))
 25526  		bits = int32(*(*Ush)(unsafe.Pointer(tree + uintptr(*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))*4 + 2))) + 1
 25527  		if bits > max_length {
 25528  			bits = max_length
 25529  			overflow++
 25530  		}
 25531  		*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = Ush(bits)
 25532  		// We overwrite tree[n].Dad which is no longer needed
 25533  
 25534  		if n > max_code {
 25535  			continue
 25536  		} // not a leaf node
 25537  
 25538  		*(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))++
 25539  		xbits = 0
 25540  		if n >= base {
 25541  			xbits = *(*Intf)(unsafe.Pointer(extra + uintptr(n-base)*4))
 25542  		}
 25543  		f = *(*Ush)(unsafe.Pointer(tree + uintptr(n)*4))
 25544  		*(*Ulg)(unsafe.Pointer(s + 5912)) += Ulg(f) * Ulg(uint32(bits+xbits))
 25545  		if stree != 0 {
 25546  			*(*Ulg)(unsafe.Pointer(s + 5920)) += Ulg(f) * Ulg(uint32(int32(*(*Ush)(unsafe.Pointer(stree + uintptr(n)*4 + 2)))+xbits))
 25547  		}
 25548  	}
 25549  	if overflow == 0 {
 25550  		return
 25551  	}
 25552  
 25553  	// This happens for example on obj2 and pic of the Calgary corpus
 25554  
 25555  	// Find the first bit length which could increase:
 25556  	for ok := true; ok; ok = overflow > 0 {
 25557  		bits = max_length - 1
 25558  		for int32(*(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))) == 0 {
 25559  			bits--
 25560  		}
 25561  		*(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))--           // move one leaf down the tree
 25562  		*(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits+1)*2)) += Ush(2) // move one overflow item as its brother
 25563  		*(*Ush)(unsafe.Pointer(s + 2976 + uintptr(max_length)*2))--
 25564  		// The brother of the overflow item also moves one step up,
 25565  		// but this does not affect bl_count[max_length]
 25566  		overflow = overflow - 2
 25567  	}
 25568  
 25569  	// Now recompute all bit lengths, scanning in increasing frequency.
 25570  	// h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
 25571  	// lengths instead of fixing only the wrong ones. This idea is taken
 25572  	// from 'ar' written by Haruhiko Okumura.)
 25573  	for bits = max_length; bits != 0; bits-- {
 25574  		n = int32(*(*Ush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)))
 25575  		for n != 0 {
 25576  			m = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PreDecInt32(&h, 1))*4))
 25577  			if m > max_code {
 25578  				continue
 25579  			}
 25580  			if uint32(*(*Ush)(unsafe.Pointer(tree + uintptr(m)*4 + 2))) != uint32(bits) {
 25581  
 25582  				*(*Ulg)(unsafe.Pointer(s + 5912)) += (Ulg(bits) - Ulg(*(*Ush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)))) * Ulg(*(*Ush)(unsafe.Pointer(tree + uintptr(m)*4)))
 25583  				*(*Ush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = Ush(bits)
 25584  			}
 25585  			n--
 25586  		}
 25587  	}
 25588  }
 25589  
 25590  // ===========================================================================
 25591  // Generate the codes for a given tree and bit counts (which need not be
 25592  // optimal).
 25593  // IN assertion: the array bl_count contains the bit length statistics for
 25594  // the given tree and the field len is set for all tree elements.
 25595  // OUT assertion: the field code is set for all tree elements of non
 25596  //     zero code length.
 25597  func gen_codes(tls *libc.TLS, tree uintptr, max_code int32, bl_count uintptr) { /* trees.c:572:12: */
 25598  	bp := tls.Alloc(32)
 25599  	defer tls.Free(32)
 25600  
 25601  	// var next_code [16]Ush at bp, 32
 25602  	// next code value for each bit length
 25603  	var code uint32 = uint32(0) // running code value
 25604  	var bits int32              // bit index
 25605  	var n int32                 // code index
 25606  
 25607  	// The distribution counts are first used to generate the code values
 25608  	// without bit reversal.
 25609  	for bits = 1; bits <= MAX_BITS; bits++ {
 25610  		code = (code + uint32(*(*Ushf)(unsafe.Pointer(bl_count + uintptr(bits-1)*2)))) << 1
 25611  		*(*Ush)(unsafe.Pointer(bp + uintptr(bits)*2)) = Ush(code)
 25612  	}
 25613  	// Check that the bit counts in bl_count are consistent. The last code
 25614  	// must be all ones.
 25615  
 25616  	for n = 0; n <= max_code; n++ {
 25617  		var len int32 = int32(*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))
 25618  		if len == 0 {
 25619  			continue
 25620  		}
 25621  		// Now reverse the bits
 25622  		*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4)) = Ush(bi_reverse(tls, uint32(libc.PostIncUint16(&*(*Ush)(unsafe.Pointer(bp + uintptr(len)*2)), 1)), len))
 25623  
 25624  	}
 25625  }
 25626  
 25627  // ===========================================================================
 25628  // Construct one Huffman tree and assigns the code bit strings and lengths.
 25629  // Update the total bit length for the current block.
 25630  // IN assertion: the field freq is set for all tree elements.
 25631  // OUT assertions: the fields len and code are set to the optimal bit length
 25632  //     and corresponding code. The length opt_len is updated; static_len is
 25633  //     also updated if stree is not null. The field max_code is set.
 25634  func build_tree(tls *libc.TLS, s uintptr, desc uintptr) { /* trees.c:615:12: */
 25635  	var tree uintptr = (*Tree_desc)(unsafe.Pointer(desc)).Fdyn_tree
 25636  	var stree uintptr = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
 25637  	var elems int32 = (*Static_tree_desc)(unsafe.Pointer((*Tree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Felems
 25638  	var n int32
 25639  	var m int32             // iterate over heap elements
 25640  	var max_code int32 = -1 // largest code with non zero frequency
 25641  	var node int32          // new node being created
 25642  
 25643  	// Construct the initial heap, with least frequent element in
 25644  	// heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
 25645  	// heap[0] is not used.
 25646  	(*Deflate_state)(unsafe.Pointer(s)).Fheap_len = 0
 25647  	(*Deflate_state)(unsafe.Pointer(s)).Fheap_max = 2*(LITERALS+1+LENGTH_CODES) + 1
 25648  
 25649  	for n = 0; n < elems; n++ {
 25650  		if int32(*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4))) != 0 {
 25651  			*(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PreIncInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_len, 1))*4)) = libc.AssignInt32(&max_code, n)
 25652  			*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(n))) = Uch(0)
 25653  		} else {
 25654  			*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = Ush(0)
 25655  		}
 25656  	}
 25657  
 25658  	// The pkzip format requires that at least one distance code exists,
 25659  	// and that at least one bit should be sent even if there is only one
 25660  	// possible code. So to avoid special checks later on we force at least
 25661  	// two codes of non zero frequency.
 25662  	for (*Deflate_state)(unsafe.Pointer(s)).Fheap_len < 2 {
 25663  		node = libc.AssignPtrInt32(s+3008+uintptr(libc.PreIncInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_len, 1))*4, func() int32 {
 25664  			if max_code < 2 {
 25665  				return libc.PreIncInt32(&max_code, 1)
 25666  			}
 25667  			return 0
 25668  		}())
 25669  		*(*Ush)(unsafe.Pointer(tree + uintptr(node)*4)) = Ush(1)
 25670  		*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(node))) = Uch(0)
 25671  		(*Deflate_state)(unsafe.Pointer(s)).Fopt_len--
 25672  		if stree != 0 {
 25673  			*(*Ulg)(unsafe.Pointer(s + 5920)) -= Ulg(*(*Ush)(unsafe.Pointer(stree + uintptr(node)*4 + 2)))
 25674  		}
 25675  		// node is 0 or 1 so it does not have extra bits
 25676  	}
 25677  	(*Tree_desc)(unsafe.Pointer(desc)).Fmax_code = max_code
 25678  
 25679  	// The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
 25680  	// establish sub-heaps of increasing lengths:
 25681  	for n = (*Deflate_state)(unsafe.Pointer(s)).Fheap_len / 2; n >= 1; n-- {
 25682  		pqdownheap(tls, s, tree, n)
 25683  	}
 25684  
 25685  	// Construct the Huffman tree by repeatedly combining the least two
 25686  	// frequent nodes.
 25687  	node = elems // next internal node of the tree
 25688  	for ok := true; ok; ok = (*Deflate_state)(unsafe.Pointer(s)).Fheap_len >= 2 {
 25689  		{
 25690  			n = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
 25691  			*(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PostDecInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_len, 1))*4))
 25692  			pqdownheap(tls, s, tree, SMALLEST)
 25693  		}
 25694  		// n = node of least frequency
 25695  		m = *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) // m = node of next least frequency
 25696  
 25697  		*(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PreDecInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_max, 1))*4)) = n // keep the nodes sorted by frequency
 25698  		*(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PreDecInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_max, 1))*4)) = m
 25699  
 25700  		// Create a new node father of n and m
 25701  		*(*Ush)(unsafe.Pointer(tree + uintptr(node)*4)) = Ush(int32(*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4))) + int32(*(*Ush)(unsafe.Pointer(tree + uintptr(m)*4))))
 25702  		*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(node))) = Uch(func() int32 {
 25703  			if int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(n)))) >= int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(m)))) {
 25704  				return int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(n))))
 25705  			}
 25706  			return int32(*(*Uch)(unsafe.Pointer(s + 5308 + uintptr(m))))
 25707  		}() + 1)
 25708  		*(*Ush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = libc.AssignPtrUint16(tree+uintptr(m)*4+2, Ush(node))
 25709  		// and insert the new node in the heap
 25710  		*(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = libc.PostIncInt32(&node, 1)
 25711  		pqdownheap(tls, s, tree, SMALLEST)
 25712  
 25713  	}
 25714  
 25715  	*(*int32)(unsafe.Pointer(s + 3008 + uintptr(libc.PreDecInt32(&(*Deflate_state)(unsafe.Pointer(s)).Fheap_max, 1))*4)) = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
 25716  
 25717  	// At this point, the fields freq and dad are set. We can now
 25718  	// generate the bit lengths.
 25719  	gen_bitlen(tls, s, desc)
 25720  
 25721  	// The field len is now set, we can generate the bit codes
 25722  	gen_codes(tls, tree, max_code, s+2976)
 25723  }
 25724  
 25725  // ===========================================================================
 25726  // Scan a literal or distance tree to determine the frequencies of the codes
 25727  // in the bit length tree.
 25728  func scan_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) { /* trees.c:703:12: */
 25729  	var n int32                                                  // iterates over all tree elements
 25730  	var prevlen int32 = -1                                       // last emitted length
 25731  	var curlen int32                                             // length of current code
 25732  	var nextlen int32 = int32(*(*Ush)(unsafe.Pointer(tree + 2))) // length of next code
 25733  	var count int32 = 0                                          // repeat count of the current code
 25734  	var max_count int32 = 7                                      // max repeat count
 25735  	var min_count int32 = 4                                      // min repeat count
 25736  
 25737  	if nextlen == 0 {
 25738  		max_count = 138
 25739  		min_count = 3
 25740  	}
 25741  	*(*Ush)(unsafe.Pointer(tree + uintptr(max_code+1)*4 + 2)) = Ush(0xffff) // guard
 25742  
 25743  	for n = 0; n <= max_code; n++ {
 25744  		curlen = nextlen
 25745  		nextlen = int32(*(*Ush)(unsafe.Pointer(tree + uintptr(n+1)*4 + 2)))
 25746  		if libc.PreIncInt32(&count, 1) < max_count && curlen == nextlen {
 25747  			continue
 25748  		} else if count < min_count {
 25749  			*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)) += Ush(count)
 25750  		} else if curlen != 0 {
 25751  			if curlen != prevlen {
 25752  				*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))++
 25753  			}
 25754  			*(*Ush)(unsafe.Pointer(s + 2748 + 16*4))++
 25755  		} else if count <= 10 {
 25756  			*(*Ush)(unsafe.Pointer(s + 2748 + 17*4))++
 25757  		} else {
 25758  			*(*Ush)(unsafe.Pointer(s + 2748 + 18*4))++
 25759  		}
 25760  		count = 0
 25761  		prevlen = curlen
 25762  		if nextlen == 0 {
 25763  			max_count = 138
 25764  			min_count = 3
 25765  		} else if curlen == nextlen {
 25766  			max_count = 6
 25767  			min_count = 3
 25768  		} else {
 25769  			max_count = 7
 25770  			min_count = 4
 25771  		}
 25772  	}
 25773  }
 25774  
 25775  // ===========================================================================
 25776  // Send a literal or distance tree in compressed form, using the codes in
 25777  // bl_tree.
 25778  func send_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) { /* trees.c:748:12: */
 25779  	var n int32                                                  // iterates over all tree elements
 25780  	var prevlen int32 = -1                                       // last emitted length
 25781  	var curlen int32                                             // length of current code
 25782  	var nextlen int32 = int32(*(*Ush)(unsafe.Pointer(tree + 2))) // length of next code
 25783  	var count int32 = 0                                          // repeat count of the current code
 25784  	var max_count int32 = 7                                      // max repeat count
 25785  	var min_count int32 = 4                                      // min repeat count
 25786  
 25787  	/* tree[max_code+1].Len = -1; */ // guard already set
 25788  	if nextlen == 0 {
 25789  		max_count = 138
 25790  		min_count = 3
 25791  	}
 25792  
 25793  	for n = 0; n <= max_code; n++ {
 25794  		curlen = nextlen
 25795  		nextlen = int32(*(*Ush)(unsafe.Pointer(tree + uintptr(n+1)*4 + 2)))
 25796  		if libc.PreIncInt32(&count, 1) < max_count && curlen == nextlen {
 25797  			continue
 25798  		} else if count < min_count {
 25799  			for ok := true; ok; ok = libc.PreDecInt32(&count, 1) != 0 {
 25800  				{
 25801  					var len int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
 25802  					if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 25803  						var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
 25804  						*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25805  						{
 25806  							{
 25807  								*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 25808  							}
 25809  							{
 25810  								*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 25811  							}
 25812  
 25813  						}
 25814  						(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 25815  						*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 25816  					} else {
 25817  						*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25818  						*(*int32)(unsafe.Pointer(s + 5940)) += len
 25819  					}
 25820  				}
 25821  			}
 25822  
 25823  		} else if curlen != 0 {
 25824  			if curlen != prevlen {
 25825  				{
 25826  					var len int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
 25827  					if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 25828  						var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
 25829  						*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25830  						{
 25831  							{
 25832  								*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 25833  							}
 25834  							{
 25835  								*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 25836  							}
 25837  
 25838  						}
 25839  						(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 25840  						*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 25841  					} else {
 25842  						*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25843  						*(*int32)(unsafe.Pointer(s + 5940)) += len
 25844  					}
 25845  				}
 25846  				count--
 25847  			}
 25848  
 25849  			{
 25850  				var len int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 16*4 + 2)))
 25851  				if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 25852  					var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 16*4)))
 25853  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25854  					{
 25855  						{
 25856  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 25857  						}
 25858  						{
 25859  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 25860  						}
 25861  
 25862  					}
 25863  					(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 25864  					*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 25865  				} else {
 25866  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + 16*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25867  					*(*int32)(unsafe.Pointer(s + 5940)) += len
 25868  				}
 25869  			}
 25870  			{
 25871  				var len int32 = 2
 25872  				if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 25873  					var val int32 = count - 3
 25874  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25875  					{
 25876  						{
 25877  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 25878  						}
 25879  						{
 25880  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 25881  						}
 25882  
 25883  					}
 25884  					(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 25885  					*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 25886  				} else {
 25887  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(count-3)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25888  					*(*int32)(unsafe.Pointer(s + 5940)) += len
 25889  				}
 25890  			}
 25891  
 25892  		} else if count <= 10 {
 25893  			{
 25894  				var len int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 17*4 + 2)))
 25895  				if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 25896  					var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 17*4)))
 25897  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25898  					{
 25899  						{
 25900  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 25901  						}
 25902  						{
 25903  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 25904  						}
 25905  
 25906  					}
 25907  					(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 25908  					*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 25909  				} else {
 25910  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + 17*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25911  					*(*int32)(unsafe.Pointer(s + 5940)) += len
 25912  				}
 25913  			}
 25914  			{
 25915  				var len int32 = 3
 25916  				if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 25917  					var val int32 = count - 3
 25918  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25919  					{
 25920  						{
 25921  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 25922  						}
 25923  						{
 25924  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 25925  						}
 25926  
 25927  					}
 25928  					(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 25929  					*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 25930  				} else {
 25931  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(count-3)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25932  					*(*int32)(unsafe.Pointer(s + 5940)) += len
 25933  				}
 25934  			}
 25935  
 25936  		} else {
 25937  			{
 25938  				var len int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 18*4 + 2)))
 25939  				if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 25940  					var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + 18*4)))
 25941  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25942  					{
 25943  						{
 25944  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 25945  						}
 25946  						{
 25947  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 25948  						}
 25949  
 25950  					}
 25951  					(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 25952  					*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 25953  				} else {
 25954  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + 18*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25955  					*(*int32)(unsafe.Pointer(s + 5940)) += len
 25956  				}
 25957  			}
 25958  			{
 25959  				var len int32 = 7
 25960  				if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 25961  					var val int32 = count - 11
 25962  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25963  					{
 25964  						{
 25965  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 25966  						}
 25967  						{
 25968  							*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 25969  						}
 25970  
 25971  					}
 25972  					(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 25973  					*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 25974  				} else {
 25975  					*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(count-11)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 25976  					*(*int32)(unsafe.Pointer(s + 5940)) += len
 25977  				}
 25978  			}
 25979  
 25980  		}
 25981  		count = 0
 25982  		prevlen = curlen
 25983  		if nextlen == 0 {
 25984  			max_count = 138
 25985  			min_count = 3
 25986  		} else if curlen == nextlen {
 25987  			max_count = 6
 25988  			min_count = 3
 25989  		} else {
 25990  			max_count = 7
 25991  			min_count = 4
 25992  		}
 25993  	}
 25994  }
 25995  
 25996  // ===========================================================================
 25997  // Construct the Huffman tree for the bit lengths and return the index in
 25998  // bl_order of the last bit length code to send.
 25999  func build_bl_tree(tls *libc.TLS, s uintptr) int32 { /* trees.c:799:11: */
 26000  	var max_blindex int32 // index of last bit length code of non zero freq
 26001  
 26002  	// Determine the bit length frequencies for literal and distance trees
 26003  	scan_tree(tls, s, s+212 /* &.dyn_ltree */, (*Deflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code)
 26004  	scan_tree(tls, s, s+2504 /* &.dyn_dtree */, (*Deflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code)
 26005  
 26006  	// Build the bit length tree:
 26007  	build_tree(tls, s, s+2952)
 26008  	// opt_len now includes the length of the tree representations, except
 26009  	// the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
 26010  
 26011  	// Determine the number of bit length codes to send. The pkzip format
 26012  	// requires that at least 4 bit length codes be sent. (appnote.txt says
 26013  	// 3 but the actual value used is 4.)
 26014  	for max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex-- {
 26015  		if int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(bl_order[max_blindex])*4 + 2))) != 0 {
 26016  			break
 26017  		}
 26018  	}
 26019  	// Update opt_len to include the bit length tree and counts
 26020  	*(*Ulg)(unsafe.Pointer(s + 5912)) += uint64(3)*(Ulg(max_blindex)+uint64(1)) + uint64(5) + uint64(5) + uint64(4)
 26021  
 26022  	return max_blindex
 26023  }
 26024  
 26025  // ===========================================================================
 26026  // Send the header for a block using dynamic Huffman trees: the counts, the
 26027  // lengths of the bit length codes, the literal tree and the distance tree.
 26028  // IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
 26029  func send_all_trees(tls *libc.TLS, s uintptr, lcodes int32, dcodes int32, blcodes int32) { /* trees.c:834:12: */
 26030  	var rank int32 // index in bl_order
 26031  
 26032  	{
 26033  		var len int32 = 5
 26034  		if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26035  			var val int32 = lcodes - 257
 26036  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26037  			{
 26038  				{
 26039  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26040  				}
 26041  				{
 26042  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26043  				}
 26044  
 26045  			}
 26046  			(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26047  			*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26048  		} else {
 26049  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(lcodes-257)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26050  			*(*int32)(unsafe.Pointer(s + 5940)) += len
 26051  		}
 26052  	}
 26053  	/* not +255 as stated in appnote.txt */
 26054  	{
 26055  		var len int32 = 5
 26056  		if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26057  			var val int32 = dcodes - 1
 26058  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26059  			{
 26060  				{
 26061  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26062  				}
 26063  				{
 26064  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26065  				}
 26066  
 26067  			}
 26068  			(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26069  			*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26070  		} else {
 26071  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(dcodes-1)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26072  			*(*int32)(unsafe.Pointer(s + 5940)) += len
 26073  		}
 26074  	}
 26075  
 26076  	{
 26077  		var len int32 = 4
 26078  		if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26079  			var val int32 = blcodes - 4
 26080  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26081  			{
 26082  				{
 26083  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26084  				}
 26085  				{
 26086  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26087  				}
 26088  
 26089  			}
 26090  			(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26091  			*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26092  		} else {
 26093  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(blcodes-4)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26094  			*(*int32)(unsafe.Pointer(s + 5940)) += len
 26095  		}
 26096  	}
 26097  	// not -3 as stated in appnote.txt
 26098  	for rank = 0; rank < blcodes; rank++ {
 26099  
 26100  		{
 26101  			var len int32 = 3
 26102  			if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26103  				var val int32 = int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(bl_order[rank])*4 + 2)))
 26104  				*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26105  				{
 26106  					{
 26107  						*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26108  					}
 26109  					{
 26110  						*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26111  					}
 26112  
 26113  				}
 26114  				(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26115  				*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26116  			} else {
 26117  				*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(s + 2748 + uintptr(bl_order[rank])*4 + 2))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26118  				*(*int32)(unsafe.Pointer(s + 5940)) += len
 26119  			}
 26120  		}
 26121  
 26122  	}
 26123  
 26124  	send_tree(tls, s, s+212 /* &.dyn_ltree */, lcodes-1) // literal tree
 26125  
 26126  	send_tree(tls, s, s+2504 /* &.dyn_dtree */, dcodes-1) // distance tree
 26127  
 26128  }
 26129  
 26130  // ===========================================================================
 26131  // Send a stored block
 26132  func X_tr_stored_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Ulg, last int32) { /* trees.c:863:20: */
 26133  	{
 26134  		var len int32 = 3
 26135  		if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26136  			var val int32 = int32(STORED_BLOCK)<<1 + last
 26137  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26138  			{
 26139  				{
 26140  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26141  				}
 26142  				{
 26143  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26144  				}
 26145  
 26146  			}
 26147  			(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26148  			*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26149  		} else {
 26150  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(int32(STORED_BLOCK)<<1+last)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26151  			*(*int32)(unsafe.Pointer(s + 5940)) += len
 26152  		}
 26153  	}
 26154  	// send block type
 26155  	bi_windup(tls, s) /* align on byte boundary */
 26156  	{
 26157  		{
 26158  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32(Ush(stored_len)) & 0xff)
 26159  		}
 26160  		{
 26161  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32(Ush(stored_len)) >> 8)
 26162  		}
 26163  
 26164  	}
 26165  
 26166  	{
 26167  		{
 26168  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32(Ush(^stored_len)) & 0xff)
 26169  		}
 26170  		{
 26171  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32(Ush(^stored_len)) >> 8)
 26172  		}
 26173  
 26174  	}
 26175  
 26176  	libc.X__builtin___memcpy_chk(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), buf, stored_len, libc.X__builtin_object_size(tls, (*Deflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Deflate_state)(unsafe.Pointer(s)).Fpending), 0))
 26177  	*(*Ulg)(unsafe.Pointer(s + 40)) += stored_len
 26178  }
 26179  
 26180  // ===========================================================================
 26181  // Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
 26182  func X_tr_flush_bits(tls *libc.TLS, s uintptr) { /* trees.c:886:20: */
 26183  	bi_flush(tls, s)
 26184  }
 26185  
 26186  // ===========================================================================
 26187  // Send one empty static block to give enough lookahead for inflate.
 26188  // This takes 10 bits, of which 7 may remain in the bit buffer.
 26189  func X_tr_align(tls *libc.TLS, s uintptr) { /* trees.c:896:20: */
 26190  	{
 26191  		var len int32 = 3
 26192  		if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26193  			var val int32 = int32(STATIC_TREES) << 1
 26194  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26195  			{
 26196  				{
 26197  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26198  				}
 26199  				{
 26200  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26201  				}
 26202  
 26203  			}
 26204  			(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26205  			*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26206  		} else {
 26207  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(int32(Ush(int32(STATIC_TREES)<<1))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26208  			*(*int32)(unsafe.Pointer(s + 5940)) += len
 26209  		}
 26210  	}
 26211  
 26212  	{
 26213  		var len int32 = int32(*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_ltree)) + 256*4 + 2)))
 26214  		if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26215  			var val int32 = int32(*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_ltree)) + 256*4)))
 26216  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26217  			{
 26218  				{
 26219  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26220  				}
 26221  				{
 26222  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26223  				}
 26224  
 26225  			}
 26226  			(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26227  			*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26228  		} else {
 26229  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_ltree)) + 256*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26230  			*(*int32)(unsafe.Pointer(s + 5940)) += len
 26231  		}
 26232  	}
 26233  
 26234  	bi_flush(tls, s)
 26235  }
 26236  
 26237  // ===========================================================================
 26238  // Determine the best encoding for the current block: dynamic trees, static
 26239  // trees or store, and write out the encoded block.
 26240  func X_tr_flush_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Ulg, last int32) { /* trees.c:911:20: */
 26241  	var opt_lenb Ulg
 26242  	var static_lenb Ulg       // opt_len and static_len in bytes
 26243  	var max_blindex int32 = 0 // index of last bit length code of non zero freq
 26244  
 26245  	// Build the Huffman trees unless a stored block is forced
 26246  	if (*Deflate_state)(unsafe.Pointer(s)).Flevel > 0 {
 26247  
 26248  		// Check if the file is binary or text
 26249  		if (*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type == Z_UNKNOWN {
 26250  			(*Z_stream)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type = detect_data_type(tls, s)
 26251  		}
 26252  
 26253  		// Construct the literal and distance trees
 26254  		build_tree(tls, s, s+2904)
 26255  
 26256  		build_tree(tls, s, s+2928)
 26257  
 26258  		// At this point, opt_len and static_len are the total bit lengths of
 26259  		// the compressed block data, excluding the tree representations.
 26260  
 26261  		// Build the bit length tree for the above two trees, and get the index
 26262  		// in bl_order of the last bit length code to send.
 26263  		max_blindex = build_bl_tree(tls, s)
 26264  
 26265  		// Determine the best encoding. Compute the block lengths in bytes.
 26266  		opt_lenb = ((*Deflate_state)(unsafe.Pointer(s)).Fopt_len + uint64(3) + uint64(7)) >> 3
 26267  		static_lenb = ((*Deflate_state)(unsafe.Pointer(s)).Fstatic_len + uint64(3) + uint64(7)) >> 3
 26268  
 26269  		if static_lenb <= opt_lenb {
 26270  			opt_lenb = static_lenb
 26271  		}
 26272  
 26273  	} else {
 26274  
 26275  		opt_lenb = libc.AssignUint64(&static_lenb, stored_len+uint64(5)) // force a stored block
 26276  	}
 26277  
 26278  	if stored_len+uint64(4) <= opt_lenb && buf != uintptr(0) {
 26279  		// 4: two words for the lengths
 26280  		// The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
 26281  		// Otherwise we can't have processed more than WSIZE input bytes since
 26282  		// the last block flush, because compression would have been
 26283  		// successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
 26284  		// transform a block into a stored block.
 26285  		X_tr_stored_block(tls, s, buf, stored_len, last)
 26286  
 26287  	} else if (*Deflate_state)(unsafe.Pointer(s)).Fstrategy == Z_FIXED || static_lenb == opt_lenb {
 26288  		{
 26289  			var len int32 = 3
 26290  			if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26291  				var val int32 = int32(STATIC_TREES)<<1 + last
 26292  				*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26293  				{
 26294  					{
 26295  						*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26296  					}
 26297  					{
 26298  						*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26299  					}
 26300  
 26301  				}
 26302  				(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26303  				*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26304  			} else {
 26305  				*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(int32(STATIC_TREES)<<1+last)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26306  				*(*int32)(unsafe.Pointer(s + 5940)) += len
 26307  			}
 26308  		}
 26309  
 26310  		compress_block(tls, s, uintptr(uintptr(unsafe.Pointer(&static_ltree))),
 26311  			uintptr(uintptr(unsafe.Pointer(&static_dtree))))
 26312  	} else {
 26313  		{
 26314  			var len int32 = 3
 26315  			if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26316  				var val int32 = int32(DYN_TREES)<<1 + last
 26317  				*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26318  				{
 26319  					{
 26320  						*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26321  					}
 26322  					{
 26323  						*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26324  					}
 26325  
 26326  				}
 26327  				(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26328  				*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26329  			} else {
 26330  				*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(int32(DYN_TREES)<<1+last)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26331  				*(*int32)(unsafe.Pointer(s + 5940)) += len
 26332  			}
 26333  		}
 26334  
 26335  		send_all_trees(tls, s, (*Deflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code+1, (*Deflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code+1,
 26336  			max_blindex+1)
 26337  		compress_block(tls, s, s+212, /* &.dyn_ltree */
 26338  			s+2504 /* &.dyn_dtree */)
 26339  	}
 26340  
 26341  	// The above check is made mod 2^32, for files larger than 512 MB
 26342  	// and uLong implemented on 32 bits.
 26343  	init_block(tls, s)
 26344  
 26345  	if last != 0 {
 26346  		bi_windup(tls, s)
 26347  	}
 26348  
 26349  }
 26350  
 26351  // ===========================================================================
 26352  // Save the match info and tally the frequency counts. Return true if
 26353  // the current block must be flushed.
 26354  func X_tr_tally(tls *libc.TLS, s uintptr, dist uint32, lc uint32) int32 { /* trees.c:1014:19: */
 26355  	*(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr((*Deflate_state)(unsafe.Pointer(s)).Flast_lit)*2)) = Ush(dist)
 26356  	*(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&(*Deflate_state)(unsafe.Pointer(s)).Flast_lit, 1)))) = Uch(lc)
 26357  	if dist == uint32(0) {
 26358  		// lc is the unmatched char
 26359  		*(*Ush)(unsafe.Pointer(s + 212 + uintptr(lc)*4))++
 26360  	} else {
 26361  		(*Deflate_state)(unsafe.Pointer(s)).Fmatches++
 26362  		// Here, lc is the match length - MIN_MATCH
 26363  		dist-- // dist = match distance - 1
 26364  
 26365  		*(*Ush)(unsafe.Pointer(s + 212 + uintptr(int32(X_length_code[lc])+LITERALS+1)*4))++
 26366  		*(*Ush)(unsafe.Pointer(s + 2504 + uintptr(func() int32 {
 26367  			if dist < uint32(256) {
 26368  				return int32(X_dist_code[dist])
 26369  			}
 26370  			return int32(X_dist_code[uint32(256)+dist>>7])
 26371  		}())*4))++
 26372  	}
 26373  
 26374  	return libc.Bool32((*Deflate_state)(unsafe.Pointer(s)).Flast_lit == (*Deflate_state)(unsafe.Pointer(s)).Flit_bufsize-UInt(1))
 26375  	// We avoid equality with lit_bufsize because of wraparound at 64K
 26376  	// on 16 bit machines and because stored blocks are restricted to
 26377  	// 64K-1 bytes.
 26378  }
 26379  
 26380  // ===========================================================================
 26381  // Send the block data compressed using the given Huffman trees
 26382  func compress_block(tls *libc.TLS, s uintptr, ltree uintptr, dtree uintptr) { /* trees.c:1064:12: */
 26383  	var dist uint32           // distance of matched string
 26384  	var lc int32              // match length or unmatched char (if dist == 0)
 26385  	var lx uint32 = uint32(0) // running index in l_buf
 26386  	var code uint32           // the code to send
 26387  	var extra int32           // number of extra bits to send
 26388  
 26389  	if (*Deflate_state)(unsafe.Pointer(s)).Flast_lit != UInt(0) {
 26390  		for ok := true; ok; ok = lx < (*Deflate_state)(unsafe.Pointer(s)).Flast_lit {
 26391  			dist = uint32(*(*Ushf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fd_buf + uintptr(lx)*2)))
 26392  			lc = int32(*(*Uchf)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fl_buf + uintptr(libc.PostIncUint32(&lx, 1)))))
 26393  			if dist == uint32(0) {
 26394  				{
 26395  					var len int32 = int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(lc)*4 + 2)))
 26396  					if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26397  						var val int32 = int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(lc)*4)))
 26398  						*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26399  						{
 26400  							{
 26401  								*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26402  							}
 26403  							{
 26404  								*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26405  							}
 26406  
 26407  						}
 26408  						(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26409  						*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26410  					} else {
 26411  						*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(lc)*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26412  						*(*int32)(unsafe.Pointer(s + 5940)) += len
 26413  					}
 26414  				}
 26415  				// send a literal byte
 26416  
 26417  			} else {
 26418  				// Here, lc is the match length - MIN_MATCH
 26419  				code = uint32(X_length_code[lc])
 26420  				{
 26421  					var len int32 = int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(code+uint32(LITERALS)+uint32(1))*4 + 2)))
 26422  					if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26423  						var val int32 = int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(code+uint32(LITERALS)+uint32(1))*4)))
 26424  						*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26425  						{
 26426  							{
 26427  								*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26428  							}
 26429  							{
 26430  								*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26431  							}
 26432  
 26433  						}
 26434  						(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26435  						*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26436  					} else {
 26437  						*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(ltree + uintptr(code+uint32(LITERALS)+uint32(1))*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26438  						*(*int32)(unsafe.Pointer(s + 5940)) += len
 26439  					}
 26440  				}
 26441  				// send the length code
 26442  				extra = extra_lbits[code]
 26443  				if extra != 0 {
 26444  					lc = lc - base_length[code]
 26445  					{
 26446  						var len int32 = extra
 26447  						if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26448  							var val int32 = lc
 26449  							*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26450  							{
 26451  								{
 26452  									*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26453  								}
 26454  								{
 26455  									*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26456  								}
 26457  
 26458  							}
 26459  							(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26460  							*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26461  						} else {
 26462  							*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(lc)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26463  							*(*int32)(unsafe.Pointer(s + 5940)) += len
 26464  						}
 26465  					}
 26466  					// send the extra length bits
 26467  				}
 26468  				dist-- // dist is now the match distance - 1
 26469  				code = func() uint32 {
 26470  					if dist < uint32(256) {
 26471  						return uint32(X_dist_code[dist])
 26472  					}
 26473  					return uint32(X_dist_code[uint32(256)+dist>>7])
 26474  				}()
 26475  
 26476  				{
 26477  					var len int32 = int32(*(*Ush)(unsafe.Pointer(dtree + uintptr(code)*4 + 2)))
 26478  					if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26479  						var val int32 = int32(*(*Ush)(unsafe.Pointer(dtree + uintptr(code)*4)))
 26480  						*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26481  						{
 26482  							{
 26483  								*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26484  							}
 26485  							{
 26486  								*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26487  							}
 26488  
 26489  						}
 26490  						(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26491  						*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26492  					} else {
 26493  						*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(dtree + uintptr(code)*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26494  						*(*int32)(unsafe.Pointer(s + 5940)) += len
 26495  					}
 26496  				}
 26497  				// send the distance code
 26498  				extra = extra_dbits[code]
 26499  				if extra != 0 {
 26500  					dist = dist - uint32(base_dist[code])
 26501  					{
 26502  						var len int32 = extra
 26503  						if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26504  							var val int32 = int32(dist)
 26505  							*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26506  							{
 26507  								{
 26508  									*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26509  								}
 26510  								{
 26511  									*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26512  								}
 26513  
 26514  							}
 26515  							(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26516  							*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26517  						} else {
 26518  							*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(dist)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26519  							*(*int32)(unsafe.Pointer(s + 5940)) += len
 26520  						}
 26521  					}
 26522  					// send the extra distance bits
 26523  				}
 26524  			} // literal or match pair ?
 26525  
 26526  			// Check that the overlay between pending_buf and d_buf+l_buf is ok:
 26527  
 26528  		}
 26529  	}
 26530  
 26531  	{
 26532  		var len int32 = int32(*(*Ush)(unsafe.Pointer(ltree + 256*4 + 2)))
 26533  		if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > Buf_size-len {
 26534  			var val int32 = int32(*(*Ush)(unsafe.Pointer(ltree + 256*4)))
 26535  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(Ush(val)) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26536  			{
 26537  				{
 26538  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26539  				}
 26540  				{
 26541  					*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26542  				}
 26543  
 26544  			}
 26545  			(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(int32(Ush(val)) >> (Buf_size - (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid))
 26546  			*(*int32)(unsafe.Pointer(s + 5940)) += len - Buf_size
 26547  		} else {
 26548  			*(*Ush)(unsafe.Pointer(s + 5936)) |= Ush(int32(*(*Ush)(unsafe.Pointer(ltree + 256*4))) << (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid)
 26549  			*(*int32)(unsafe.Pointer(s + 5940)) += len
 26550  		}
 26551  	}
 26552  
 26553  }
 26554  
 26555  // ===========================================================================
 26556  // Check if the data type is TEXT or BINARY, using the following algorithm:
 26557  // - TEXT if the two conditions below are satisfied:
 26558  //    a) There are no non-portable control characters belonging to the
 26559  //       "black list" (0..6, 14..25, 28..31).
 26560  //    b) There is at least one printable character belonging to the
 26561  //       "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
 26562  // - BINARY otherwise.
 26563  // - The following partially-portable control characters form a
 26564  //   "gray list" that is ignored in this detection algorithm:
 26565  //   (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
 26566  // IN assertion: the fields Freq of dyn_ltree are set.
 26567  func detect_data_type(tls *libc.TLS, s uintptr) int32 { /* trees.c:1124:11: */
 26568  	// black_mask is the bit mask of black-listed bytes
 26569  	// set bits 0..6, 14..25, and 28..31
 26570  	// 0xf3ffc07f = binary 11110011111111111100000001111111
 26571  	var black_mask uint64 = 0xf3ffc07f
 26572  	var n int32
 26573  
 26574  	// Check for non-textual ("black-listed") bytes.
 26575  	n = 0
 26576  __1:
 26577  	if !(n <= 31) {
 26578  		goto __3
 26579  	}
 26580  	if black_mask&uint64(1) != 0 && int32(*(*Ush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
 26581  		return Z_BINARY
 26582  	}
 26583  	goto __2
 26584  __2:
 26585  	n++
 26586  	black_mask >>= 1
 26587  	goto __1
 26588  	goto __3
 26589  __3:
 26590  	;
 26591  
 26592  	// Check for textual ("white-listed") bytes.
 26593  	if int32(*(*Ush)(unsafe.Pointer(s + 212 + 9*4))) != 0 || int32(*(*Ush)(unsafe.Pointer(s + 212 + 10*4))) != 0 ||
 26594  		int32(*(*Ush)(unsafe.Pointer(s + 212 + 13*4))) != 0 {
 26595  		return Z_TEXT
 26596  	}
 26597  	for n = 32; n < LITERALS; n++ {
 26598  		if int32(*(*Ush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
 26599  			return Z_TEXT
 26600  		}
 26601  	}
 26602  
 26603  	// There are no "black-listed" or "white-listed" bytes:
 26604  	// this stream either is empty or has tolerated ("gray-listed") bytes only.
 26605  	return Z_BINARY
 26606  }
 26607  
 26608  // ===========================================================================
 26609  // Reverse the first len bits of a code, using straightforward code (a faster
 26610  // method would use a table)
 26611  // IN assertion: 1 <= len <= 15
 26612  func bi_reverse(tls *libc.TLS, code uint32, len int32) uint32 { /* trees.c:1158:16: */
 26613  	var res uint32 = uint32(0)
 26614  	for ok := true; ok; ok = libc.PreDecInt32(&len, 1) > 0 {
 26615  		res = res | code&uint32(1)
 26616  		code >>= 1
 26617  		res <<= 1
 26618  	}
 26619  	return res >> 1
 26620  }
 26621  
 26622  // ===========================================================================
 26623  // Flush the bit buffer, keeping at most 7 bits in it.
 26624  func bi_flush(tls *libc.TLS, s uintptr) { /* trees.c:1173:12: */
 26625  	if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid == 16 {
 26626  		{
 26627  			{
 26628  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26629  			}
 26630  			{
 26631  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26632  			}
 26633  
 26634  		}
 26635  
 26636  		(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(0)
 26637  		(*Deflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
 26638  	} else if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid >= 8 {
 26639  		{
 26640  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf)
 26641  		}
 26642  
 26643  		libc.AssignShrPtrUint16(s+5936, int(8))
 26644  		*(*int32)(unsafe.Pointer(s + 5940)) -= 8
 26645  	}
 26646  }
 26647  
 26648  // ===========================================================================
 26649  // Flush the bit buffer and align the output on a byte boundary
 26650  func bi_windup(tls *libc.TLS, s uintptr) { /* trees.c:1190:12: */
 26651  	if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > 8 {
 26652  		{
 26653  			{
 26654  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) & 0xff)
 26655  			}
 26656  			{
 26657  				*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Uch(int32((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf) >> 8)
 26658  			}
 26659  
 26660  		}
 26661  
 26662  	} else if (*Deflate_state)(unsafe.Pointer(s)).Fbi_valid > 0 {
 26663  		{
 26664  			*(*Bytef)(unsafe.Pointer((*Deflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(libc.PostIncUint64(&(*Deflate_state)(unsafe.Pointer(s)).Fpending, 1)))) = Byte((*Deflate_state)(unsafe.Pointer(s)).Fbi_buf)
 26665  		}
 26666  
 26667  	}
 26668  	(*Deflate_state)(unsafe.Pointer(s)).Fbi_buf = Ush(0)
 26669  	(*Deflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
 26670  }
 26671  
 26672  // ===========================================================================
 26673  //      Decompresses the source buffer into the destination buffer.  *sourceLen is
 26674  //    the byte length of the source buffer. Upon entry, *destLen is the total size
 26675  //    of the destination buffer, which must be large enough to hold the entire
 26676  //    uncompressed data. (The size of the uncompressed data must have been saved
 26677  //    previously by the compressor and transmitted to the decompressor by some
 26678  //    mechanism outside the scope of this compression library.) Upon exit,
 26679  //    *destLen is the size of the decompressed data and *sourceLen is the number
 26680  //    of source bytes consumed. Upon return, source + *sourceLen points to the
 26681  //    first unused input byte.
 26682  //
 26683  //      uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
 26684  //    memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
 26685  //    Z_DATA_ERROR if the input data was corrupted, including if the input data is
 26686  //    an incomplete zlib stream.
 26687  func Xuncompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen uintptr) int32 { /* uncompr.c:27:13: */
 26688  	bp := tls.Alloc(120)
 26689  	defer tls.Free(120)
 26690  
 26691  	// var stream Z_stream at bp+8, 112
 26692  
 26693  	var err int32
 26694  	var max UInt = libc.Uint32(libc.Uint32FromInt32(-1))
 26695  	var len ULong
 26696  	var left ULong
 26697  	// var buf [1]Byte at bp, 1
 26698  	// for detection of incomplete stream when *destLen == 0
 26699  
 26700  	len = *(*ULong)(unsafe.Pointer(sourceLen))
 26701  	if *(*ULongf)(unsafe.Pointer(destLen)) != 0 {
 26702  		left = *(*ULongf)(unsafe.Pointer(destLen))
 26703  		*(*ULongf)(unsafe.Pointer(destLen)) = uint64(0)
 26704  	} else {
 26705  		left = uint64(1)
 26706  		dest = bp /* &buf[0] */
 26707  	}
 26708  
 26709  	(*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Fnext_in = source
 26710  	(*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Favail_in = UInt(0)
 26711  	(*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Fzalloc = uintptr(0)
 26712  	(*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Fzfree = uintptr(0)
 26713  	(*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Fopaque = uintptr(0)
 26714  
 26715  	err = XinflateInit_(tls, bp+8, ts, int32(unsafe.Sizeof(Z_stream{})))
 26716  	if err != Z_OK {
 26717  		return err
 26718  	}
 26719  
 26720  	(*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Fnext_out = dest
 26721  	(*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Favail_out = UInt(0)
 26722  
 26723  	for ok := true; ok; ok = err == Z_OK {
 26724  		if (*Z_stream)(unsafe.Pointer(bp+8)).Favail_out == UInt(0) {
 26725  			(*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Favail_out = func() uint32 {
 26726  				if left > ULong(max) {
 26727  					return max
 26728  				}
 26729  				return UInt(left)
 26730  			}()
 26731  			left = left - ULong((*Z_stream)(unsafe.Pointer(bp+8)).Favail_out)
 26732  		}
 26733  		if (*Z_stream)(unsafe.Pointer(bp+8)).Favail_in == UInt(0) {
 26734  			(*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Favail_in = func() uint32 {
 26735  				if len > ULong(max) {
 26736  					return max
 26737  				}
 26738  				return UInt(len)
 26739  			}()
 26740  			len = len - ULong((*Z_stream)(unsafe.Pointer(bp+8)).Favail_in)
 26741  		}
 26742  		err = Xinflate(tls, bp+8, Z_NO_FLUSH)
 26743  	}
 26744  
 26745  	*(*ULong)(unsafe.Pointer(sourceLen)) -= len + ULong((*Z_stream)(unsafe.Pointer(bp+8)).Favail_in)
 26746  	if dest != bp {
 26747  		*(*ULongf)(unsafe.Pointer(destLen)) = (*Z_stream)(unsafe.Pointer(bp + 8 /* &stream */)).Ftotal_out
 26748  	} else if (*Z_stream)(unsafe.Pointer(bp+8)).Ftotal_out != 0 && err == -5 {
 26749  		left = uint64(1)
 26750  	}
 26751  
 26752  	XinflateEnd(tls, bp+8)
 26753  	if err == Z_STREAM_END {
 26754  		return Z_OK
 26755  	}
 26756  	if err == Z_NEED_DICT {
 26757  		return -3
 26758  	}
 26759  	if err == -5 && left+ULong((*Z_stream)(unsafe.Pointer(bp+8)).Favail_out) != 0 {
 26760  		return -3
 26761  	}
 26762  	return err
 26763  }
 26764  
 26765  func Xuncompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen ULong) int32 { /* uncompr.c:86:13: */
 26766  	bp := tls.Alloc(8)
 26767  	defer tls.Free(8)
 26768  	*(*ULong)(unsafe.Pointer(bp)) = sourceLen
 26769  
 26770  	return Xuncompress2(tls, dest, destLen, source, bp)
 26771  }
 26772  
 26773  // GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t
 26774  //    value -- needed when comparing unsigned to z_off64_t, which is signed
 26775  //    (possible z_off64_t types off_t, off64_t, and long are all signed)
 26776  
 26777  var Xz_errmsg = [10]uintptr{
 26778  	uintptr(ts + 876),
 26779  	uintptr(ts + 892),
 26780  	uintptr(ts + 101),
 26781  	uintptr(ts + 903),
 26782  	uintptr(ts + 914),
 26783  	uintptr(ts + 927),
 26784  	uintptr(ts + 938),
 26785  	uintptr(ts + 958),
 26786  	uintptr(ts + 971),
 26787  	uintptr(ts + 101),
 26788  } /* zutil.c:13:14 */
 26789  
 26790  func XzlibVersion(tls *libc.TLS) uintptr { /* zutil.c:27:12: */
 26791  	return ts /* "1.2.11" */
 26792  }
 26793  
 26794  func XzlibCompileFlags(tls *libc.TLS) ULong { /* zutil.c:32:15: */
 26795  	var flags ULong
 26796  
 26797  	flags = uint64(0)
 26798  	switch int32(unsafe.Sizeof(UInt(0))) {
 26799  	case 2:
 26800  		break
 26801  	case 4:
 26802  		flags = flags + uint64(1)
 26803  		break
 26804  	case 8:
 26805  		flags = flags + uint64(2)
 26806  		break
 26807  	default:
 26808  		flags = flags + uint64(3)
 26809  	}
 26810  	switch int32(unsafe.Sizeof(ULong(0))) {
 26811  	case 2:
 26812  		break
 26813  	case 4:
 26814  		flags = flags + uint64(int32(1)<<2)
 26815  		break
 26816  	case 8:
 26817  		flags = flags + uint64(int32(2)<<2)
 26818  		break
 26819  	default:
 26820  		flags = flags + uint64(int32(3)<<2)
 26821  	}
 26822  	switch int32(unsafe.Sizeof(Voidpf(0))) {
 26823  	case 2:
 26824  		break
 26825  	case 4:
 26826  		flags = flags + uint64(int32(1)<<4)
 26827  		break
 26828  	case 8:
 26829  		flags = flags + uint64(int32(2)<<4)
 26830  		break
 26831  	default:
 26832  		flags = flags + uint64(int32(3)<<4)
 26833  	}
 26834  	switch int32(unsafe.Sizeof(Off_t(0))) {
 26835  	case 2:
 26836  		break
 26837  	case 4:
 26838  		flags = flags + uint64(int32(1)<<6)
 26839  		break
 26840  	case 8:
 26841  		flags = flags + uint64(int32(2)<<6)
 26842  		break
 26843  	default:
 26844  		flags = flags + uint64(int32(3)<<6)
 26845  	}
 26846  	return flags
 26847  }
 26848  
 26849  // exported to allow conversion of error code to string for compress() and
 26850  // uncompress()
 26851  func XzError(tls *libc.TLS, err int32) uintptr { /* zutil.c:133:12: */
 26852  	return Xz_errmsg[Z_NEED_DICT-err]
 26853  }
 26854  
 26855  func Xzcalloc(tls *libc.TLS, opaque Voidpf, items uint32, size uint32) Voidpf { /* zutil.c:305:22: */
 26856  	_ = opaque
 26857  	if uint64(unsafe.Sizeof(UInt(0))) > uint64(2) {
 26858  		return libc.Xmalloc(tls, uint64(items*size))
 26859  	}
 26860  	return libc.Xcalloc(tls, uint64(items), uint64(size))
 26861  }
 26862  
 26863  func Xzcfree(tls *libc.TLS, opaque Voidpf, ptr Voidpf) { /* zutil.c:315:20: */
 26864  	_ = opaque
 26865  	libc.Xfree(tls, ptr)
 26866  }
 26867  
 26868  func init() {
 26869  	*(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 8)) = deflate_stored  // deflate.c:136:29:
 26870  	*(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 24)) = deflate_fast   // deflate.c:137:29:
 26871  	*(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 40)) = deflate_fast   // deflate.c:138:29:
 26872  	*(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 56)) = deflate_fast   // deflate.c:139:29:
 26873  	*(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 72)) = deflate_slow   // deflate.c:141:29:
 26874  	*(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 88)) = deflate_slow   // deflate.c:142:29:
 26875  	*(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 104)) = deflate_slow  // deflate.c:143:29:
 26876  	*(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 120)) = deflate_slow  // deflate.c:144:29:
 26877  	*(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 136)) = deflate_slow  // deflate.c:145:30:
 26878  	*(*func(*libc.TLS, uintptr, int32) Block_state)(unsafe.Pointer(uintptr(unsafe.Pointer(&configuration_table)) + 152)) = deflate_slow  // deflate.c:146:30:
 26879  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_bl_desc)) + 8 /* .extra_bits */)) = uintptr(unsafe.Pointer(&extra_blbits)) // trees.c:132:22:
 26880  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_d_desc)) + 0 /* .static_tree */)) = uintptr(unsafe.Pointer(&static_dtree)) // trees.c:129:2:
 26881  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_d_desc)) + 8 /* .extra_bits */)) = uintptr(unsafe.Pointer(&extra_dbits))   // trees.c:129:16:
 26882  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_l_desc)) + 0 /* .static_tree */)) = uintptr(unsafe.Pointer(&static_ltree)) // trees.c:126:2:
 26883  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&static_l_desc)) + 8 /* .extra_bits */)) = uintptr(unsafe.Pointer(&extra_lbits))   // trees.c:126:16:
 26884  }
 26885  
 26886  var ts1 = "1.2.11\x00 deflate 1.2.11 Copyright 1995-2017 Jean-loup Gailly and Mark Adler \x00%s\x00<fd:%d>\x00out of memory\x00\x00%s%s%s\x00: \x00unexpected end of file\x00internal error: inflate stream corrupt\x00compressed data error\x00request does not fit in an int\x00request does not fit in a size_t\x00out of room to push characters\x00internal error: deflate stream corrupt\x00requested length does not fit in int\x00invalid block type\x00invalid stored block lengths\x00too many length or distance symbols\x00invalid code lengths set\x00invalid bit length repeat\x00invalid code -- missing end-of-block\x00invalid literal/lengths set\x00invalid distances set\x00invalid literal/length code\x00invalid distance code\x00invalid distance too far back\x00incorrect header check\x00unknown compression method\x00invalid window size\x00unknown header flags set\x00header crc mismatch\x00incorrect data check\x00incorrect length check\x00 inflate 1.2.11 Copyright 1995-2017 Mark Adler \x00need dictionary\x00stream end\x00file error\x00stream error\x00data error\x00insufficient memory\x00buffer error\x00incompatible version\x00"
 26887  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data