diff options
Diffstat (limited to 'woip/c/indexer.i')
-rw-r--r-- | woip/c/indexer.i | 3883 |
1 files changed, 3883 insertions, 0 deletions
diff --git a/woip/c/indexer.i b/woip/c/indexer.i new file mode 100644 index 0000000..1c395ca --- /dev/null +++ b/woip/c/indexer.i @@ -0,0 +1,3883 @@ +# 1 "indexer.c" +# 1 "/home/cjb/git/wikipedia-iphone/c//" +# 1 "<built-in>" +# 1 "<command-line>" +# 1 "indexer.c" +# 1 "ternary.h" 1 +# 1 "/usr/include/sys/mman.h" 1 3 4 +# 23 "/usr/include/sys/mman.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 330 "/usr/include/features.h" 3 4 +# 1 "/usr/include/sys/cdefs.h" 1 3 4 +# 348 "/usr/include/sys/cdefs.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 349 "/usr/include/sys/cdefs.h" 2 3 4 +# 331 "/usr/include/features.h" 2 3 4 +# 354 "/usr/include/features.h" 3 4 +# 1 "/usr/include/gnu/stubs.h" 1 3 4 + + + +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 5 "/usr/include/gnu/stubs.h" 2 3 4 + + +# 1 "/usr/include/gnu/stubs-32.h" 1 3 4 +# 8 "/usr/include/gnu/stubs.h" 2 3 4 +# 355 "/usr/include/features.h" 2 3 4 +# 24 "/usr/include/sys/mman.h" 2 3 4 +# 1 "/usr/include/bits/types.h" 1 3 4 +# 28 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 29 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + + + + +__extension__ typedef signed long long int __int64_t; +__extension__ typedef unsigned long long int __uint64_t; + + + + + + + +__extension__ typedef long long int __quad_t; +__extension__ typedef unsigned long long int __u_quad_t; +# 131 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/typesizes.h" 1 3 4 +# 132 "/usr/include/bits/types.h" 2 3 4 + + +__extension__ typedef __u_quad_t __dev_t; +__extension__ typedef unsigned int __uid_t; +__extension__ typedef unsigned int __gid_t; +__extension__ typedef unsigned long int __ino_t; +__extension__ typedef __u_quad_t __ino64_t; +__extension__ typedef unsigned int __mode_t; +__extension__ typedef unsigned int __nlink_t; +__extension__ typedef long int __off_t; +__extension__ typedef __quad_t __off64_t; +__extension__ typedef int __pid_t; +__extension__ typedef struct { int __val[2]; } __fsid_t; +__extension__ typedef long int __clock_t; +__extension__ typedef unsigned long int __rlim_t; +__extension__ typedef __u_quad_t __rlim64_t; +__extension__ typedef unsigned int __id_t; +__extension__ typedef long int __time_t; +__extension__ typedef unsigned int __useconds_t; +__extension__ typedef long int __suseconds_t; + +__extension__ typedef int __daddr_t; +__extension__ typedef long int __swblk_t; +__extension__ typedef int __key_t; + + +__extension__ typedef int __clockid_t; + + +__extension__ typedef void * __timer_t; + + +__extension__ typedef long int __blksize_t; + + + + +__extension__ typedef long int __blkcnt_t; +__extension__ typedef __quad_t __blkcnt64_t; + + +__extension__ typedef unsigned long int __fsblkcnt_t; +__extension__ typedef __u_quad_t __fsblkcnt64_t; + + +__extension__ typedef unsigned long int __fsfilcnt_t; +__extension__ typedef __u_quad_t __fsfilcnt64_t; + +__extension__ typedef int __ssize_t; + + + +typedef __off64_t __loff_t; +typedef __quad_t *__qaddr_t; +typedef char *__caddr_t; + + +__extension__ typedef int __intptr_t; + + +__extension__ typedef unsigned int __socklen_t; +# 25 "/usr/include/sys/mman.h" 2 3 4 + +# 1 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h" 1 3 4 +# 214 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h" 3 4 +typedef unsigned int size_t; +# 27 "/usr/include/sys/mman.h" 2 3 4 + + + +typedef __off_t off_t; + + + + + + + +typedef __mode_t mode_t; + + + +# 1 "/usr/include/bits/mman.h" 1 3 4 +# 43 "/usr/include/sys/mman.h" 2 3 4 + + + + + +# 58 "/usr/include/sys/mman.h" 3 4 +extern void *mmap (void *__addr, size_t __len, int __prot, + int __flags, int __fd, __off_t __offset) __attribute__ ((__nothrow__)); +# 77 "/usr/include/sys/mman.h" 3 4 +extern int munmap (void *__addr, size_t __len) __attribute__ ((__nothrow__)); + + + + +extern int mprotect (void *__addr, size_t __len, int __prot) __attribute__ ((__nothrow__)); + + + + + + + +extern int msync (void *__addr, size_t __len, int __flags); + + + + +extern int madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__)); + + + +extern int posix_madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__)); + + + + +extern int mlock (__const void *__addr, size_t __len) __attribute__ ((__nothrow__)); + + +extern int munlock (__const void *__addr, size_t __len) __attribute__ ((__nothrow__)); + + + + +extern int mlockall (int __flags) __attribute__ ((__nothrow__)); + + + +extern int munlockall (void) __attribute__ ((__nothrow__)); + + + + + + + +extern int mincore (void *__start, size_t __len, unsigned char *__vec) + __attribute__ ((__nothrow__)); +# 145 "/usr/include/sys/mman.h" 3 4 +extern int shm_open (__const char *__name, int __oflag, mode_t __mode); + + +extern int shm_unlink (__const char *__name); + + +# 2 "ternary.h" 2 +# 1 "/usr/include/errno.h" 1 3 4 +# 32 "/usr/include/errno.h" 3 4 + + + + +# 1 "/usr/include/bits/errno.h" 1 3 4 +# 25 "/usr/include/bits/errno.h" 3 4 +# 1 "/usr/include/linux/errno.h" 1 3 4 + + + +# 1 "/usr/include/asm/errno.h" 1 3 4 +# 1 "/usr/include/asm-generic/errno.h" 1 3 4 + + + +# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 +# 5 "/usr/include/asm-generic/errno.h" 2 3 4 +# 1 "/usr/include/asm/errno.h" 2 3 4 +# 5 "/usr/include/linux/errno.h" 2 3 4 +# 26 "/usr/include/bits/errno.h" 2 3 4 +# 43 "/usr/include/bits/errno.h" 3 4 +extern int *__errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +# 37 "/usr/include/errno.h" 2 3 4 +# 59 "/usr/include/errno.h" 3 4 + +# 3 "ternary.h" 2 +# 1 "/usr/include/stdint.h" 1 3 4 +# 27 "/usr/include/stdint.h" 3 4 +# 1 "/usr/include/bits/wchar.h" 1 3 4 +# 28 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 29 "/usr/include/stdint.h" 2 3 4 +# 37 "/usr/include/stdint.h" 3 4 +typedef signed char int8_t; +typedef short int int16_t; +typedef int int32_t; + + + +__extension__ +typedef long long int int64_t; + + + + +typedef unsigned char uint8_t; +typedef unsigned short int uint16_t; + +typedef unsigned int uint32_t; + + + + + +__extension__ +typedef unsigned long long int uint64_t; + + + + + + +typedef signed char int_least8_t; +typedef short int int_least16_t; +typedef int int_least32_t; + + + +__extension__ +typedef long long int int_least64_t; + + + +typedef unsigned char uint_least8_t; +typedef unsigned short int uint_least16_t; +typedef unsigned int uint_least32_t; + + + +__extension__ +typedef unsigned long long int uint_least64_t; + + + + + + +typedef signed char int_fast8_t; + + + + + +typedef int int_fast16_t; +typedef int int_fast32_t; +__extension__ +typedef long long int int_fast64_t; + + + +typedef unsigned char uint_fast8_t; + + + + + +typedef unsigned int uint_fast16_t; +typedef unsigned int uint_fast32_t; +__extension__ +typedef unsigned long long int uint_fast64_t; +# 126 "/usr/include/stdint.h" 3 4 +typedef int intptr_t; + + +typedef unsigned int uintptr_t; +# 138 "/usr/include/stdint.h" 3 4 +__extension__ +typedef long long int intmax_t; +__extension__ +typedef unsigned long long int uintmax_t; +# 4 "ternary.h" 2 +# 1 "/usr/include/stdio.h" 1 3 4 +# 30 "/usr/include/stdio.h" 3 4 + + + + +# 1 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h" 1 3 4 +# 35 "/usr/include/stdio.h" 2 3 4 +# 45 "/usr/include/stdio.h" 3 4 +struct _IO_FILE; + + + +typedef struct _IO_FILE FILE; + + + + + +# 65 "/usr/include/stdio.h" 3 4 +typedef struct _IO_FILE __FILE; +# 75 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/libio.h" 1 3 4 +# 32 "/usr/include/libio.h" 3 4 +# 1 "/usr/include/_G_config.h" 1 3 4 +# 15 "/usr/include/_G_config.h" 3 4 +# 1 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h" 1 3 4 +# 16 "/usr/include/_G_config.h" 2 3 4 + + + + +# 1 "/usr/include/wchar.h" 1 3 4 +# 78 "/usr/include/wchar.h" 3 4 +typedef struct +{ + int __count; + union + { + + unsigned int __wch; + + + + char __wchb[4]; + } __value; +} __mbstate_t; +# 21 "/usr/include/_G_config.h" 2 3 4 + +typedef struct +{ + __off_t __pos; + __mbstate_t __state; +} _G_fpos_t; +typedef struct +{ + __off64_t __pos; + __mbstate_t __state; +} _G_fpos64_t; +# 53 "/usr/include/_G_config.h" 3 4 +typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); +typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); +typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); +typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); +# 33 "/usr/include/libio.h" 2 3 4 +# 53 "/usr/include/libio.h" 3 4 +# 1 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h" 1 3 4 +# 43 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 54 "/usr/include/libio.h" 2 3 4 +# 170 "/usr/include/libio.h" 3 4 +struct _IO_jump_t; struct _IO_FILE; +# 180 "/usr/include/libio.h" 3 4 +typedef void _IO_lock_t; + + + + + +struct _IO_marker { + struct _IO_marker *_next; + struct _IO_FILE *_sbuf; + + + + int _pos; +# 203 "/usr/include/libio.h" 3 4 +}; + + +enum __codecvt_result +{ + __codecvt_ok, + __codecvt_partial, + __codecvt_error, + __codecvt_noconv +}; +# 271 "/usr/include/libio.h" 3 4 +struct _IO_FILE { + int _flags; + + + + + char* _IO_read_ptr; + char* _IO_read_end; + char* _IO_read_base; + char* _IO_write_base; + char* _IO_write_ptr; + char* _IO_write_end; + char* _IO_buf_base; + char* _IO_buf_end; + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + + + + int _flags2; + + __off_t _old_offset; + + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + + + _IO_lock_t *_lock; +# 319 "/usr/include/libio.h" 3 4 + __off64_t _offset; +# 328 "/usr/include/libio.h" 3 4 + void *__pad1; + void *__pad2; + void *__pad3; + void *__pad4; + size_t __pad5; + + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; + +}; + + +typedef struct _IO_FILE _IO_FILE; + + +struct _IO_FILE_plus; + +extern struct _IO_FILE_plus _IO_2_1_stdin_; +extern struct _IO_FILE_plus _IO_2_1_stdout_; +extern struct _IO_FILE_plus _IO_2_1_stderr_; +# 364 "/usr/include/libio.h" 3 4 +typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); + + + + + + + +typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, + size_t __n); + + + + + + + +typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); + + +typedef int __io_close_fn (void *__cookie); +# 416 "/usr/include/libio.h" 3 4 +extern int __underflow (_IO_FILE *); +extern int __uflow (_IO_FILE *); +extern int __overflow (_IO_FILE *, int); +# 458 "/usr/include/libio.h" 3 4 +extern int _IO_getc (_IO_FILE *__fp); +extern int _IO_putc (int __c, _IO_FILE *__fp); +extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__)); +extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__)); + +extern int _IO_peekc_locked (_IO_FILE *__fp); + + + + + +extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__)); +extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__)); +extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__)); +# 488 "/usr/include/libio.h" 3 4 +extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, + __gnuc_va_list, int *__restrict); +extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, + __gnuc_va_list); +extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); +extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); + +extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); +extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); + +extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__)); +# 76 "/usr/include/stdio.h" 2 3 4 +# 89 "/usr/include/stdio.h" 3 4 + + +typedef _G_fpos_t fpos_t; + + + + +# 141 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 +# 142 "/usr/include/stdio.h" 2 3 4 + + + +extern struct _IO_FILE *stdin; +extern struct _IO_FILE *stdout; +extern struct _IO_FILE *stderr; + + + + + + + +extern int remove (__const char *__filename) __attribute__ ((__nothrow__)); + +extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__)); + + + + + + + + + + + + + + +extern FILE *tmpfile (void) ; +# 186 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ; + + + + + +extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ; +# 204 "/usr/include/stdio.h" 3 4 +extern char *tempnam (__const char *__dir, __const char *__pfx) + __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; + + + + + + + + +extern int fclose (FILE *__stream); + + + + +extern int fflush (FILE *__stream); + +# 229 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 243 "/usr/include/stdio.h" 3 4 + + + + + + +extern FILE *fopen (__const char *__restrict __filename, + __const char *__restrict __modes) ; + + + + +extern FILE *freopen (__const char *__restrict __filename, + __const char *__restrict __modes, + FILE *__restrict __stream) ; +# 272 "/usr/include/stdio.h" 3 4 + +# 283 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ; +# 304 "/usr/include/stdio.h" 3 4 + + + +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__)); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__)); + + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__)); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__)); + + + + + + + + +extern int fprintf (FILE *__restrict __stream, + __const char *__restrict __format, ...); + + + + +extern int printf (__const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, + __gnuc_va_list __arg); + + + + +extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, __const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + __const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + __const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); + +# 398 "/usr/include/stdio.h" 3 4 + + + + + +extern int fscanf (FILE *__restrict __stream, + __const char *__restrict __format, ...) ; + + + + +extern int scanf (__const char *__restrict __format, ...) ; + +extern int sscanf (__const char *__restrict __s, + __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); +# 441 "/usr/include/stdio.h" 3 4 + +# 504 "/usr/include/stdio.h" 3 4 + + + + + +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + + + + + +extern int getchar (void); + +# 528 "/usr/include/stdio.h" 3 4 +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +# 539 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream); + + + + + + + + + + + +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + + + + + +extern int putchar (int __c); + +# 572 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream); + + +extern int putw (int __w, FILE *__stream); + + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + ; + + + + + + +extern char *gets (char *__s) ; + +# 653 "/usr/include/stdio.h" 3 4 + + + + + +extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); + + + + + +extern int puts (__const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; + + + + +extern size_t fwrite (__const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) ; + +# 706 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; + + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence); + + + + +extern long int ftell (FILE *__stream) ; + + + + +extern void rewind (FILE *__stream); + +# 742 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence); + + + + +extern __off_t ftello (FILE *__stream) ; +# 761 "/usr/include/stdio.h" 3 4 + + + + + + +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); + + + + +extern int fsetpos (FILE *__stream, __const fpos_t *__pos); +# 784 "/usr/include/stdio.h" 3 4 + +# 793 "/usr/include/stdio.h" 3 4 + + +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ; + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ; + + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; + + + + + + + + +extern void perror (__const char *__s); + + + + + + +# 1 "/usr/include/bits/sys_errlist.h" 1 3 4 +# 27 "/usr/include/bits/sys_errlist.h" 3 4 +extern int sys_nerr; +extern __const char *__const sys_errlist[]; +# 823 "/usr/include/stdio.h" 2 3 4 + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ; + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; +# 842 "/usr/include/stdio.h" 3 4 +extern FILE *popen (__const char *__command, __const char *__modes) ; + + + + + +extern int pclose (FILE *__stream); + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); +# 882 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__)); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ; + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__)); +# 903 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio.h" 1 3 4 +# 36 "/usr/include/bits/stdio.h" 3 4 +extern __inline int +vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) +{ + return vfprintf (stdout, __fmt, __arg); +} + + + +extern __inline int +getchar (void) +{ + return _IO_getc (stdin); +} + + + + +extern __inline int +fgetc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + + + + +extern __inline int +getc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + +extern __inline int +getchar_unlocked (void) +{ + return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +} + + + + +extern __inline int +putchar (int __c) +{ + return _IO_putc (__c, stdout); +} + + + + +extern __inline int +fputc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline int +putc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + +extern __inline int +putchar_unlocked (int __c) +{ + return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); +} +# 125 "/usr/include/bits/stdio.h" 3 4 +extern __inline int +__attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x10) != 0); +} + + +extern __inline int +__attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x20) != 0); +} +# 904 "/usr/include/stdio.h" 2 3 4 +# 912 "/usr/include/stdio.h" 3 4 + +# 5 "ternary.h" 2 +# 1 "/usr/include/string.h" 1 3 4 +# 28 "/usr/include/string.h" 3 4 + + + + + +# 1 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 + + + + +extern void *memcpy (void *__restrict __dest, + __const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, __const void *__src, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memchr (__const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + +# 82 "/usr/include/string.h" 3 4 + + +extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + __const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, __const char *__restrict __src) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, __const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (__const char *__s1, __const char *__s2) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (__const char *__s1, __const char *__s2) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + __const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); + +# 130 "/usr/include/string.h" 3 4 +extern char *strdup (__const char *__s) + __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 165 "/usr/include/string.h" 3 4 + + +extern char *strchr (__const char *__s, int __c) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + +extern char *strrchr (__const char *__s, int __c) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + +# 181 "/usr/include/string.h" 3 4 + + + +extern size_t strcspn (__const char *__s, __const char *__reject) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (__const char *__s, __const char *__accept) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strpbrk (__const char *__s, __const char *__accept) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strstr (__const char *__haystack, __const char *__needle) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *strtok (char *__restrict __s, __const char *__restrict __delim) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); + + + + +extern char *__strtok_r (char *__restrict __s, + __const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); +# 240 "/usr/include/string.h" 3 4 + + +extern size_t strlen (__const char *__s) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + +# 254 "/usr/include/string.h" 3 4 + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__)); + +# 270 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +# 294 "/usr/include/string.h" 3 4 +extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + +extern void bcopy (__const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + +extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *index (__const char *__s, int __c) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + +extern char *rindex (__const char *__s, int __c) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + +extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); +# 331 "/usr/include/string.h" 3 4 +extern int strcasecmp (__const char *__s1, __const char *__s2) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 354 "/usr/include/string.h" 3 4 +extern char *strsep (char **__restrict __stringp, + __const char *__restrict __delim) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +# 420 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/string.h" 1 3 4 +# 421 "/usr/include/string.h" 2 3 4 + + +# 1 "/usr/include/bits/string2.h" 1 3 4 +# 52 "/usr/include/bits/string2.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 37 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/endian.h" 1 3 4 +# 38 "/usr/include/endian.h" 2 3 4 +# 53 "/usr/include/bits/string2.h" 2 3 4 +# 394 "/usr/include/bits/string2.h" 3 4 +extern void *__rawmemchr (const void *__s, int __c); +# 969 "/usr/include/bits/string2.h" 3 4 +extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); +extern __inline size_t +__strcspn_c1 (__const char *__s, int __reject) +{ + register size_t __result = 0; + while (__s[__result] != '\0' && __s[__result] != __reject) + ++__result; + return __result; +} + +extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, + int __reject2); +extern __inline size_t +__strcspn_c2 (__const char *__s, int __reject1, int __reject2) +{ + register size_t __result = 0; + while (__s[__result] != '\0' && __s[__result] != __reject1 + && __s[__result] != __reject2) + ++__result; + return __result; +} + +extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, + int __reject2, int __reject3); +extern __inline size_t +__strcspn_c3 (__const char *__s, int __reject1, int __reject2, + int __reject3) +{ + register size_t __result = 0; + while (__s[__result] != '\0' && __s[__result] != __reject1 + && __s[__result] != __reject2 && __s[__result] != __reject3) + ++__result; + return __result; +} +# 1045 "/usr/include/bits/string2.h" 3 4 +extern __inline size_t __strspn_c1 (__const char *__s, int __accept); +extern __inline size_t +__strspn_c1 (__const char *__s, int __accept) +{ + register size_t __result = 0; + + while (__s[__result] == __accept) + ++__result; + return __result; +} + +extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, + int __accept2); +extern __inline size_t +__strspn_c2 (__const char *__s, int __accept1, int __accept2) +{ + register size_t __result = 0; + + while (__s[__result] == __accept1 || __s[__result] == __accept2) + ++__result; + return __result; +} + +extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, + int __accept2, int __accept3); +extern __inline size_t +__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) +{ + register size_t __result = 0; + + while (__s[__result] == __accept1 || __s[__result] == __accept2 + || __s[__result] == __accept3) + ++__result; + return __result; +} +# 1121 "/usr/include/bits/string2.h" 3 4 +extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, + int __accept2); +extern __inline char * +__strpbrk_c2 (__const char *__s, int __accept1, int __accept2) +{ + + while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) + ++__s; + return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; +} + +extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, + int __accept2, int __accept3); +extern __inline char * +__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, + int __accept3) +{ + + while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 + && *__s != __accept3) + ++__s; + return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; +} +# 1173 "/usr/include/bits/string2.h" 3 4 +extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); +extern __inline char * +__strtok_r_1c (char *__s, char __sep, char **__nextp) +{ + char *__result; + if (__s == ((void *)0)) + __s = *__nextp; + while (*__s == __sep) + ++__s; + __result = ((void *)0); + if (*__s != '\0') + { + __result = __s++; + while (*__s != '\0') + if (*__s++ == __sep) + { + __s[-1] = '\0'; + break; + } + *__nextp = __s; + } + return __result; +} +# 1205 "/usr/include/bits/string2.h" 3 4 +extern char *__strsep_g (char **__stringp, __const char *__delim); +# 1223 "/usr/include/bits/string2.h" 3 4 +extern __inline char *__strsep_1c (char **__s, char __reject); +extern __inline char * +__strsep_1c (char **__s, char __reject) +{ + register char *__retval = *__s; + if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0)) + *(*__s)++ = '\0'; + return __retval; +} + +extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); +extern __inline char * +__strsep_2c (char **__s, char __reject1, char __reject2) +{ + register char *__retval = *__s; + if (__retval != ((void *)0)) + { + register char *__cp = __retval; + while (1) + { + if (*__cp == '\0') + { + __cp = ((void *)0); + break; + } + if (*__cp == __reject1 || *__cp == __reject2) + { + *__cp++ = '\0'; + break; + } + ++__cp; + } + *__s = __cp; + } + return __retval; +} + +extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, + char __reject3); +extern __inline char * +__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) +{ + register char *__retval = *__s; + if (__retval != ((void *)0)) + { + register char *__cp = __retval; + while (1) + { + if (*__cp == '\0') + { + __cp = ((void *)0); + break; + } + if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) + { + *__cp++ = '\0'; + break; + } + ++__cp; + } + *__s = __cp; + } + return __retval; +} +# 1299 "/usr/include/bits/string2.h" 3 4 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 33 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h" 1 3 4 +# 34 "/usr/include/stdlib.h" 2 3 4 + + +# 469 "/usr/include/stdlib.h" 3 4 + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; + +# 883 "/usr/include/stdlib.h" 3 4 + +# 1300 "/usr/include/bits/string2.h" 2 3 4 + + + + +extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); +# 1323 "/usr/include/bits/string2.h" 3 4 +extern char *__strndup (__const char *__string, size_t __n) + __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); +# 424 "/usr/include/string.h" 2 3 4 +# 432 "/usr/include/string.h" 3 4 + +# 6 "ternary.h" 2 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 33 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h" 1 3 4 +# 326 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h" 3 4 +typedef int wchar_t; +# 34 "/usr/include/stdlib.h" 2 3 4 + + +# 96 "/usr/include/stdlib.h" 3 4 + + +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + +# 140 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ; + + + + +extern double atof (__const char *__nptr) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern int atoi (__const char *__nptr) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern long int atol (__const char *__nptr) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + + +__extension__ extern long long int atoll (__const char *__nptr) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + + +extern double strtod (__const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + +# 182 "/usr/include/stdlib.h" 3 4 + + +extern long int strtol (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + +extern unsigned long int strtoul (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + + + + +__extension__ +extern long long int strtoq (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + +__extension__ +extern unsigned long long int strtouq (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + + + + + +__extension__ +extern long long int strtoll (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + +__extension__ +extern unsigned long long int strtoull (__const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + +# 277 "/usr/include/stdlib.h" 3 4 + +extern __inline double +__attribute__ ((__nothrow__)) atof (__const char *__nptr) +{ + return strtod (__nptr, (char **) ((void *)0)); +} +extern __inline int +__attribute__ ((__nothrow__)) atoi (__const char *__nptr) +{ + return (int) strtol (__nptr, (char **) ((void *)0), 10); +} +extern __inline long int +__attribute__ ((__nothrow__)) atol (__const char *__nptr) +{ + return strtol (__nptr, (char **) ((void *)0), 10); +} + + + + +__extension__ extern __inline long long int +__attribute__ ((__nothrow__)) atoll (__const char *__nptr) +{ + return strtoll (__nptr, (char **) ((void *)0), 10); +} + +# 311 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ; + + +extern long int a64l (__const char *__s) + __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + +# 1 "/usr/include/sys/types.h" 1 3 4 +# 29 "/usr/include/sys/types.h" 3 4 + + + + + + +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; + + + + +typedef __loff_t loff_t; + + + +typedef __ino_t ino_t; +# 62 "/usr/include/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; +# 77 "/usr/include/sys/types.h" 3 4 +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; +# 100 "/usr/include/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + +typedef __id_t id_t; + + + + +typedef __ssize_t ssize_t; + + + + + +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; +# 133 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/time.h" 1 3 4 +# 75 "/usr/include/time.h" 3 4 + + +typedef __time_t time_t; + + + +# 93 "/usr/include/time.h" 3 4 +typedef __clockid_t clockid_t; +# 105 "/usr/include/time.h" 3 4 +typedef __timer_t timer_t; +# 134 "/usr/include/sys/types.h" 2 3 4 +# 147 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h" 1 3 4 +# 148 "/usr/include/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; +# 201 "/usr/include/sys/types.h" 3 4 +typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); +typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); +typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); +typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 220 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/sys/select.h" 1 3 4 +# 31 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select.h" 1 3 4 +# 32 "/usr/include/sys/select.h" 2 3 4 + + +# 1 "/usr/include/bits/sigset.h" 1 3 4 +# 24 "/usr/include/bits/sigset.h" 3 4 +typedef int __sig_atomic_t; + + + + +typedef struct + { + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; + } __sigset_t; +# 35 "/usr/include/sys/select.h" 2 3 4 + + + +typedef __sigset_t sigset_t; + + + + + +# 1 "/usr/include/time.h" 1 3 4 +# 121 "/usr/include/time.h" 3 4 +struct timespec + { + __time_t tv_sec; + long int tv_nsec; + }; +# 45 "/usr/include/sys/select.h" 2 3 4 + +# 1 "/usr/include/bits/time.h" 1 3 4 +# 69 "/usr/include/bits/time.h" 3 4 +struct timeval + { + __time_t tv_sec; + __suseconds_t tv_usec; + }; +# 47 "/usr/include/sys/select.h" 2 3 4 + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 67 "/usr/include/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 99 "/usr/include/sys/select.h" 3 4 + +# 109 "/usr/include/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 121 "/usr/include/sys/select.h" 3 4 +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); + + + +# 221 "/usr/include/sys/types.h" 2 3 4 + + +# 1 "/usr/include/sys/sysmacros.h" 1 3 4 +# 30 "/usr/include/sys/sysmacros.h" 3 4 +__extension__ +extern unsigned int gnu_dev_major (unsigned long long int __dev) + __attribute__ ((__nothrow__)); +__extension__ +extern unsigned int gnu_dev_minor (unsigned long long int __dev) + __attribute__ ((__nothrow__)); +__extension__ +extern unsigned long long int gnu_dev_makedev (unsigned int __major, + unsigned int __minor) + __attribute__ ((__nothrow__)); + + +__extension__ extern __inline unsigned int +__attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev) +{ + return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); +} + +__extension__ extern __inline unsigned int +__attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev) +{ + return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); +} + +__extension__ extern __inline unsigned long long int +__attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor) +{ + return ((__minor & 0xff) | ((__major & 0xfff) << 8) + | (((unsigned long long int) (__minor & ~0xff)) << 12) + | (((unsigned long long int) (__major & ~0xfff)) << 32)); +} +# 224 "/usr/include/sys/types.h" 2 3 4 +# 235 "/usr/include/sys/types.h" 3 4 +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 270 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 +# 50 "/usr/include/bits/pthreadtypes.h" 3 4 +typedef unsigned long int pthread_t; + + +typedef union +{ + char __size[36]; + long int __align; +} pthread_attr_t; +# 67 "/usr/include/bits/pthreadtypes.h" 3 4 +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; + + + + + +typedef union +{ + struct __pthread_mutex_s + { + int __lock; + unsigned int __count; + int __owner; + + + + + + int __kind; + + + + + + unsigned int __nusers; + __extension__ union + { + int __spins; + __pthread_slist_t __list; + }; + + } __data; + char __size[24]; + long int __align; +} pthread_mutex_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + struct + { + int __lock; + unsigned int __futex; + __extension__ unsigned long long int __total_seq; + __extension__ unsigned long long int __wakeup_seq; + __extension__ unsigned long long int __woken_seq; + void *__mutex; + unsigned int __nwaiters; + unsigned int __broadcast_seq; + } __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + + + + +typedef union +{ +# 170 "/usr/include/bits/pthreadtypes.h" 3 4 + struct + { + int __lock; + unsigned int __nr_readers; + unsigned int __readers_wakeup; + unsigned int __writer_wakeup; + unsigned int __nr_readers_queued; + unsigned int __nr_writers_queued; + + + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; + int __writer; + } __data; + + char __size[32]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[20]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 271 "/usr/include/sys/types.h" 2 3 4 + + + +# 321 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int rand (void) __attribute__ ((__nothrow__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__)); + + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + unsigned long long int __a; + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +# 479 "/usr/include/stdlib.h" 3 4 + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); + +extern void free (void *__ptr) __attribute__ ((__nothrow__)); + + + + +extern void cfree (void *__ptr) __attribute__ ((__nothrow__)); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 25 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h" 1 3 4 +# 26 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); + + + + + + +# 498 "/usr/include/stdlib.h" 2 3 4 + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + + + + +extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); + +# 543 "/usr/include/stdlib.h" 3 4 + + +extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + + + + +extern char *__secure_getenv (__const char *__name) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + + + + + +extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (__const char *__name, __const char *__value, int __replace) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__)); +# 583 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +# 594 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; +# 614 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +# 640 "/usr/include/stdlib.h" 3 4 + + + + + +extern int system (__const char *__command) ; + +# 662 "/usr/include/stdlib.h" 3 4 +extern char *realpath (__const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__)) ; + + + + + + +typedef int (*__compar_fn_t) (__const void *, __const void *); + + + + + + + + + +extern void *bsearch (__const void *__key, __const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) ; + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); + + + +extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; +extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; + + + + + + + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; + +# 727 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + + + +extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ; + + +extern int mbtowc (wchar_t *__restrict __pwc, + __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ; + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ; + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); + +extern size_t wcstombs (char *__restrict __s, + __const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__)); + + + + + + + + +extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +# 832 "/usr/include/stdlib.h" 3 4 +extern int posix_openpt (int __oflag) ; +# 867 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +# 883 "/usr/include/stdlib.h" 3 4 + +# 7 "ternary.h" 2 +# 1 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdbool.h" 1 3 4 +# 8 "ternary.h" 2 +# 1 "/usr/include/unistd.h" 1 3 4 +# 28 "/usr/include/unistd.h" 3 4 + +# 173 "/usr/include/unistd.h" 3 4 +# 1 "/usr/include/bits/posix_opt.h" 1 3 4 +# 174 "/usr/include/unistd.h" 2 3 4 +# 197 "/usr/include/unistd.h" 3 4 +# 1 "/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h" 1 3 4 +# 198 "/usr/include/unistd.h" 2 3 4 +# 226 "/usr/include/unistd.h" 3 4 +typedef __useconds_t useconds_t; +# 245 "/usr/include/unistd.h" 3 4 +typedef __socklen_t socklen_t; +# 258 "/usr/include/unistd.h" 3 4 +extern int access (__const char *__name, int __type) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +# 301 "/usr/include/unistd.h" 3 4 +extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__)); +# 320 "/usr/include/unistd.h" 3 4 +extern int close (int __fd); + + + + + + +extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; + + + + + +extern ssize_t write (int __fd, __const void *__buf, size_t __n) ; +# 384 "/usr/include/unistd.h" 3 4 +extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__)) ; +# 393 "/usr/include/unistd.h" 3 4 +extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__)); +# 405 "/usr/include/unistd.h" 3 4 +extern unsigned int sleep (unsigned int __seconds); + + + + + + +extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) + __attribute__ ((__nothrow__)); + + + + + + +extern int usleep (__useconds_t __useconds); +# 429 "/usr/include/unistd.h" 3 4 +extern int pause (void); + + + +extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) ; + + + + +extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +# 457 "/usr/include/unistd.h" 3 4 +extern int chdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern int fchdir (int __fd) __attribute__ ((__nothrow__)) ; +# 471 "/usr/include/unistd.h" 3 4 +extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__)) ; +# 484 "/usr/include/unistd.h" 3 4 +extern char *getwd (char *__buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ; + + + + +extern int dup (int __fd) __attribute__ ((__nothrow__)) ; + + +extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__)); + + +extern char **__environ; + + + + + + + +extern int execve (__const char *__path, char *__const __argv[], + char *__const __envp[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +# 516 "/usr/include/unistd.h" 3 4 +extern int execv (__const char *__path, char *__const __argv[]) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + +extern int execle (__const char *__path, __const char *__arg, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + +extern int execl (__const char *__path, __const char *__arg, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + +extern int execvp (__const char *__file, char *__const __argv[]) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int execlp (__const char *__file, __const char *__arg, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int nice (int __inc) __attribute__ ((__nothrow__)) ; + + + + +extern void _exit (int __status) __attribute__ ((__noreturn__)); + + + + + +# 1 "/usr/include/bits/confname.h" 1 3 4 +# 26 "/usr/include/bits/confname.h" 3 4 +enum + { + _PC_LINK_MAX, + + _PC_MAX_CANON, + + _PC_MAX_INPUT, + + _PC_NAME_MAX, + + _PC_PATH_MAX, + + _PC_PIPE_BUF, + + _PC_CHOWN_RESTRICTED, + + _PC_NO_TRUNC, + + _PC_VDISABLE, + + _PC_SYNC_IO, + + _PC_ASYNC_IO, + + _PC_PRIO_IO, + + _PC_SOCK_MAXBUF, + + _PC_FILESIZEBITS, + + _PC_REC_INCR_XFER_SIZE, + + _PC_REC_MAX_XFER_SIZE, + + _PC_REC_MIN_XFER_SIZE, + + _PC_REC_XFER_ALIGN, + + _PC_ALLOC_SIZE_MIN, + + _PC_SYMLINK_MAX, + + _PC_2_SYMLINKS + + }; + + +enum + { + _SC_ARG_MAX, + + _SC_CHILD_MAX, + + _SC_CLK_TCK, + + _SC_NGROUPS_MAX, + + _SC_OPEN_MAX, + + _SC_STREAM_MAX, + + _SC_TZNAME_MAX, + + _SC_JOB_CONTROL, + + _SC_SAVED_IDS, + + _SC_REALTIME_SIGNALS, + + _SC_PRIORITY_SCHEDULING, + + _SC_TIMERS, + + _SC_ASYNCHRONOUS_IO, + + _SC_PRIORITIZED_IO, + + _SC_SYNCHRONIZED_IO, + + _SC_FSYNC, + + _SC_MAPPED_FILES, + + _SC_MEMLOCK, + + _SC_MEMLOCK_RANGE, + + _SC_MEMORY_PROTECTION, + + _SC_MESSAGE_PASSING, + + _SC_SEMAPHORES, + + _SC_SHARED_MEMORY_OBJECTS, + + _SC_AIO_LISTIO_MAX, + + _SC_AIO_MAX, + + _SC_AIO_PRIO_DELTA_MAX, + + _SC_DELAYTIMER_MAX, + + _SC_MQ_OPEN_MAX, + + _SC_MQ_PRIO_MAX, + + _SC_VERSION, + + _SC_PAGESIZE, + + + _SC_RTSIG_MAX, + + _SC_SEM_NSEMS_MAX, + + _SC_SEM_VALUE_MAX, + + _SC_SIGQUEUE_MAX, + + _SC_TIMER_MAX, + + + + + _SC_BC_BASE_MAX, + + _SC_BC_DIM_MAX, + + _SC_BC_SCALE_MAX, + + _SC_BC_STRING_MAX, + + _SC_COLL_WEIGHTS_MAX, + + _SC_EQUIV_CLASS_MAX, + + _SC_EXPR_NEST_MAX, + + _SC_LINE_MAX, + + _SC_RE_DUP_MAX, + + _SC_CHARCLASS_NAME_MAX, + + + _SC_2_VERSION, + + _SC_2_C_BIND, + + _SC_2_C_DEV, + + _SC_2_FORT_DEV, + + _SC_2_FORT_RUN, + + _SC_2_SW_DEV, + + _SC_2_LOCALEDEF, + + + _SC_PII, + + _SC_PII_XTI, + + _SC_PII_SOCKET, + + _SC_PII_INTERNET, + + _SC_PII_OSI, + + _SC_POLL, + + _SC_SELECT, + + _SC_UIO_MAXIOV, + + _SC_IOV_MAX = _SC_UIO_MAXIOV, + + _SC_PII_INTERNET_STREAM, + + _SC_PII_INTERNET_DGRAM, + + _SC_PII_OSI_COTS, + + _SC_PII_OSI_CLTS, + + _SC_PII_OSI_M, + + _SC_T_IOV_MAX, + + + + _SC_THREADS, + + _SC_THREAD_SAFE_FUNCTIONS, + + _SC_GETGR_R_SIZE_MAX, + + _SC_GETPW_R_SIZE_MAX, + + _SC_LOGIN_NAME_MAX, + + _SC_TTY_NAME_MAX, + + _SC_THREAD_DESTRUCTOR_ITERATIONS, + + _SC_THREAD_KEYS_MAX, + + _SC_THREAD_STACK_MIN, + + _SC_THREAD_THREADS_MAX, + + _SC_THREAD_ATTR_STACKADDR, + + _SC_THREAD_ATTR_STACKSIZE, + + _SC_THREAD_PRIORITY_SCHEDULING, + + _SC_THREAD_PRIO_INHERIT, + + _SC_THREAD_PRIO_PROTECT, + + _SC_THREAD_PROCESS_SHARED, + + + _SC_NPROCESSORS_CONF, + + _SC_NPROCESSORS_ONLN, + + _SC_PHYS_PAGES, + + _SC_AVPHYS_PAGES, + + _SC_ATEXIT_MAX, + + _SC_PASS_MAX, + + + _SC_XOPEN_VERSION, + + _SC_XOPEN_XCU_VERSION, + + _SC_XOPEN_UNIX, + + _SC_XOPEN_CRYPT, + + _SC_XOPEN_ENH_I18N, + + _SC_XOPEN_SHM, + + + _SC_2_CHAR_TERM, + + _SC_2_C_VERSION, + + _SC_2_UPE, + + + _SC_XOPEN_XPG2, + + _SC_XOPEN_XPG3, + + _SC_XOPEN_XPG4, + + + _SC_CHAR_BIT, + + _SC_CHAR_MAX, + + _SC_CHAR_MIN, + + _SC_INT_MAX, + + _SC_INT_MIN, + + _SC_LONG_BIT, + + _SC_WORD_BIT, + + _SC_MB_LEN_MAX, + + _SC_NZERO, + + _SC_SSIZE_MAX, + + _SC_SCHAR_MAX, + + _SC_SCHAR_MIN, + + _SC_SHRT_MAX, + + _SC_SHRT_MIN, + + _SC_UCHAR_MAX, + + _SC_UINT_MAX, + + _SC_ULONG_MAX, + + _SC_USHRT_MAX, + + + _SC_NL_ARGMAX, + + _SC_NL_LANGMAX, + + _SC_NL_MSGMAX, + + _SC_NL_NMAX, + + _SC_NL_SETMAX, + + _SC_NL_TEXTMAX, + + + _SC_XBS5_ILP32_OFF32, + + _SC_XBS5_ILP32_OFFBIG, + + _SC_XBS5_LP64_OFF64, + + _SC_XBS5_LPBIG_OFFBIG, + + + _SC_XOPEN_LEGACY, + + _SC_XOPEN_REALTIME, + + _SC_XOPEN_REALTIME_THREADS, + + + _SC_ADVISORY_INFO, + + _SC_BARRIERS, + + _SC_BASE, + + _SC_C_LANG_SUPPORT, + + _SC_C_LANG_SUPPORT_R, + + _SC_CLOCK_SELECTION, + + _SC_CPUTIME, + + _SC_THREAD_CPUTIME, + + _SC_DEVICE_IO, + + _SC_DEVICE_SPECIFIC, + + _SC_DEVICE_SPECIFIC_R, + + _SC_FD_MGMT, + + _SC_FIFO, + + _SC_PIPE, + + _SC_FILE_ATTRIBUTES, + + _SC_FILE_LOCKING, + + _SC_FILE_SYSTEM, + + _SC_MONOTONIC_CLOCK, + + _SC_MULTI_PROCESS, + + _SC_SINGLE_PROCESS, + + _SC_NETWORKING, + + _SC_READER_WRITER_LOCKS, + + _SC_SPIN_LOCKS, + + _SC_REGEXP, + + _SC_REGEX_VERSION, + + _SC_SHELL, + + _SC_SIGNALS, + + _SC_SPAWN, + + _SC_SPORADIC_SERVER, + + _SC_THREAD_SPORADIC_SERVER, + + _SC_SYSTEM_DATABASE, + + _SC_SYSTEM_DATABASE_R, + + _SC_TIMEOUTS, + + _SC_TYPED_MEMORY_OBJECTS, + + _SC_USER_GROUPS, + + _SC_USER_GROUPS_R, + + _SC_2_PBS, + + _SC_2_PBS_ACCOUNTING, + + _SC_2_PBS_LOCATE, + + _SC_2_PBS_MESSAGE, + + _SC_2_PBS_TRACK, + + _SC_SYMLOOP_MAX, + + _SC_STREAMS, + + _SC_2_PBS_CHECKPOINT, + + + _SC_V6_ILP32_OFF32, + + _SC_V6_ILP32_OFFBIG, + + _SC_V6_LP64_OFF64, + + _SC_V6_LPBIG_OFFBIG, + + + _SC_HOST_NAME_MAX, + + _SC_TRACE, + + _SC_TRACE_EVENT_FILTER, + + _SC_TRACE_INHERIT, + + _SC_TRACE_LOG, + + + _SC_LEVEL1_ICACHE_SIZE, + + _SC_LEVEL1_ICACHE_ASSOC, + + _SC_LEVEL1_ICACHE_LINESIZE, + + _SC_LEVEL1_DCACHE_SIZE, + + _SC_LEVEL1_DCACHE_ASSOC, + + _SC_LEVEL1_DCACHE_LINESIZE, + + _SC_LEVEL2_CACHE_SIZE, + + _SC_LEVEL2_CACHE_ASSOC, + + _SC_LEVEL2_CACHE_LINESIZE, + + _SC_LEVEL3_CACHE_SIZE, + + _SC_LEVEL3_CACHE_ASSOC, + + _SC_LEVEL3_CACHE_LINESIZE, + + _SC_LEVEL4_CACHE_SIZE, + + _SC_LEVEL4_CACHE_ASSOC, + + _SC_LEVEL4_CACHE_LINESIZE, + + + + _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, + + _SC_RAW_SOCKETS + + }; + + +enum + { + _CS_PATH, + + + _CS_V6_WIDTH_RESTRICTED_ENVS, + + + + _CS_GNU_LIBC_VERSION, + + _CS_GNU_LIBPTHREAD_VERSION, + + + _CS_LFS_CFLAGS = 1000, + + _CS_LFS_LDFLAGS, + + _CS_LFS_LIBS, + + _CS_LFS_LINTFLAGS, + + _CS_LFS64_CFLAGS, + + _CS_LFS64_LDFLAGS, + + _CS_LFS64_LIBS, + + _CS_LFS64_LINTFLAGS, + + + _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, + + _CS_XBS5_ILP32_OFF32_LDFLAGS, + + _CS_XBS5_ILP32_OFF32_LIBS, + + _CS_XBS5_ILP32_OFF32_LINTFLAGS, + + _CS_XBS5_ILP32_OFFBIG_CFLAGS, + + _CS_XBS5_ILP32_OFFBIG_LDFLAGS, + + _CS_XBS5_ILP32_OFFBIG_LIBS, + + _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, + + _CS_XBS5_LP64_OFF64_CFLAGS, + + _CS_XBS5_LP64_OFF64_LDFLAGS, + + _CS_XBS5_LP64_OFF64_LIBS, + + _CS_XBS5_LP64_OFF64_LINTFLAGS, + + _CS_XBS5_LPBIG_OFFBIG_CFLAGS, + + _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, + + _CS_XBS5_LPBIG_OFFBIG_LIBS, + + _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, + + + _CS_POSIX_V6_ILP32_OFF32_CFLAGS, + + _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, + + _CS_POSIX_V6_ILP32_OFF32_LIBS, + + _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, + + _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, + + _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, + + _CS_POSIX_V6_ILP32_OFFBIG_LIBS, + + _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, + + _CS_POSIX_V6_LP64_OFF64_CFLAGS, + + _CS_POSIX_V6_LP64_OFF64_LDFLAGS, + + _CS_POSIX_V6_LP64_OFF64_LIBS, + + _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, + + _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, + + _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, + + _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, + + _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS + + }; +# 555 "/usr/include/unistd.h" 2 3 4 + + +extern long int pathconf (__const char *__path, int __name) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + +extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__)); + + +extern long int sysconf (int __name) __attribute__ ((__nothrow__)); + + + +extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__)); + + + + +extern __pid_t getpid (void) __attribute__ ((__nothrow__)); + + +extern __pid_t getppid (void) __attribute__ ((__nothrow__)); + + + + +extern __pid_t getpgrp (void) __attribute__ ((__nothrow__)); +# 591 "/usr/include/unistd.h" 3 4 +extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__)); +# 600 "/usr/include/unistd.h" 3 4 +extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__)); +# 617 "/usr/include/unistd.h" 3 4 +extern int setpgrp (void) __attribute__ ((__nothrow__)); +# 634 "/usr/include/unistd.h" 3 4 +extern __pid_t setsid (void) __attribute__ ((__nothrow__)); + + + + + + + +extern __uid_t getuid (void) __attribute__ ((__nothrow__)); + + +extern __uid_t geteuid (void) __attribute__ ((__nothrow__)); + + +extern __gid_t getgid (void) __attribute__ ((__nothrow__)); + + +extern __gid_t getegid (void) __attribute__ ((__nothrow__)); + + + + +extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__)) ; +# 667 "/usr/include/unistd.h" 3 4 +extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__)); + + + + +extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__)); + + + + +extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__)); + + + + + + +extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__)); + + + + +extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__)); + + + + +extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__)); +# 723 "/usr/include/unistd.h" 3 4 +extern __pid_t fork (void) __attribute__ ((__nothrow__)); + + + + + + +extern __pid_t vfork (void) __attribute__ ((__nothrow__)); + + + + + +extern char *ttyname (int __fd) __attribute__ ((__nothrow__)); + + + +extern int ttyname_r (int __fd, char *__buf, size_t __buflen) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ; + + + +extern int isatty (int __fd) __attribute__ ((__nothrow__)); + + + + + +extern int ttyslot (void) __attribute__ ((__nothrow__)); + + + + +extern int link (__const char *__from, __const char *__to) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; +# 769 "/usr/include/unistd.h" 3 4 +extern int symlink (__const char *__from, __const char *__to) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; + + + + +extern ssize_t readlink (__const char *__restrict __path, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; +# 792 "/usr/include/unistd.h" 3 4 +extern int unlink (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +# 801 "/usr/include/unistd.h" 3 4 +extern int rmdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + +extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__)); + + +extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__)); + + + + + + +extern char *getlogin (void); + + + + + + + +extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); + + + + +extern int setlogin (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +# 837 "/usr/include/unistd.h" 3 4 +# 1 "/usr/include/getopt.h" 1 3 4 +# 59 "/usr/include/getopt.h" 3 4 +extern char *optarg; +# 73 "/usr/include/getopt.h" 3 4 +extern int optind; + + + + +extern int opterr; + + + +extern int optopt; +# 152 "/usr/include/getopt.h" 3 4 +extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) + __attribute__ ((__nothrow__)); +# 838 "/usr/include/unistd.h" 2 3 4 + + + + + + + +extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int sethostname (__const char *__name, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern int sethostid (long int __id) __attribute__ ((__nothrow__)) ; + + + + + +extern int getdomainname (char *__name, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +extern int setdomainname (__const char *__name, size_t __len) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + + + + + +extern int vhangup (void) __attribute__ ((__nothrow__)); + + +extern int revoke (__const char *__file) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + + + + + + + +extern int profil (unsigned short int *__sample_buffer, size_t __size, + size_t __offset, unsigned int __scale) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int acct (__const char *__name) __attribute__ ((__nothrow__)); + + + +extern char *getusershell (void) __attribute__ ((__nothrow__)); +extern void endusershell (void) __attribute__ ((__nothrow__)); +extern void setusershell (void) __attribute__ ((__nothrow__)); + + + + + +extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__)) ; + + + + + + +extern int chroot (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1))); +# 923 "/usr/include/unistd.h" 3 4 +extern int fsync (int __fd); + + + + + + +extern long int gethostid (void); + + +extern void sync (void) __attribute__ ((__nothrow__)); + + + + +extern int getpagesize (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); + + + + +extern int getdtablesize (void) __attribute__ ((__nothrow__)); + + + + +extern int truncate (__const char *__file, __off_t __length) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; +# 970 "/usr/include/unistd.h" 3 4 +extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__)) ; +# 990 "/usr/include/unistd.h" 3 4 +extern int brk (void *__addr) __attribute__ ((__nothrow__)) ; + + + + + +extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__)); +# 1011 "/usr/include/unistd.h" 3 4 +extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__)); +# 1034 "/usr/include/unistd.h" 3 4 +extern int lockf (int __fd, int __cmd, __off_t __len) ; +# 1065 "/usr/include/unistd.h" 3 4 +extern int fdatasync (int __fildes); +# 1103 "/usr/include/unistd.h" 3 4 + +# 9 "ternary.h" 2 +# 1 "/usr/include/ctype.h" 1 3 4 +# 30 "/usr/include/ctype.h" 3 4 + +# 48 "/usr/include/ctype.h" 3 4 +enum +{ + _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), + _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), + _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), + _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), + _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), + _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), + _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), + _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), + _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), + _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), + _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), + _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) +}; +# 81 "/usr/include/ctype.h" 3 4 +extern __const unsigned short int **__ctype_b_loc (void) + __attribute__ ((__const)); +extern __const __int32_t **__ctype_tolower_loc (void) + __attribute__ ((__const)); +extern __const __int32_t **__ctype_toupper_loc (void) + __attribute__ ((__const)); +# 96 "/usr/include/ctype.h" 3 4 + + + + + + +extern int isalnum (int) __attribute__ ((__nothrow__)); +extern int isalpha (int) __attribute__ ((__nothrow__)); +extern int iscntrl (int) __attribute__ ((__nothrow__)); +extern int isdigit (int) __attribute__ ((__nothrow__)); +extern int islower (int) __attribute__ ((__nothrow__)); +extern int isgraph (int) __attribute__ ((__nothrow__)); +extern int isprint (int) __attribute__ ((__nothrow__)); +extern int ispunct (int) __attribute__ ((__nothrow__)); +extern int isspace (int) __attribute__ ((__nothrow__)); +extern int isupper (int) __attribute__ ((__nothrow__)); +extern int isxdigit (int) __attribute__ ((__nothrow__)); + + + +extern int tolower (int __c) __attribute__ ((__nothrow__)); + + +extern int toupper (int __c) __attribute__ ((__nothrow__)); + + +# 142 "/usr/include/ctype.h" 3 4 +extern int isascii (int __c) __attribute__ ((__nothrow__)); + + + +extern int toascii (int __c) __attribute__ ((__nothrow__)); + + + +extern int _toupper (int) __attribute__ ((__nothrow__)); +extern int _tolower (int) __attribute__ ((__nothrow__)); +# 190 "/usr/include/ctype.h" 3 4 +extern __inline int +__attribute__ ((__nothrow__)) tolower (int __c) +{ + return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; +} + +extern __inline int +__attribute__ ((__nothrow__)) toupper (int __c) +{ + return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; +} +# 323 "/usr/include/ctype.h" 3 4 + +# 10 "ternary.h" 2 +# 1 "debug.h" 1 + + + + +# 1 "/usr/include/errno.h" 1 3 4 +# 6 "debug.h" 2 +# 29 "debug.h" +static _Bool debug = 0; +# 11 "ternary.h" 2 +# 1 "safe.h" 1 + + + +# 1 "/usr/include/fcntl.h" 1 3 4 +# 30 "/usr/include/fcntl.h" 3 4 + + + + +# 1 "/usr/include/bits/fcntl.h" 1 3 4 +# 25 "/usr/include/bits/fcntl.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 26 "/usr/include/bits/fcntl.h" 2 3 4 +# 158 "/usr/include/bits/fcntl.h" 3 4 +struct flock + { + short int l_type; + short int l_whence; + + __off_t l_start; + __off_t l_len; + + + + + __pid_t l_pid; + }; +# 225 "/usr/include/bits/fcntl.h" 3 4 + +# 254 "/usr/include/bits/fcntl.h" 3 4 + +# 35 "/usr/include/fcntl.h" 2 3 4 +# 76 "/usr/include/fcntl.h" 3 4 +extern int fcntl (int __fd, int __cmd, ...); +# 85 "/usr/include/fcntl.h" 3 4 +extern int open (__const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1))); +# 130 "/usr/include/fcntl.h" 3 4 +extern int creat (__const char *__file, __mode_t __mode) __attribute__ ((__nonnull__ (1))); +# 176 "/usr/include/fcntl.h" 3 4 +extern int posix_fadvise (int __fd, __off_t __offset, __off_t __len, + int __advise) __attribute__ ((__nothrow__)); +# 198 "/usr/include/fcntl.h" 3 4 +extern int posix_fallocate (int __fd, __off_t __offset, __off_t __len); +# 220 "/usr/include/fcntl.h" 3 4 + +# 5 "safe.h" 2 + + + + +# 1 "/usr/include/sys/stat.h" 1 3 4 +# 39 "/usr/include/sys/stat.h" 3 4 +# 1 "/usr/include/time.h" 1 3 4 +# 40 "/usr/include/sys/stat.h" 2 3 4 +# 105 "/usr/include/sys/stat.h" 3 4 + + +# 1 "/usr/include/bits/stat.h" 1 3 4 +# 43 "/usr/include/bits/stat.h" 3 4 +struct stat + { + __dev_t st_dev; + + unsigned short int __pad1; + + + __ino_t st_ino; + + + + + __mode_t st_mode; + __nlink_t st_nlink; + + + + + __uid_t st_uid; + __gid_t st_gid; + + + + __dev_t st_rdev; + + unsigned short int __pad2; + + + __off_t st_size; + + + + __blksize_t st_blksize; + + __blkcnt_t st_blocks; +# 88 "/usr/include/bits/stat.h" 3 4 + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; +# 106 "/usr/include/bits/stat.h" 3 4 + unsigned long int __unused4; + unsigned long int __unused5; + + + + + }; +# 108 "/usr/include/sys/stat.h" 2 3 4 +# 209 "/usr/include/sys/stat.h" 3 4 +extern int stat (__const char *__restrict __file, + struct stat *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern int fstat (int __fd, struct stat *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); +# 261 "/usr/include/sys/stat.h" 3 4 +extern int lstat (__const char *__restrict __file, + struct stat *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); +# 282 "/usr/include/sys/stat.h" 3 4 +extern int chmod (__const char *__file, __mode_t __mode) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int lchmod (__const char *__file, __mode_t __mode) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int fchmod (int __fd, __mode_t __mode) __attribute__ ((__nothrow__)); +# 309 "/usr/include/sys/stat.h" 3 4 +extern __mode_t umask (__mode_t __mask) __attribute__ ((__nothrow__)); +# 318 "/usr/include/sys/stat.h" 3 4 +extern int mkdir (__const char *__path, __mode_t __mode) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +# 333 "/usr/include/sys/stat.h" 3 4 +extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +# 347 "/usr/include/sys/stat.h" 3 4 +extern int mkfifo (__const char *__path, __mode_t __mode) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); +# 397 "/usr/include/sys/stat.h" 3 4 +extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))); +extern int __xstat (int __ver, __const char *__filename, + struct stat *__stat_buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); +extern int __lxstat (int __ver, __const char *__filename, + struct stat *__stat_buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); +extern int __fxstatat (int __ver, int __fildes, __const char *__filename, + struct stat *__stat_buf, int __flag) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))); +# 440 "/usr/include/sys/stat.h" 3 4 +extern int __xmknod (int __ver, __const char *__path, __mode_t __mode, + __dev_t *__dev) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int __xmknodat (int __ver, int __fd, __const char *__path, + __mode_t __mode, __dev_t *__dev) + __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 5))); + + + + +extern __inline int +__attribute__ ((__nothrow__)) stat (__const char *__path, struct stat *__statbuf) +{ + return __xstat (3, __path, __statbuf); +} + + +extern __inline int +__attribute__ ((__nothrow__)) lstat (__const char *__path, struct stat *__statbuf) +{ + return __lxstat (3, __path, __statbuf); +} + + +extern __inline int +__attribute__ ((__nothrow__)) fstat (int __fd, struct stat *__statbuf) +{ + return __fxstat (3, __fd, __statbuf); +} +# 480 "/usr/include/sys/stat.h" 3 4 +extern __inline int +__attribute__ ((__nothrow__)) mknod (__const char *__path, __mode_t __mode, __dev_t __dev) +{ + return __xmknod (1, __path, __mode, &__dev); +} +# 532 "/usr/include/sys/stat.h" 3 4 + +# 10 "safe.h" 2 + + +typedef unsigned char uchar_t; + +void *xalloc(size_t size); +FILE *xfopen(const char *path, const char *mode); +int32_t xgetc(FILE *fp); +int32_t xputc(uchar_t c, FILE *fp); +void xfflush(FILE *fp); +void xfclose(FILE *fp); +void *xmmap(void *addr, size_t len, int prot, int flags, int fildes, off_t offset); +void *xmmapf(char *path, size_t *size); +# 12 "ternary.h" 2 +# 26 "ternary.h" +struct node { + uint32_t block; + uint32_t lt, eq, gt; + char c; +}; + +struct index_hdr { + uint32_t nodes; + uint32_t node_size; + char cmd[1024]; +}; + +typedef char compact_str[13]; +typedef _Bool resultf(char *, uint32_t); + +struct cnode { + uint32_t block; + compact_str str; +}; +# 2 "indexer.c" 2 + +static uint32_t storepos = 0; +struct node store[(sizeof(struct node) * 1000 * 1000 * 5)]; + +char line[1024]; + +void insert(struct node *node, char *str, uint32_t block) { + int cmp = ((str[0]) > (node->c) ? 1 : ((str[0]) == (node->c) ? 0 : -1)); + (debug ? fprintf(stderr, "debug: " "insert %d, %s, %d" "\n", node - store, str, block) : 0); + + if(!node->c) { + bzero(node, sizeof(node)); + node->c = str[0]; + if(str[1]) { + node->eq = ++storepos; + insert((store + (storepos)), str + 1, block); + } else node->block = ((block) << 1); + } else if(str[0]) { + if(((cmp) < 0 ? (node)->lt : ((cmp) > 0 ? (node)->gt : (node)->eq))) { + if(!cmp) { + if(str[1]) + insert((store + (((cmp) < 0 ? (node)->lt : ((cmp) > 0 ? (node)->gt : (node)->eq)))), str + 1, block); + else + node->block = ((block) << 1); + } else + insert((store + (((cmp) < 0 ? (node)->lt : ((cmp) > 0 ? (node)->gt : (node)->eq)))), str, block); + } else if(!(cmp == 0 && !str[1])) { + + ((cmp) < 0 ? (node)->lt : ((cmp) > 0 ? (node)->gt : (node)->eq)) = ++storepos; + insert((store + (storepos)), cmp ? str : str + 1, block); + } else { + node->block = ((block) << 1); + } + } +} + +void collapse(struct node *node) { + compact_str s; + struct node *ptr; + uint32_t offset; + struct cnode *cnode; + int i; + uint32_t last_block; + + offset = node - store; + i = 0; + do { + ptr = (store + (offset)); + s[i++] = ptr->c; + last_block = ptr->block; + if(ptr != node) ptr->block = -1; + } while(offset = ptr->eq); + s[i] = '\0'; + + cnode = (struct cnode *) node; + cnode->block = last_block | 1; + __builtin_strncpy (cnode->str, s, sizeof(compact_str)); +} + +int compact(struct node *node, _Bool eager) { + int r; + + if(node->lt || node->gt) { + if(node->lt) compact((store + (node->lt)), 1); + if(node->gt) compact((store + (node->gt)), 1); + } + + if(node->eq) { + r = compact((store + (node->eq)), node->lt || node->gt); + + if(r > 0 && (r + 2 == sizeof(compact_str) || eager)) { + collapse((store + (node->eq))); + return -1; + } + + if(node->lt || node->gt || (node->eq && node->block)) + return -1; + else + return r >= 0 ? r + 1 : r; + } else { + if(!node->eq && !node->lt && !node->gt) + return 0; + else + return -1; + } +} + +void dump_index(char *file, int argc, char **argv) { + struct index_hdr h; + int i, j = 0; + + h.nodes = storepos + 1; + h.node_size = sizeof(struct node); + + for(i = 0; i < argc; i++) { + j += snprintf(h.cmd + j, 1024 - j, "%s", argv[i]); + if(i + 1 < argc) j += snprintf(h.cmd + j, 1024 - j, " "); + } + + FILE *fp = xfopen(file, "w"); + + fwrite(&h, sizeof(struct index_hdr), 1, fp); + fwrite(store, sizeof(struct node), storepos + 1, fp); + fclose(fp); +} + +int slots_in_use() { + int i, in_use = 0; + for(i = 0; i < storepos; i++) { + struct node *n = store + i; + if(n->block != -1) + in_use++; + } + return in_use; +} + +void usage(char *name) { + fprintf(stderr, "%s -f <indexFile> [-c] [-d]\n", name); + exit(-1); +} + +int main(int argc, char **argv) { + char str[40]; + char *foo, indexFile[1024], ch; + uint32_t block = 0; + uint32_t inserted = 0; + _Bool doCompact = 0; + + while ((ch = getopt(argc, argv, "cdf:h")) != -1) { + switch (ch) { + case 'c': + doCompact = 1; + break; + case 'd': + debug = 1; + break; + case 'f': + strcpy(indexFile, optarg); + break; + case 'h': + default: + usage(argv[0]); + } + } + + if(!indexFile) + usage(argv[0]); + + while(fgets(line, 1024, stdin)) { + if((storepos + 1) >= (sizeof(struct node) * 1000 * 1000 * 5)) + do { fprintf(stderr, "no more index space"); fprintf(stderr, " (errno %d: %s)\n", (*__errno_location ()), strerror((*__errno_location ()))); exit(1); } while(0); + + foo = (__extension__ (__builtin_constant_p ('|') && !__builtin_constant_p (line) && ('|') == '\0' ? (char *) __rawmemchr (line, '|') : __builtin_strchr (line, '|'))); + foo[0] = '\0'; + foo++; + + __builtin_strncpy (str, line, 40 - 1); + str[40] = '\0'; + block = atoi(foo); + + (debug ? fprintf(stderr, "debug: " "inserting '%s' with block %d" "\n", str, block) : 0); + insert(store, str, block); + inserted++; + } + + if(doCompact) compact(store, 1); + + dump_index(indexFile, argc, argv); + + printf("Inserted %d entries using %d slots\n", inserted, storepos); + + if(doCompact) + printf("After compacting, using %d slots\n", slots_in_use()); + + return 0; +} |